hoe-deveiate 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +3 -0
- data.tar.gz.sig +0 -0
- data/History.rdoc +6 -0
- data/Rakefile +6 -3
- data/lib/hoe/deveiate.rb +86 -2
- metadata +37 -60
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d8fe057e89823489d827d290efff9707daf45aa2
|
4
|
+
data.tar.gz: 66fa9314e448b3760ec84554d65421307eaa80b1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d209dd9021612a7c8cc8ccd0565ff631c5edd7a48d98e0b6dcba670eafa48b68087207eaa867cf871e2b90fc1c0858ddfa675ec3230a9feb38eab2358d970a4c
|
7
|
+
data.tar.gz: 594f80f10ace333185ad58394b3b7e52d41224b2d9796737293be33cc7c30281b570f32917c4d2cfcdb7b21dc0c3b694a044066f8edc6e43d88fd050f847175e
|
checksums.yaml.gz.sig
ADDED
data.tar.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -21,14 +21,14 @@ $hoespec = Hoe.spec 'hoe-deveiate' do
|
|
21
21
|
|
22
22
|
self.developer 'Michael Granger', 'ged@FaerieMUD.org'
|
23
23
|
|
24
|
-
self.dependency 'hoe', '~> 3.
|
24
|
+
self.dependency 'hoe', '~> 3.6'
|
25
25
|
self.dependency 'hoe-highline', '~> 0.0'
|
26
26
|
self.dependency 'hoe-mercurial', '~> 1.4'
|
27
27
|
self.dependency 'mail', '~> 2.5'
|
28
|
-
self.dependency 'rspec', '~> 2.
|
28
|
+
self.dependency 'rspec', '~> 2.14'
|
29
29
|
self.dependency 'rdoc', '~> 4.0'
|
30
30
|
|
31
|
-
self.
|
31
|
+
self.license 'BSD'
|
32
32
|
self.require_ruby_version( '>=1.8.7' )
|
33
33
|
# self.rdoc_locations << "deveiate:/usr/local/www/public/code/#{remote_rdoc_dir}"
|
34
34
|
end
|
@@ -41,3 +41,6 @@ end
|
|
41
41
|
|
42
42
|
ENV['VERSION'] ||= $hoespec.spec.version.to_s
|
43
43
|
|
44
|
+
# Ensure the specs pass before checking in
|
45
|
+
task 'hg:precheckin' => ['deps:gemset', :check_history, :check_manifest]
|
46
|
+
|
data/lib/hoe/deveiate.rb
CHANGED
@@ -5,6 +5,7 @@ require 'hoe'
|
|
5
5
|
require 'mail'
|
6
6
|
require 'net/smtp'
|
7
7
|
require 'openssl'
|
8
|
+
require 'pathname'
|
8
9
|
|
9
10
|
Hoe.plugin( :highline, :mercurial )
|
10
11
|
|
@@ -14,10 +15,10 @@ Hoe.plugin( :highline, :mercurial )
|
|
14
15
|
module Hoe::Deveiate
|
15
16
|
|
16
17
|
# Library version constant
|
17
|
-
VERSION = '0.
|
18
|
+
VERSION = '0.3.0'
|
18
19
|
|
19
20
|
# Version-control revision constant
|
20
|
-
REVISION = %q$Revision:
|
21
|
+
REVISION = %q$Revision: 674e3312ed6a $
|
21
22
|
|
22
23
|
# Regexp to match trailing whitespace
|
23
24
|
TRAILING_WHITESPACE_RE = /[ \t]+$/
|
@@ -25,6 +26,9 @@ module Hoe::Deveiate
|
|
25
26
|
# Emoji for style advisories
|
26
27
|
SADFACE = "\u{1f622}"
|
27
28
|
|
29
|
+
# The name of the RVM gemset
|
30
|
+
RVM_GEMSET = Pathname( '.rvm.gems' )
|
31
|
+
|
28
32
|
|
29
33
|
### Set up defaults
|
30
34
|
def initialize_deveiate
|
@@ -181,6 +185,32 @@ module Hoe::Deveiate
|
|
181
185
|
end
|
182
186
|
end
|
183
187
|
|
188
|
+
namespace :deps do
|
189
|
+
|
190
|
+
if RVM_GEMSET.exist?
|
191
|
+
desc "Update the project's RVM gemset"
|
192
|
+
task :gemset do
|
193
|
+
deps = make_gemset_recommendations( $hoespec.spec )
|
194
|
+
updates = deps.values.compact
|
195
|
+
|
196
|
+
if !updates.empty?
|
197
|
+
$stderr.puts "%d gems in the current gemset have newer matching versions:" %
|
198
|
+
[ updates.length ]
|
199
|
+
deps.each do |old, newer|
|
200
|
+
next unless newer
|
201
|
+
$stderr.puts " #{old} -> #{newer}"
|
202
|
+
end
|
203
|
+
|
204
|
+
if ask( "Update? " )
|
205
|
+
update_rvm_gemset( deps )
|
206
|
+
run 'rvm', 'gemset', 'import', RVM_GEMSET.to_s
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
end
|
213
|
+
|
184
214
|
### Make the ChangeLog update if the repo has changed since it was last built
|
185
215
|
file '.hg/branch'
|
186
216
|
file 'ChangeLog' => '.hg/branch' do |task|
|
@@ -193,6 +223,60 @@ module Hoe::Deveiate
|
|
193
223
|
|
194
224
|
end
|
195
225
|
|
226
|
+
|
227
|
+
### Update the contents of .rvm.gems to include the latest gems.
|
228
|
+
def update_rvm_gemset( deps )
|
229
|
+
RVM_GEMSET.open( File::WRONLY|File::TRUNC, 0644 ) do |fh|
|
230
|
+
deps.sort_by {|dep, _| dep.name }.each do |dep, newer|
|
231
|
+
if newer
|
232
|
+
fh.puts( dep.name + ' -v' + newer.to_s )
|
233
|
+
else
|
234
|
+
mspec = dep.matching_specs.last
|
235
|
+
fh.puts( dep.name + ' -v' + mspec.version.to_s )
|
236
|
+
end
|
237
|
+
end
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
|
242
|
+
### Print out the list of dependency calls that should be included in the
|
243
|
+
### Hoespec in the Rakefile.
|
244
|
+
def print_hoespec_dependencies( deps )
|
245
|
+
deps.each_key do |dep|
|
246
|
+
$stderr.puts "self.dependency '%s', '%s'" % [ dep.name, dep.version.to_s ]
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
|
251
|
+
### Return a Hash of Gem::Dependency objects, the keys of which are dependencies
|
252
|
+
### in the current gemspec, and the values are which are either +nil+ if the
|
253
|
+
### current gemset contains the latest version of the gem which matches the
|
254
|
+
### dependency, or the newer version if there is a newer one.
|
255
|
+
def make_gemset_recommendations( gemspec )
|
256
|
+
recommendations = {}
|
257
|
+
fetcher = Gem::SpecFetcher.fetcher
|
258
|
+
|
259
|
+
gemspec.dependencies.each do |dep|
|
260
|
+
newer_dep = nil
|
261
|
+
if (( mspec = dep.matching_specs.last ))
|
262
|
+
newer_dep = Gem::Dependency.new( dep.name, dep.requirement, "> #{mspec.version}" )
|
263
|
+
else
|
264
|
+
newer_dep = Gem::Dependency.new( dep.name, dep.requirement )
|
265
|
+
end
|
266
|
+
remotes, _ = fetcher.search_for_dependency( newer_dep )
|
267
|
+
remotes.map! {|gem, _| gem.version }
|
268
|
+
|
269
|
+
if remotes.empty?
|
270
|
+
recommendations[ dep ] = nil
|
271
|
+
else
|
272
|
+
recommendations[ dep ] = remotes.last
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
276
|
+
return recommendations
|
277
|
+
end
|
278
|
+
|
279
|
+
|
196
280
|
### Define tasks used to announce new releases
|
197
281
|
def define_announce_tasks
|
198
282
|
|
metadata
CHANGED
@@ -1,65 +1,54 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoe-deveiate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Michael Granger
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain:
|
12
|
-
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
dTVqbjk4cERCNGZxCjVsOHdNTVUwWGRtcXgxVll2eXNWQWpWRlZDL1c0Tk52
|
36
|
-
bG1nKzJtRWdTVlpQNUs2VGM5cURoM2VNUUlub1l3NmgKdDFZQTZSc1VKSHA1
|
37
|
-
dkdReWhQMXgzNFlwTEFhbHk4aWNibnMvOFBxT2Y3T3NuOXp0bWc4Yk9NSkNl
|
38
|
-
YjMyZVFMago2bUtDd2pwZWd5dEUwb2lmWGZGOGs3NUE5MTA1Y0JuTmlNWk9l
|
39
|
-
MXRYaXFZYy9leENnV3ZiZ2d1cnpET2NSa1p1Ci9ZU3VzYWlEWEhLVTJPM0Fr
|
40
|
-
YzNodEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
41
|
-
date: 2013-03-03 00:00:00.000000000 Z
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDbDCCAlSgAwIBAgIBATANBgkqhkiG9w0BAQUFADA+MQwwCgYDVQQDDANnZWQx
|
14
|
+
GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
|
15
|
+
HhcNMTMwMjI3MTY0ODU4WhcNMTQwMjI3MTY0ODU4WjA+MQwwCgYDVQQDDANnZWQx
|
16
|
+
GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
|
17
|
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDb92mkyYwuGBg1oRxt2tkH
|
18
|
+
+Uo3LAsaL/APBfSLzy8o3+B3AUHKCjMUaVeBoZdWtMHB75X3VQlvXfZMyBxj59Vo
|
19
|
+
cDthr3zdao4HnyrzAIQf7BO5Y8KBwVD+yyXCD/N65TTwqsQnO3ie7U5/9ut1rnNr
|
20
|
+
OkOzAscMwkfQxBkXDzjvAWa6UF4c5c9kR/T79iA21kDx9+bUMentU59aCJtUcbxa
|
21
|
+
7kcKJhPEYsk4OdxR9q2dphNMFDQsIdRO8rywX5FRHvcb+qnXC17RvxLHtOjysPtp
|
22
|
+
EWsYoZMxyCDJpUqbwoeiM+tAHoz2ABMv3Ahie3Qeb6+MZNAtMmaWfBx3dg2u+/WN
|
23
|
+
AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBSZ0hCV
|
24
|
+
qoHr122fGKelqffzEQBhszAcBgNVHREEFTATgRFnZWRARmFlcmllTVVELm9yZzAc
|
25
|
+
BgNVHRIEFTATgRFnZWRARmFlcmllTVVELm9yZzANBgkqhkiG9w0BAQUFAAOCAQEA
|
26
|
+
Vlcfyq6GwyE8i0QuFPCeVOwJaneSvcwx316DApjy9/tt2YD2HomLbtpXtji5QXor
|
27
|
+
ON6oln4tWBIB3Klbr3szq5oR3Rc1D02SaBTalxSndp4M6UkW9hRFu5jn98pDB4fq
|
28
|
+
5l8wMMU0Xdmqx1VYvysVAjVFVC/W4NNvlmg+2mEgSVZP5K6Tc9qDh3eMQInoYw6h
|
29
|
+
t1YA6RsUJHp5vGQyhP1x34YpLAaly8icbns/8PqOf7Osn9ztmg8bOMJCeb32eQLj
|
30
|
+
6mKCwjpegytE0oifXfF8k75A9105cBnNiMZOe1tXiqYc/exCgWvbggurzDOcRkZu
|
31
|
+
/YSusaiDXHKU2O3Akc3htA==
|
32
|
+
-----END CERTIFICATE-----
|
33
|
+
date: 2013-08-16 00:00:00.000000000 Z
|
42
34
|
dependencies:
|
43
35
|
- !ruby/object:Gem::Dependency
|
44
36
|
name: hoe
|
45
37
|
requirement: !ruby/object:Gem::Requirement
|
46
|
-
none: false
|
47
38
|
requirements:
|
48
39
|
- - ~>
|
49
40
|
- !ruby/object:Gem::Version
|
50
|
-
version: 3.
|
41
|
+
version: '3.6'
|
51
42
|
type: :runtime
|
52
43
|
prerelease: false
|
53
44
|
version_requirements: !ruby/object:Gem::Requirement
|
54
|
-
none: false
|
55
45
|
requirements:
|
56
46
|
- - ~>
|
57
47
|
- !ruby/object:Gem::Version
|
58
|
-
version: 3.
|
48
|
+
version: '3.6'
|
59
49
|
- !ruby/object:Gem::Dependency
|
60
50
|
name: hoe-highline
|
61
51
|
requirement: !ruby/object:Gem::Requirement
|
62
|
-
none: false
|
63
52
|
requirements:
|
64
53
|
- - ~>
|
65
54
|
- !ruby/object:Gem::Version
|
@@ -67,7 +56,6 @@ dependencies:
|
|
67
56
|
type: :runtime
|
68
57
|
prerelease: false
|
69
58
|
version_requirements: !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
59
|
requirements:
|
72
60
|
- - ~>
|
73
61
|
- !ruby/object:Gem::Version
|
@@ -75,7 +63,6 @@ dependencies:
|
|
75
63
|
- !ruby/object:Gem::Dependency
|
76
64
|
name: hoe-mercurial
|
77
65
|
requirement: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
66
|
requirements:
|
80
67
|
- - ~>
|
81
68
|
- !ruby/object:Gem::Version
|
@@ -83,7 +70,6 @@ dependencies:
|
|
83
70
|
type: :runtime
|
84
71
|
prerelease: false
|
85
72
|
version_requirements: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
73
|
requirements:
|
88
74
|
- - ~>
|
89
75
|
- !ruby/object:Gem::Version
|
@@ -91,7 +77,6 @@ dependencies:
|
|
91
77
|
- !ruby/object:Gem::Dependency
|
92
78
|
name: mail
|
93
79
|
requirement: !ruby/object:Gem::Requirement
|
94
|
-
none: false
|
95
80
|
requirements:
|
96
81
|
- - ~>
|
97
82
|
- !ruby/object:Gem::Version
|
@@ -99,7 +84,6 @@ dependencies:
|
|
99
84
|
type: :runtime
|
100
85
|
prerelease: false
|
101
86
|
version_requirements: !ruby/object:Gem::Requirement
|
102
|
-
none: false
|
103
87
|
requirements:
|
104
88
|
- - ~>
|
105
89
|
- !ruby/object:Gem::Version
|
@@ -107,23 +91,20 @@ dependencies:
|
|
107
91
|
- !ruby/object:Gem::Dependency
|
108
92
|
name: rspec
|
109
93
|
requirement: !ruby/object:Gem::Requirement
|
110
|
-
none: false
|
111
94
|
requirements:
|
112
95
|
- - ~>
|
113
96
|
- !ruby/object:Gem::Version
|
114
|
-
version: '2.
|
97
|
+
version: '2.14'
|
115
98
|
type: :runtime
|
116
99
|
prerelease: false
|
117
100
|
version_requirements: !ruby/object:Gem::Requirement
|
118
|
-
none: false
|
119
101
|
requirements:
|
120
102
|
- - ~>
|
121
103
|
- !ruby/object:Gem::Version
|
122
|
-
version: '2.
|
104
|
+
version: '2.14'
|
123
105
|
- !ruby/object:Gem::Dependency
|
124
106
|
name: rdoc
|
125
107
|
requirement: !ruby/object:Gem::Requirement
|
126
|
-
none: false
|
127
108
|
requirements:
|
128
109
|
- - ~>
|
129
110
|
- !ruby/object:Gem::Version
|
@@ -131,17 +112,14 @@ dependencies:
|
|
131
112
|
type: :runtime
|
132
113
|
prerelease: false
|
133
114
|
version_requirements: !ruby/object:Gem::Requirement
|
134
|
-
none: false
|
135
115
|
requirements:
|
136
116
|
- - ~>
|
137
117
|
- !ruby/object:Gem::Version
|
138
118
|
version: '4.0'
|
139
|
-
description:
|
140
|
-
my Open
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
them.'
|
119
|
+
description: |-
|
120
|
+
A collection of Rake tasks and utility functions I use to maintain my Open
|
121
|
+
Source projects. It's really only useful if you want to help maintain one of
|
122
|
+
them.
|
145
123
|
email:
|
146
124
|
- ged@FaerieMUD.org
|
147
125
|
executables: []
|
@@ -160,6 +138,7 @@ files:
|
|
160
138
|
homepage: http://deveiate.org/hoe-deveiate
|
161
139
|
licenses:
|
162
140
|
- BSD
|
141
|
+
metadata: {}
|
163
142
|
post_install_message:
|
164
143
|
rdoc_options:
|
165
144
|
- --main
|
@@ -167,22 +146,20 @@ rdoc_options:
|
|
167
146
|
require_paths:
|
168
147
|
- lib
|
169
148
|
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
149
|
requirements:
|
172
|
-
- -
|
150
|
+
- - '>='
|
173
151
|
- !ruby/object:Gem::Version
|
174
152
|
version: 1.8.7
|
175
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
|
-
none: false
|
177
154
|
requirements:
|
178
|
-
- -
|
155
|
+
- - '>='
|
179
156
|
- !ruby/object:Gem::Version
|
180
157
|
version: '0'
|
181
158
|
requirements: []
|
182
159
|
rubyforge_project: hoe-deveiate
|
183
|
-
rubygems_version:
|
160
|
+
rubygems_version: 2.0.5
|
184
161
|
signing_key:
|
185
|
-
specification_version:
|
162
|
+
specification_version: 4
|
186
163
|
summary: A collection of Rake tasks and utility functions I use to maintain my Open
|
187
164
|
Source projects
|
188
165
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|