hen 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
data/ChangeLog CHANGED
@@ -1,5 +1,19 @@
1
1
  = Revision history for hen
2
2
 
3
+ == 0.4.4 [2012-01-18]
4
+
5
+ * Some extension task improvements.
6
+ * Include extension files in RDoc.
7
+
8
+ == 0.4.3 [2012-01-09]
9
+
10
+ * Integrate with rake-compiler.
11
+ * Reverse merge config.
12
+
13
+ == 0.4.2 [2012-01-09]
14
+
15
+ * New option 'meta' to build meta-gems.
16
+
3
17
  == 0.4.1 [2012-01-02]
4
18
 
5
19
  * Make 'release' depend on 'doc:publish'.
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to hen version 0.4.3
5
+ This documentation refers to hen version 0.4.4
6
6
 
7
7
 
8
8
  == DESCRIPTION
data/lib/hen/version.rb CHANGED
@@ -4,7 +4,7 @@ class Hen
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 4
7
- TINY = 3
7
+ TINY = 4
8
8
 
9
9
  class << self
10
10
 
data/lib/hens/gem.rake CHANGED
@@ -43,13 +43,10 @@ Hen :gem => :rdoc do
43
43
 
44
44
  meta_gems = Array(gem_options.delete(:meta))
45
45
 
46
- gem_spec = Gem::Specification.new { |spec|
47
-
48
- ### name
49
-
50
- gem_name = gem_options[:name] ||= project_name(rf_config)
46
+ gem_name = gem_options[:name] ||= project_name(rf_config)
47
+ abort 'Gem name missing' unless gem_name
51
48
 
52
- abort 'Gem name missing' unless gem_name
49
+ gem_spec = Gem::Specification.new { |spec|
53
50
 
54
51
  ### version
55
52
 
@@ -203,14 +200,14 @@ Hen :gem => :rdoc do
203
200
 
204
201
  }
205
202
 
206
- meta_prefix = "gem:meta:#{meta_gem_spec.name}"
203
+ meta_prefix = "gem:meta:#{meta_gem_name = meta_gem_spec.name}"
207
204
 
208
- desc "Display the #{meta_gem_spec.name} gem specification"
205
+ desc "Display the #{meta_gem_name} gem specification"
209
206
  task "#{meta_prefix}:spec" do
210
207
  puts meta_gem_spec.to_ruby
211
208
  end
212
209
 
213
- desc "Update (or create) the project's #{meta_gem_spec.name} gemspec file"
210
+ desc "Update (or create) the project's #{meta_gem_name} gemspec file"
214
211
  task "#{meta_prefix}:spec:update" do
215
212
  write_gemspec(meta_gem_spec)
216
213
  end
@@ -224,19 +221,27 @@ Hen :gem => :rdoc do
224
221
  pkg.need_zip = true
225
222
 
226
223
  if defined?(ZIP_COMMANDS)
227
- require 'nuggets/file/which'
228
- pkg.zip_command = File.which_command(ZIP_COMMANDS) || ZIP_COMMANDS.first
224
+ pkg.zip_command = begin
225
+ require 'nuggets/file/which'
226
+ File.which_command(ZIP_COMMANDS)
227
+ rescue LoadError
228
+ end || ZIP_COMMANDS.first
229
229
  end
230
230
  }
231
231
 
232
- unless gem_spec.extensions.empty?
233
- require 'rake/extensiontask'
234
- require 'nuggets/util/ruby'
232
+ begin
233
+ require 'rake/extensiontask' unless gem_spec.extensions.empty?
234
+ rescue LoadError
235
+ end
236
+
237
+ if Rake.const_defined?(:ExtensionTask)
238
+ extension_options[:name] ||= gem_name.include?('-') ?
239
+ gem_name.tr('-', '_') : "#{gem_name}_native"
235
240
 
236
- extension_options[:name] ||= "#{gem_spec.name}_native"
241
+ ext_name = gem_name.include?('-') ? gem_name.split('-').first : gem_name
237
242
 
238
- extension_options[:lib_dir] ||= File.join(['lib', gem_spec.name, ENV['FAT_DIR']].compact)
239
- extension_options[:ext_dir] ||= File.join(['ext', gem_spec.name])
243
+ extension_options[:lib_dir] ||= File.join(['lib', ext_name, ENV['FAT_DIR']].compact)
244
+ extension_options[:ext_dir] ||= File.join(['ext', ext_name])
240
245
 
241
246
  unless extension_options.has_key?(:cross_compile)
242
247
  extension_options[:cross_compile] = true
@@ -246,23 +251,22 @@ Hen :gem => :rdoc do
246
251
  extension_options[:cross_platform] ||= %w[x86-mswin32-60 x86-mingw32]
247
252
  end
248
253
 
249
- ruby_versions = extension_options.delete(:ruby_versions)
254
+ if ruby_versions = extension_options.delete(:ruby_versions)
255
+ ENV['RUBY_CC_VERSION'] ||= Array(ruby_versions).join(':')
256
+ end
250
257
 
251
258
  Rake::ExtensionTask.new(nil, gem_spec) { |ext|
252
259
  set_options(ext, extension_options, 'Extension')
253
260
  }
254
261
 
255
262
  desc 'Build native gems'
256
- task 'gem:native' do
257
- ENV['RUBY_CC_VERSION'] ||= Array(ruby_versions).join(':') if ruby_versions
263
+ task 'gem:native' => %w[cross compile native gem]
258
264
 
259
- sh(Util::Ruby.rake_command, *%w[cross compile])
260
- sh(Util::Ruby.rake_command, *%w[cross native gem])
261
- end
265
+ %w[spec test].each { |t| task t => :compile }
262
266
  end
263
267
 
264
- release_desc = "Release #{gem_spec.name} version #{gem_spec.version}"
265
- tag_desc = "Tag the #{gem_spec.name} release version #{gem_spec.version}"
268
+ release_desc = "Release #{gem_name} version #{gem_spec.version}"
269
+ tag_desc = "Tag the #{gem_name} release version #{gem_spec.version}"
266
270
 
267
271
  rubygems do |rg_pool|
268
272
 
@@ -301,7 +305,7 @@ Hen :gem => :rdoc do
301
305
  #uc['release_changes'] = changes if changes
302
306
  #uc['preformatted'] = true
303
307
 
304
- rf.add_release(rf_config[:project], gem_spec.name, version, *files)
308
+ rf.add_release(rf_config[:project], gem_name, version, *files)
305
309
  end
306
310
 
307
311
  desc release_desc
data/lib/hens/rdoc.rake CHANGED
@@ -2,7 +2,7 @@ Hen :rdoc do
2
2
 
3
3
  rdoc_options = {
4
4
  :rdoc_dir => 'doc',
5
- :rdoc_files => %w[README COPYING ChangeLog lib/**/*.rb],
5
+ :rdoc_files => %w[README COPYING ChangeLog lib/**/*.rb ext/**/*.c],
6
6
  :charset => 'UTF-8',
7
7
  :inline_source => true,
8
8
  :line_numbers => true,
@@ -41,7 +41,10 @@ Hen :rdoc do
41
41
 
42
42
  ### rdoc_files, main
43
43
 
44
- rdoc_files = FileList[rdoc_options.delete(:rdoc_files)].to_a
44
+ rdoc_files = FileList[rdoc_options.delete(:rdoc_files)].sort_by { |file|
45
+ [file.length, file]
46
+ }
47
+
45
48
  rdoc_files_local = rdoc_files.dup
46
49
 
47
50
  if mangle_files!(rdoc_files)
data/lib/hens/spec.rake CHANGED
@@ -60,14 +60,12 @@ Hen :spec do
60
60
  end
61
61
 
62
62
  #desc "Run specs with RCov"
63
- klass.new('spec:rcov') do |t|
63
+ spec_klass.new('spec:rcov') do |t|
64
64
  spec_block[t]
65
65
 
66
66
  t.rcov = true
67
67
  t.rcov_opts = rcov_opts
68
68
  end
69
-
70
- task :spec => :compile if have_task?(:compile)
71
69
  end
72
70
 
73
71
  end
data/lib/hens/test.rake CHANGED
@@ -16,8 +16,6 @@ Hen :test do
16
16
  t.test_files = test_files
17
17
  set_options(t, test_options, 'Test')
18
18
  }
19
-
20
- task :test => :compile if have_task?(:compile)
21
19
  end
22
20
 
23
21
  end
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: 9
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 3
10
- version: 0.4.3
9
+ - 4
10
+ version: 0.4.4
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-09 00:00:00 Z
18
+ date: 2012-01-18 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: ruby-nuggets
@@ -85,12 +85,12 @@ licenses: []
85
85
 
86
86
  post_install_message:
87
87
  rdoc_options:
88
- - --main
89
- - README
90
88
  - --charset
91
89
  - UTF-8
92
90
  - --title
93
- - hen Application documentation (v0.4.3)
91
+ - hen Application documentation (v0.4.4)
92
+ - --main
93
+ - README
94
94
  - --all
95
95
  - --line-numbers
96
96
  require_paths: