rubygems-mirror 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 461dc98f6c8403d54cbeb5a111627cafd5cdb594
4
- data.tar.gz: 06dc9f69498a7a36f1eba4ac2c30c24bbcb5bd16
2
+ SHA256:
3
+ metadata.gz: 158a185e1f54f87754fd14e6ef82e4def01a496a871eb7994974c08f8cd0d2dc
4
+ data.tar.gz: 98b00c4f9a37b00a4e04b9ebeb9247b586160d345a077e4f36c2f28383246e76
5
5
  SHA512:
6
- metadata.gz: 2b14b48eb67fc2ae987987db40b6b70a9c708fe301d7be10563445fa6dfca7c176c43424d0e54f0145cbf4ea532145321b9479aed1189ae75ac582aa49f7fb52
7
- data.tar.gz: ecee0c9751f96129eeded015b43d9d548b98f1034ef6d7530173318963c8939db66e3395ff0175218ad7817a3a68ba35b97bf4b6b27463cbc5bd77ad49ab923e
6
+ metadata.gz: a9cfe05c56ea718f68d4d85d1485940e3505c234120f4a456fff76bc055d52bad61b1e7f071fa13c5cf22866ecfab75425b99fe4a7e3411aae78ad6c6124378c
7
+ data.tar.gz: e7be5afba68fc47ecb1329718fd8392323fc04a2c9880cf0e58af13c43e249aaac3af40cbd405e1ff4c8005a4c17cc951d9ce7dd07e1c794a0f17a270c51e794
@@ -1,3 +1,8 @@
1
+ === 1.2.0 / 2018-05-10
2
+
3
+ * Add only-latest mode with RUBYGEMS_MIRROR_ONLY_LATEST environment variable.
4
+ * Check existence of gems whose name starts with dot
5
+
1
6
  === 1.1.0 / 2015-07-28
2
7
 
3
8
  * Documentation corrections and updates
@@ -21,6 +21,7 @@ will maintain stability in master.
21
21
 
22
22
  * rubygems
23
23
  * net/http/persistent
24
+ * hoe
24
25
 
25
26
  == USAGE
26
27
 
data/Rakefile CHANGED
@@ -1,5 +1,3 @@
1
- #!/usr/bin/env rake
2
-
3
1
  require 'hoe'
4
2
  Hoe.plugin :doofus, :git
5
3
 
@@ -5,7 +5,7 @@ class Gem::Mirror
5
5
  autoload :Fetcher, 'rubygems/mirror/fetcher'
6
6
  autoload :Pool, 'rubygems/mirror/pool'
7
7
 
8
- VERSION = '1.1.0'
8
+ VERSION = '1.2.0'
9
9
 
10
10
  SPECS_FILES = [ "specs.#{Gem.marshal_version}", "prerelease_specs.#{Gem.marshal_version}", "latest_specs.#{Gem.marshal_version}" ]
11
11
 
@@ -47,15 +47,30 @@ class Gem::Mirror
47
47
  gems += Marshal.load(File.read(to(sf)))
48
48
  end
49
49
 
50
- gems.map! do |name, ver, plat|
51
- # If the platform is ruby, it is not in the gem name
52
- "#{name}-#{ver}#{"-#{plat}" unless plat == RUBY}.gem"
50
+ if ENV["RUBYGEMS_MIRROR_ONLY_LATEST"].to_s.upcase != "TRUE"
51
+ gems.map! do |name, ver, plat|
52
+ # If the platform is ruby, it is not in the gem name
53
+ "#{name}-#{ver}#{"-#{plat}" unless plat == RUBY}.gem"
54
+ end
55
+ else
56
+ latest_gems = {}
57
+
58
+ gems.each do |name, ver, plat|
59
+ next if ver.prerelease?
60
+ next unless plat == RUBY
61
+ latest_gems[name] = ver
62
+ end
63
+
64
+ gems = latest_gems.map do |name, ver|
65
+ "#{name}-#{ver}.gem"
66
+ end
53
67
  end
68
+
54
69
  gems
55
70
  end
56
71
 
57
72
  def existing_gems
58
- Dir[to('gems', '*.gem')].entries.map { |f| File.basename(f) }
73
+ Dir.glob(to('gems', '*.gem'), File::FNM_DOTMATCH).entries.map { |f| File.basename(f) }
59
74
  end
60
75
 
61
76
  def existing_gemspecs
@@ -82,10 +97,12 @@ class Gem::Mirror
82
97
  end
83
98
  end
84
99
 
85
- gemspecs_to_fetch.each do |g_spec|
86
- @pool.job do
87
- @fetcher.fetch(from("quick/Marshal.#{Gem.marshal_version}", g_spec), to("quick/Marshal.#{Gem.marshal_version}", g_spec))
88
- yield if block_given?
100
+ if ENV["RUBYGEMS_MIRROR_ONLY_LATEST"].to_s.upcase != "TRUE"
101
+ gemspecs_to_fetch.each do |g_spec|
102
+ @pool.job do
103
+ @fetcher.fetch(from("quick/Marshal.#{Gem.marshal_version}", g_spec), to("quick/Marshal.#{Gem.marshal_version}", g_spec))
104
+ yield if block_given?
105
+ end
89
106
  end
90
107
  end
91
108
 
@@ -23,10 +23,8 @@ class Gem::Mirror::Fetcher
23
23
  req.add_field 'If-Modified-Since', modified_time if modified_time
24
24
 
25
25
  retries = @opts[:retries]
26
-
26
+
27
27
  begin
28
- puts "get: #{uri}, #{retries}"
29
-
30
28
  # Net::HTTP will throw an exception on things like http timeouts.
31
29
  # Therefore some generic error handling is needed in case no response
32
30
  # is returned so the whole mirror operation doesn't abort prematurely.
metadata CHANGED
@@ -1,71 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-mirror
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Tucker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-28 00:00:00.000000000 Z
11
+ date: 2018-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-http-persistent
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.9'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.9'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rdoc
28
+ name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '4.0'
33
+ version: '5.7'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '4.0'
40
+ version: '5.7'
41
41
  - !ruby/object:Gem::Dependency
42
- name: minitest
42
+ name: rdoc
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '5.7'
47
+ version: '4.0'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '6'
48
51
  type: :development
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
- - - ~>
55
+ - - ">="
53
56
  - !ruby/object:Gem::Version
54
- version: '5.7'
57
+ version: '4.0'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '6'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: hoe
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - ~>
65
+ - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: '3.13'
67
+ version: '3.17'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - ~>
72
+ - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: '3.13'
74
+ version: '3.17'
69
75
  description: |-
70
76
  This is an update to the old `gem mirror` command. It uses net/http/persistent
71
77
  and threads to grab the mirror set a little faster than the original.
@@ -81,7 +87,7 @@ extra_rdoc_files:
81
87
  - Manifest.txt
82
88
  - README.rdoc
83
89
  files:
84
- - .autotest
90
+ - ".autotest"
85
91
  - CHANGELOG.rdoc
86
92
  - Manifest.txt
87
93
  - README.rdoc
@@ -93,30 +99,29 @@ files:
93
99
  - lib/rubygems/mirror/test_setup.rb
94
100
  - lib/rubygems_plugin.rb
95
101
  - test/test_gem_mirror.rb
96
- - .gemtest
97
102
  homepage: https://github.com/rubygems/rubygems-mirror
98
103
  licenses:
99
104
  - MIT
100
105
  metadata: {}
101
106
  post_install_message:
102
107
  rdoc_options:
103
- - --main
108
+ - "--main"
104
109
  - README.rdoc
105
110
  require_paths:
106
111
  - lib
107
112
  required_ruby_version: !ruby/object:Gem::Requirement
108
113
  requirements:
109
- - - '>='
114
+ - - ">="
110
115
  - !ruby/object:Gem::Version
111
116
  version: '0'
112
117
  required_rubygems_version: !ruby/object:Gem::Requirement
113
118
  requirements:
114
- - - '>='
119
+ - - ">="
115
120
  - !ruby/object:Gem::Version
116
121
  version: '0'
117
122
  requirements: []
118
123
  rubyforge_project:
119
- rubygems_version: 2.0.3
124
+ rubygems_version: 2.7.6
120
125
  signing_key:
121
126
  specification_version: 4
122
127
  summary: This is an update to the old `gem mirror` command
data/.gemtest DELETED
File without changes