hen 0.4.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +7 -0
- data/README +1 -1
- data/bin/hen +2 -2
- data/lib/hen/cli.rb +1 -2
- data/lib/hen/dsl.rb +3 -3
- data/lib/hen/version.rb +1 -1
- data/lib/hens/gem.rake +67 -6
- metadata +9 -9
data/ChangeLog
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
= Revision history for hen
|
2
2
|
|
3
|
+
== 0.4.5 [2012-01-20]
|
4
|
+
|
5
|
+
* Publish native Gems.
|
6
|
+
* Build and publish Meta-Gems.
|
7
|
+
* Renamed Meta-Gem option 'extras' to 'dependencies'.
|
8
|
+
* Fixed Ruby warnings.
|
9
|
+
|
3
10
|
== 0.4.4 [2012-01-18]
|
4
11
|
|
5
12
|
* Some extension task improvements.
|
data/README
CHANGED
data/bin/hen
CHANGED
@@ -57,7 +57,7 @@ abort USAGE if ARGV.empty?
|
|
57
57
|
|
58
58
|
EXAMPLE = File.expand_path('../../example', __FILE__)
|
59
59
|
|
60
|
-
case
|
60
|
+
case arg = ARGV.shift
|
61
61
|
when 'help', '-h', '--help'
|
62
62
|
puts USAGE
|
63
63
|
puts
|
@@ -173,5 +173,5 @@ case action = ARGV.shift
|
|
173
173
|
# a particular hen/task is currently available).
|
174
174
|
abort 'Sorry, not yet available...'
|
175
175
|
else
|
176
|
-
abort "Illegal action: #{
|
176
|
+
abort "Illegal action: #{arg}\n#{USAGE}"
|
177
177
|
end
|
data/lib/hen/cli.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# #
|
4
4
|
# hen -- Just a Rake helper #
|
5
5
|
# #
|
6
|
-
# Copyright (C) 2007-
|
6
|
+
# Copyright (C) 2007-2012 University of Cologne, #
|
7
7
|
# Albertus-Magnus-Platz, #
|
8
8
|
# 50923 Cologne, Germany #
|
9
9
|
# #
|
@@ -26,7 +26,6 @@
|
|
26
26
|
###############################################################################
|
27
27
|
#++
|
28
28
|
|
29
|
-
require 'hen'
|
30
29
|
require 'etc'
|
31
30
|
require 'erb'
|
32
31
|
require 'highline/import'
|
data/lib/hen/dsl.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# #
|
4
4
|
# A component of hen, the Rake helper. #
|
5
5
|
# #
|
6
|
-
# Copyright (C) 2007-
|
6
|
+
# Copyright (C) 2007-2012 University of Cologne, #
|
7
7
|
# Albertus-Magnus-Platz, #
|
8
8
|
# 50923 Cologne, Germany #
|
9
9
|
# #
|
@@ -26,8 +26,8 @@
|
|
26
26
|
###############################################################################
|
27
27
|
#++
|
28
28
|
|
29
|
-
require 'hen'
|
30
29
|
require 'nuggets/file/which'
|
30
|
+
require 'nuggets/object/singleton_class'
|
31
31
|
|
32
32
|
class Hen
|
33
33
|
|
@@ -323,7 +323,7 @@ class Hen
|
|
323
323
|
def extend_object(object, *blocks)
|
324
324
|
blocks << Proc.new if block_given?
|
325
325
|
|
326
|
-
singleton_class =
|
326
|
+
singleton_class = object.singleton_class
|
327
327
|
|
328
328
|
blocks.compact.reverse_each { |block|
|
329
329
|
singleton_class.class_eval(&block)
|
data/lib/hen/version.rb
CHANGED
data/lib/hens/gem.rake
CHANGED
@@ -41,7 +41,7 @@ Hen :gem => :rdoc do
|
|
41
41
|
|
42
42
|
extension_options = gem_options.delete(:extension) || {}
|
43
43
|
|
44
|
-
meta_gems = Array(gem_options.delete(:meta))
|
44
|
+
meta_gems, meta_gem_specs = Array(gem_options.delete(:meta)), []
|
45
45
|
|
46
46
|
gem_name = gem_options[:name] ||= project_name(rf_config)
|
47
47
|
abort 'Gem name missing' unless gem_name
|
@@ -165,7 +165,7 @@ Hen :gem => :rdoc do
|
|
165
165
|
|
166
166
|
noauto = meta_gem_options.delete(:noauto)
|
167
167
|
|
168
|
-
meta_gem_spec = Gem::Specification.new { |spec|
|
168
|
+
meta_gem_specs << meta_gem_spec = Gem::Specification.new { |spec|
|
169
169
|
|
170
170
|
### inherit from original spec
|
171
171
|
|
@@ -189,7 +189,7 @@ Hen :gem => :rdoc do
|
|
189
189
|
|
190
190
|
[
|
191
191
|
[gem_options[:name], gem_options[:version]],
|
192
|
-
*Array(meta_gem_options.delete(:
|
192
|
+
*Array(meta_gem_options.delete(:dependencies))
|
193
193
|
].each { |dependency|
|
194
194
|
spec.add_dependency(*dependency)
|
195
195
|
}
|
@@ -201,6 +201,10 @@ Hen :gem => :rdoc do
|
|
201
201
|
}
|
202
202
|
|
203
203
|
meta_prefix = "gem:meta:#{meta_gem_name = meta_gem_spec.name}"
|
204
|
+
meta_class = meta_gem_spec.singleton_class
|
205
|
+
|
206
|
+
meta_class.send(:define_method, :auto?) { !noauto }
|
207
|
+
meta_class.send(:define_method, :taskname) { meta_prefix }
|
204
208
|
|
205
209
|
desc "Display the #{meta_gem_name} gem specification"
|
206
210
|
task "#{meta_prefix}:spec" do
|
@@ -229,6 +233,31 @@ Hen :gem => :rdoc do
|
|
229
233
|
end
|
230
234
|
}
|
231
235
|
|
236
|
+
meta_gem_specs.each { |meta_gem_spec|
|
237
|
+
|
238
|
+
meta_pkg_task = gem_klass.new(meta_gem_spec)
|
239
|
+
|
240
|
+
taskname = meta_gem_spec.taskname
|
241
|
+
|
242
|
+
gem_file = File.basename(meta_gem_spec.cache_file)
|
243
|
+
gem_path = File.join(package_dir = meta_pkg_task.package_dir, gem_file)
|
244
|
+
|
245
|
+
desc "Build the meta gem file #{gem_file}"
|
246
|
+
task taskname => gem_path
|
247
|
+
|
248
|
+
Gem.configuration.verbose = trace = Rake.application.options.trace
|
249
|
+
|
250
|
+
file gem_path => package_dir do
|
251
|
+
when_writing "Creating #{meta_gem_spec.file_name}" do
|
252
|
+
Gem::Builder.new(meta_gem_spec).build
|
253
|
+
verbose(trace) { mv gem_file, package_dir }
|
254
|
+
end
|
255
|
+
end
|
256
|
+
|
257
|
+
%w[package gem].each { |t| task t => taskname } if meta_gem_spec.auto?
|
258
|
+
|
259
|
+
}
|
260
|
+
|
232
261
|
begin
|
233
262
|
require 'rake/extensiontask' unless gem_spec.extensions.empty?
|
234
263
|
rescue LoadError
|
@@ -255,7 +284,7 @@ Hen :gem => :rdoc do
|
|
255
284
|
ENV['RUBY_CC_VERSION'] ||= Array(ruby_versions).join(':')
|
256
285
|
end
|
257
286
|
|
258
|
-
Rake::ExtensionTask.new(nil, gem_spec) { |ext|
|
287
|
+
extension_task = Rake::ExtensionTask.new(nil, gem_spec) { |ext|
|
259
288
|
set_options(ext, extension_options, 'Extension')
|
260
289
|
}
|
261
290
|
|
@@ -270,7 +299,8 @@ Hen :gem => :rdoc do
|
|
270
299
|
|
271
300
|
rubygems do |rg_pool|
|
272
301
|
|
273
|
-
|
302
|
+
gem_base = pkg_task.package_dir
|
303
|
+
gem_path = File.join(gem_base, gem_spec.file_name)
|
274
304
|
|
275
305
|
desc 'Create the gem and install it'
|
276
306
|
task 'gem:install' => :gem do
|
@@ -282,12 +312,43 @@ Hen :gem => :rdoc do
|
|
282
312
|
rg_pool.call.push(gem_path)
|
283
313
|
end
|
284
314
|
|
315
|
+
meta_gem_specs.each { |meta_gem_spec|
|
316
|
+
taskname = meta_gem_spec.taskname
|
317
|
+
|
318
|
+
desc "Create the meta gem #{meta_gem_spec.name} and upload it to RubyGems.org"
|
319
|
+
task "#{taskname}:push" => taskname do
|
320
|
+
rg_pool.call.push(File.join(gem_base, meta_gem_spec.file_name))
|
321
|
+
end
|
322
|
+
|
323
|
+
task 'gem:push:meta' => "#{taskname}:push" if meta_gem_spec.auto?
|
324
|
+
}
|
325
|
+
|
326
|
+
if have_task?('gem:push:meta')
|
327
|
+
desc 'Create the meta gems and upload them to RubyGems.org'
|
328
|
+
task 'gem:push:meta'
|
329
|
+
|
330
|
+
task 'gem:push' => 'gem:push:meta'
|
331
|
+
end
|
332
|
+
|
333
|
+
if extension_task
|
334
|
+
platforms = Array(extension_task.cross_platform).join(',')
|
335
|
+
gems_glob = gem_path.sub(/(?=\.gem\z)/, "-{#{platforms}}")
|
336
|
+
|
337
|
+
desc 'Create the native gems and upload them to RubyGems.org'
|
338
|
+
task 'gem:push:native' => 'gem:native' do
|
339
|
+
rg = rg_pool.call
|
340
|
+
Dir[gems_glob].each { |native_gem| rg.push(native_gem) }
|
341
|
+
end
|
342
|
+
|
343
|
+
task 'gem:push' => 'gem:push:native'
|
344
|
+
end
|
345
|
+
|
285
346
|
desc release_desc; release_desc = nil
|
286
347
|
task :release => 'gem:push'
|
287
348
|
|
288
349
|
end
|
289
350
|
|
290
|
-
rubyforge do |
|
351
|
+
rubyforge do |_, rf_pool|
|
291
352
|
|
292
353
|
desc 'Package and upload the release to RubyForge'
|
293
354
|
task 'release:rubyforge' => [:package, 'doc:publish:rubyforge'] do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 5
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 5
|
10
|
+
version: 0.4.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jens Wille
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-01-
|
18
|
+
date: 2012-01-20 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: ruby-nuggets
|
@@ -85,14 +85,14 @@ licenses: []
|
|
85
85
|
|
86
86
|
post_install_message:
|
87
87
|
rdoc_options:
|
88
|
-
- --
|
89
|
-
- UTF-8
|
90
|
-
- --title
|
91
|
-
- hen Application documentation (v0.4.4)
|
88
|
+
- --line-numbers
|
92
89
|
- --main
|
93
90
|
- README
|
94
91
|
- --all
|
95
|
-
- --
|
92
|
+
- --charset
|
93
|
+
- UTF-8
|
94
|
+
- --title
|
95
|
+
- hen Application documentation (v0.4.5)
|
96
96
|
require_paths:
|
97
97
|
- lib
|
98
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|