hen 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +19 -0
- data/README +1 -1
- data/lib/hen.rb +5 -2
- data/lib/hen/version.rb +1 -1
- data/lib/hens/gem.rake +51 -7
- data/lib/hens/rdoc.rake +3 -13
- metadata +21 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd310f44a48870b4c354e0d3aa4cbe63b3445226
|
4
|
+
data.tar.gz: 240426572bc45989bdcf3566df93ede9d735ec38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b4982093bd2c157239287e937db7453969ef4633853289363ee77852fdbf444297fbb1e1fcb2a9cb21793e719088305a54a9f9aa3d65bb0ef5114d3ed518672
|
7
|
+
data.tar.gz: e137da6c94932a56766bce7404dafb2117647403c63f667de09a94b40ea48c43619a2dceee5c73b90d05a8d2bfe360089f0f847e0fc8e8e1fc53dc24b7383546
|
data/ChangeLog
CHANGED
@@ -2,6 +2,25 @@
|
|
2
2
|
|
3
3
|
= Revision history for hen
|
4
4
|
|
5
|
+
== 0.8.1 [2014-12-19]
|
6
|
+
|
7
|
+
* Removed workaround for RDoc issue 330. Implemented in RDoc 4.2.0.
|
8
|
+
* Renamed cross compile option +ruby_versions+ to +cross_ruby_versions+;
|
9
|
+
defaults to all versions defined in rake-compiler's <tt>config.yml</tt>.
|
10
|
+
* When +cross_config_options+ given, cross compilation is implicitly disabled
|
11
|
+
when they are empty or enabled when they are non-empty; override by setting
|
12
|
+
+cross_compile+ explicitly.
|
13
|
+
* Added support for <tt>with_cross_<library></tt> options; specify a proc that
|
14
|
+
accepts the <tt>WITH_CROSS_<LIBRARY></tt> environment variable, if set, and
|
15
|
+
returns a single directory for <tt>--with-<library>-dir</tt> or an array for
|
16
|
+
<tt>--with-<library>-include</tt> and <tt>--with-<library>-lib</tt> to be
|
17
|
+
added to +cross_config_options+.
|
18
|
+
* Added support for +cross_compiling+ option.
|
19
|
+
* Added support for +local_files+ option, i.e., generated files that should be
|
20
|
+
included in the package but not under version control.
|
21
|
+
* When determining the +ext_name+ option, a possible <tt>ruby-</tt> prefix is
|
22
|
+
ignored.
|
23
|
+
|
5
24
|
== 0.8.0 [2014-10-31]
|
6
25
|
|
7
26
|
* Removed support for legacy versions of RDoc, RSpec and RubyGems.
|
data/README
CHANGED
data/lib/hen.rb
CHANGED
@@ -29,6 +29,7 @@
|
|
29
29
|
#++
|
30
30
|
|
31
31
|
require 'rake'
|
32
|
+
require 'rake/clean'
|
32
33
|
require 'safe_yaml/load'
|
33
34
|
require 'nuggets/env/user_home'
|
34
35
|
require 'nuggets/hash/deep_merge'
|
@@ -266,8 +267,10 @@ class Hen
|
|
266
267
|
|
267
268
|
block.bind(DSL).call
|
268
269
|
rescue => err
|
269
|
-
|
270
|
-
|
270
|
+
trace = $DEBUG || Rake.application.options.trace
|
271
|
+
|
272
|
+
warn "#{name}: #{err} (#{err.class})" if trace || verbose
|
273
|
+
warn err.backtrace.join("\n ") if trace
|
271
274
|
end
|
272
275
|
|
273
276
|
private
|
data/lib/hen/version.rb
CHANGED
data/lib/hens/gem.rake
CHANGED
@@ -82,6 +82,15 @@ Hen gem: :rdoc do
|
|
82
82
|
:extra_rdoc_files, :files, :executables, :extensions
|
83
83
|
))
|
84
84
|
|
85
|
+
unless (local_files = Array(gem_options.delete(:local_files))).empty?
|
86
|
+
gem_options[:files].concat(local_files)
|
87
|
+
|
88
|
+
task :pkg => local_files
|
89
|
+
task :compile => local_files
|
90
|
+
|
91
|
+
CLOBBER.include(*local_files)
|
92
|
+
end
|
93
|
+
|
85
94
|
unless gem_options[:executables].empty?
|
86
95
|
gem_options[:bindir] ||= File.dirname(gem_options[:executables].first)
|
87
96
|
gem_options[:executables].map! { |executable| File.basename(executable) }
|
@@ -300,11 +309,12 @@ Hen gem: :rdoc do
|
|
300
309
|
end
|
301
310
|
|
302
311
|
if Rake.const_defined?(:ExtensionTask)
|
303
|
-
# gem_name
|
312
|
+
# gem_name | ext_name | extension name
|
304
313
|
# ---------------------------------------
|
305
|
-
#
|
306
|
-
#
|
307
|
-
#
|
314
|
+
# unicode | unicode | unicode_native
|
315
|
+
# libcdb-ruby | libcdb | libcdb_ruby
|
316
|
+
# ruby-filemagic | filemagic | ruby_filemagic
|
317
|
+
# rb-gsl | gsl | gsl_native
|
308
318
|
|
309
319
|
gem_name_parts = gem_name.split('-')
|
310
320
|
gem_name_parts.shift if gem_name_parts.first == 'rb'
|
@@ -312,27 +322,61 @@ Hen gem: :rdoc do
|
|
312
322
|
|
313
323
|
extension_options[:name] ||= gem_name_parts.join('_')
|
314
324
|
|
315
|
-
ext_name = extension_options.delete(:ext_name) {
|
325
|
+
ext_name = extension_options.delete(:ext_name) {
|
326
|
+
gem_name_parts.find { |part| part != 'ruby' } }
|
316
327
|
|
317
328
|
extension_options[:lib_dir] ||= File.join(['lib', ext_name, ENV['FAT_DIR']].compact)
|
318
329
|
extension_options[:ext_dir] ||= File.join(['ext', ext_name].compact)
|
319
330
|
|
331
|
+
cross_config_options = nil
|
332
|
+
|
333
|
+
extension_options.delete_if { |key, val|
|
334
|
+
key =~ /\Awith_cross_(\w+)\z/ or next false
|
335
|
+
dir = ENV[key.to_s.upcase] or next true
|
336
|
+
|
337
|
+
cross_config_options ||= []
|
338
|
+
|
339
|
+
case res = val[dir]
|
340
|
+
when Array
|
341
|
+
inc, lib = res; lib = inc if res.size == 1
|
342
|
+
|
343
|
+
cross_config_options << "--with-#{$1}-include=#{inc}" if inc
|
344
|
+
cross_config_options << "--with-#{$1}-lib=#{lib}" if lib
|
345
|
+
when String
|
346
|
+
cross_config_options << "--with-#{$1}-dir=#{res}"
|
347
|
+
end
|
348
|
+
}
|
349
|
+
|
350
|
+
if cross_config_options
|
351
|
+
extension_options[:cross_config_options] ||= []
|
352
|
+
extension_options[:cross_config_options].concat(cross_config_options)
|
353
|
+
end
|
354
|
+
|
320
355
|
unless extension_options.key?(:cross_compile)
|
321
|
-
extension_options[:cross_compile] =
|
356
|
+
extension_options[:cross_compile] =
|
357
|
+
extension_options[:cross_config_options].is_a?(Array) ?
|
358
|
+
!extension_options[:cross_config_options].empty? : true
|
322
359
|
end
|
323
360
|
|
324
361
|
if extension_options[:cross_compile]
|
325
362
|
extension_options[:cross_platform] ||= %w[x86-mswin32-60 x86-mingw32]
|
326
363
|
|
327
|
-
if ruby_versions = extension_options.delete(:
|
364
|
+
if ruby_versions = extension_options.delete(:cross_ruby_versions)
|
328
365
|
ENV['RUBY_CC_VERSION'] ||= Array(ruby_versions).join(':')
|
329
366
|
end
|
330
367
|
|
368
|
+
if File.exist?(rc_config = File.expand_path('~/.rake-compiler/config.yml'))
|
369
|
+
ENV['RUBY_CC_VERSION'] ||= SafeYAML.load_file(rc_config).keys.
|
370
|
+
map { |k| k.split('-').last }.uniq.join(':')
|
371
|
+
end
|
372
|
+
|
331
373
|
desc 'Build native gems'
|
332
374
|
task 'gem:native' => %w[cross compile rake:native gem]
|
333
375
|
end
|
334
376
|
|
335
377
|
extension_task = Rake::ExtensionTask.new(nil, gem_spec) { |ext|
|
378
|
+
ext.cross_compiling(&extension_options.delete(:cross_compiling))
|
379
|
+
|
336
380
|
set_options(ext, extension_options, 'Extension')
|
337
381
|
}
|
338
382
|
|
data/lib/hens/rdoc.rake
CHANGED
@@ -61,21 +61,9 @@ Hen :rdoc do
|
|
61
61
|
options: rdoc_opts
|
62
62
|
}
|
63
63
|
|
64
|
-
unless rdoc_files.empty?
|
64
|
+
unless rdoc_files.empty?
|
65
65
|
require 'rdoc/task'
|
66
66
|
|
67
|
-
class RDoc::Markup::ToLabel
|
68
|
-
|
69
|
-
alias_method :_hen_original_convert, :convert
|
70
|
-
|
71
|
-
def convert(*args)
|
72
|
-
_hen_original_convert(*args).gsub('%', '-').sub(/^-/, '')
|
73
|
-
end
|
74
|
-
|
75
|
-
end if defined?(RDoc::Markup::ToLabel)
|
76
|
-
end
|
77
|
-
|
78
|
-
unless rdoc_files.empty?
|
79
67
|
RDoc::Task.new(:doc) { |rdoc|
|
80
68
|
rdoc.rdoc_dir = rdoc_dir
|
81
69
|
rdoc.rdoc_files = rdoc_files
|
@@ -88,6 +76,8 @@ Hen :rdoc do
|
|
88
76
|
end
|
89
77
|
|
90
78
|
unless rdoc_files_local.empty?
|
79
|
+
require 'rdoc/task'
|
80
|
+
|
91
81
|
RDoc::Task.new('doc:local') { |rdoc|
|
92
82
|
rdoc.rdoc_dir = rdoc_dir + '.local'
|
93
83
|
rdoc.rdoc_files = rdoc_files_local
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Wille
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -106,15 +106,28 @@ licenses:
|
|
106
106
|
metadata: {}
|
107
107
|
post_install_message: |2+
|
108
108
|
|
109
|
-
hen-0.8.
|
109
|
+
hen-0.8.1 [2014-12-19]:
|
110
110
|
|
111
|
-
* Removed
|
112
|
-
*
|
113
|
-
|
111
|
+
* Removed workaround for RDoc issue 330. Implemented in RDoc 4.2.0.
|
112
|
+
* Renamed cross compile option +ruby_versions+ to +cross_ruby_versions+;
|
113
|
+
defaults to all versions defined in rake-compiler's <tt>config.yml</tt>.
|
114
|
+
* When +cross_config_options+ given, cross compilation is implicitly disabled
|
115
|
+
when they are empty or enabled when they are non-empty; override by setting
|
116
|
+
+cross_compile+ explicitly.
|
117
|
+
* Added support for <tt>with_cross_<library></tt> options; specify a proc that
|
118
|
+
accepts the <tt>WITH_CROSS_<LIBRARY></tt> environment variable, if set, and
|
119
|
+
returns a single directory for <tt>--with-<library>-dir</tt> or an array for
|
120
|
+
<tt>--with-<library>-include</tt> and <tt>--with-<library>-lib</tt> to be
|
121
|
+
added to +cross_config_options+.
|
122
|
+
* Added support for +cross_compiling+ option.
|
123
|
+
* Added support for +local_files+ option, i.e., generated files that should be
|
124
|
+
included in the package but not under version control.
|
125
|
+
* When determining the +ext_name+ option, a possible <tt>ruby-</tt> prefix is
|
126
|
+
ignored.
|
114
127
|
|
115
128
|
rdoc_options:
|
116
129
|
- "--title"
|
117
|
-
- hen Application documentation (v0.8.
|
130
|
+
- hen Application documentation (v0.8.1)
|
118
131
|
- "--charset"
|
119
132
|
- UTF-8
|
120
133
|
- "--line-numbers"
|
@@ -135,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
148
|
version: '0'
|
136
149
|
requirements: []
|
137
150
|
rubyforge_project:
|
138
|
-
rubygems_version: 2.4.
|
151
|
+
rubygems_version: 2.4.5
|
139
152
|
signing_key:
|
140
153
|
specification_version: 4
|
141
154
|
summary: Just another project helper that integrates with Rake.
|