rake-compiler 1.1.6 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.md +6 -0
- data/lib/rake/extensiontask.rb +26 -13
- data/lib/rake/javaextensiontask.rb +17 -9
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02cad822f10b4321127ce0c91ecb9ce1b7465897be75cb63864598f67a0862f9
|
4
|
+
data.tar.gz: e892ced800adc8b779b7a248f726590d2a9967c6efb95817778af4b51f650d4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b773ca5038495c9301561f7f093dd292a90c8987d71964234359e742e159e3dcceba66762a12c161a79b60c0d8eb55b2fc1d65dfb186a64b8905ea75148090f5
|
7
|
+
data.tar.gz: 281a93c3f8e00a01ede2150bff92f8898406fef693192d1a83710eb7e40c07e53229f91aeee8c661489a4901e81c702e8d55f667858f59ddeb47f8f93da75ab3
|
data/History.md
CHANGED
data/lib/rake/extensiontask.rb
CHANGED
@@ -82,9 +82,12 @@ module Rake
|
|
82
82
|
private
|
83
83
|
# copy other gem files to staging directory
|
84
84
|
def define_staging_file_tasks(files, lib_path, stage_path, platf, ruby_ver)
|
85
|
+
# lib_binary_path
|
86
|
+
lib_binary_path = "#{lib_path}/#{File.basename(binary(platf))}"
|
87
|
+
|
85
88
|
files.each do |gem_file|
|
86
89
|
# ignore directories and the binary extension
|
87
|
-
next if File.directory?(gem_file) || gem_file ==
|
90
|
+
next if File.directory?(gem_file) || gem_file == lib_binary_path
|
88
91
|
stage_file = "#{stage_path}/#{gem_file}"
|
89
92
|
|
90
93
|
# copy each file from base to stage directory
|
@@ -105,10 +108,14 @@ module Rake
|
|
105
108
|
platf = for_platform || platform
|
106
109
|
|
107
110
|
binary_path = binary(platf)
|
111
|
+
binary_base_name = File.basename(binary_path)
|
108
112
|
|
109
113
|
# lib_path
|
110
114
|
lib_path = lib_dir
|
111
115
|
|
116
|
+
# lib_binary_path
|
117
|
+
lib_binary_path = "#{lib_path}/#{binary_base_name}"
|
118
|
+
|
112
119
|
# tmp_path
|
113
120
|
tmp_path = "#{@tmp_dir}/#{platf}/#{@name}/#{ruby_ver}"
|
114
121
|
stage_path = "#{@tmp_dir}/#{platf}/stage"
|
@@ -116,13 +123,13 @@ module Rake
|
|
116
123
|
siteconf_path = "#{tmp_path}/.rake-compiler-siteconf.rb"
|
117
124
|
tmp_binary_path = "#{tmp_path}/#{binary_path}"
|
118
125
|
tmp_binary_dir_path = File.dirname(tmp_binary_path)
|
119
|
-
stage_binary_path = "#{stage_path}/#{
|
126
|
+
stage_binary_path = "#{stage_path}/#{lib_binary_path}"
|
120
127
|
stage_binary_dir_path = File.dirname(stage_binary_path)
|
121
128
|
|
122
129
|
# cleanup and clobbering
|
123
130
|
CLEAN.include(tmp_path)
|
124
131
|
CLEAN.include(stage_path)
|
125
|
-
CLOBBER.include(
|
132
|
+
CLOBBER.include(lib_binary_path)
|
126
133
|
CLOBBER.include("#{@tmp_dir}")
|
127
134
|
|
128
135
|
# directories we need
|
@@ -172,8 +179,8 @@ Java extension should be preferred.
|
|
172
179
|
|
173
180
|
chdir tmp_path do
|
174
181
|
sh make
|
175
|
-
if binary_path !=
|
176
|
-
cp
|
182
|
+
if binary_path != binary_base_name
|
183
|
+
cp binary_base_name, binary_path
|
177
184
|
end
|
178
185
|
end
|
179
186
|
end
|
@@ -234,7 +241,7 @@ Java extension should be preferred.
|
|
234
241
|
# platform matches the indicated one.
|
235
242
|
if platf == RUBY_PLATFORM then
|
236
243
|
# ensure file is always copied
|
237
|
-
file
|
244
|
+
file lib_binary_path => ["copy:#{name}:#{platf}:#{ruby_ver}"]
|
238
245
|
|
239
246
|
task "compile:#{@name}" => ["compile:#{@name}:#{platf}"]
|
240
247
|
task "compile" => ["compile:#{platf}"]
|
@@ -250,6 +257,9 @@ Java extension should be preferred.
|
|
250
257
|
# lib_path
|
251
258
|
lib_path = lib_dir
|
252
259
|
|
260
|
+
# lib_binary_path
|
261
|
+
lib_binary_path = "#{lib_path}/#{File.basename(binary(platf))}"
|
262
|
+
|
253
263
|
# Update compiled platform/version combinations
|
254
264
|
@ruby_versions_per_platform[platf] << ruby_ver
|
255
265
|
|
@@ -329,13 +339,13 @@ Java extension should be preferred.
|
|
329
339
|
end
|
330
340
|
|
331
341
|
# add binaries to the dependency chain
|
332
|
-
task "native:#{@gem_spec.name}:#{platf}" => ["#{stage_path}/#{
|
342
|
+
task "native:#{@gem_spec.name}:#{platf}" => ["#{stage_path}/#{lib_binary_path}"]
|
333
343
|
|
334
344
|
# ensure the extension get copied
|
335
|
-
unless Rake::Task.task_defined?(
|
336
|
-
file
|
345
|
+
unless Rake::Task.task_defined?(lib_binary_path) then
|
346
|
+
file lib_binary_path => ["copy:#{@name}:#{platf}:#{ruby_ver}"]
|
337
347
|
end
|
338
|
-
file "#{stage_path}/#{
|
348
|
+
file "#{stage_path}/#{lib_binary_path}" => ["copy:#{@name}:#{platf}:#{ruby_ver}"]
|
339
349
|
|
340
350
|
# Allow segmented packaging by platform (open door for 'cross compile')
|
341
351
|
task "native:#{platf}" => ["native:#{@gem_spec.name}:#{platf}"]
|
@@ -394,6 +404,9 @@ Java extension should be preferred.
|
|
394
404
|
# lib_path
|
395
405
|
lib_path = lib_dir
|
396
406
|
|
407
|
+
# lib_binary_path
|
408
|
+
lib_binary_path = "#{lib_path}/#{File.basename(binary(for_platform))}"
|
409
|
+
|
397
410
|
unless rbconfig_file = config_file["rbconfig-#{for_platform}-#{ruby_ver}"] then
|
398
411
|
warn "no configuration section for specified version of Ruby (rbconfig-#{for_platform}-#{ruby_ver})"
|
399
412
|
return
|
@@ -460,12 +473,12 @@ Java extension should be preferred.
|
|
460
473
|
|
461
474
|
# clear lib/binary dependencies and trigger cross platform ones
|
462
475
|
# check if lib/binary is defined (damn bundle versus so versus dll)
|
463
|
-
if Rake::Task.task_defined?(
|
464
|
-
Rake::Task[
|
476
|
+
if Rake::Task.task_defined?(lib_binary_path) then
|
477
|
+
Rake::Task[lib_binary_path].prerequisites.clear
|
465
478
|
end
|
466
479
|
|
467
480
|
# FIXME: targeting multiple platforms copies the file twice
|
468
|
-
file
|
481
|
+
file lib_binary_path => ["copy:#{@name}:#{for_platform}:#{ruby_ver}"]
|
469
482
|
|
470
483
|
# if everything for native task is in place
|
471
484
|
if @gem_spec && @gem_spec.platform == 'ruby' then
|
@@ -53,15 +53,20 @@ module Rake
|
|
53
53
|
# platform usage
|
54
54
|
platf = for_platform || platform
|
55
55
|
|
56
|
+
binary_path = binary(platf)
|
57
|
+
|
56
58
|
# lib_path
|
57
59
|
lib_path = lib_dir
|
58
60
|
|
61
|
+
# lib_binary_path
|
62
|
+
lib_binary_path = "#{lib_path}/#{File.basename(binary_path)}"
|
63
|
+
|
59
64
|
# tmp_path
|
60
65
|
tmp_path = "#{@tmp_dir}/#{platf}/#{@name}"
|
61
66
|
|
62
67
|
# cleanup and clobbering
|
63
68
|
CLEAN.include(tmp_path)
|
64
|
-
CLOBBER.include(
|
69
|
+
CLOBBER.include(lib_binary_path)
|
65
70
|
CLOBBER.include("#{@tmp_dir}")
|
66
71
|
|
67
72
|
# directories we need
|
@@ -70,11 +75,11 @@ module Rake
|
|
70
75
|
|
71
76
|
# copy binary from temporary location to final lib
|
72
77
|
# tmp/extension_name/extension_name.{so,bundle} => lib/
|
73
|
-
task "copy:#{@name}:#{platf}" => [lib_path, "#{tmp_path}/#{
|
74
|
-
install "#{tmp_path}/#{
|
78
|
+
task "copy:#{@name}:#{platf}" => [lib_path, "#{tmp_path}/#{binary_path}"] do
|
79
|
+
install "#{tmp_path}/#{binary_path}", lib_binary_path
|
75
80
|
end
|
76
81
|
|
77
|
-
file "#{tmp_path}/#{
|
82
|
+
file "#{tmp_path}/#{binary_path}" => "#{tmp_path}/.build" do
|
78
83
|
|
79
84
|
class_files = FileList["#{tmp_path}/**/*.class"].
|
80
85
|
gsub("#{tmp_path}/", '')
|
@@ -86,7 +91,7 @@ module Rake
|
|
86
91
|
["-C #{tmp_path}", path]
|
87
92
|
}.flatten
|
88
93
|
|
89
|
-
sh "jar cf #{tmp_path}/#{
|
94
|
+
sh "jar cf #{tmp_path}/#{binary_path} #{args.join(' ')}"
|
90
95
|
end
|
91
96
|
|
92
97
|
file "#{tmp_path}/.build" => [tmp_path] + source_files do
|
@@ -137,7 +142,7 @@ execute the Rake compilation task using the JRuby interpreter.
|
|
137
142
|
# platform matches the indicated one.
|
138
143
|
if platf == RUBY_PLATFORM then
|
139
144
|
# ensure file is always copied
|
140
|
-
file
|
145
|
+
file lib_binary_path => ["copy:#{name}:#{platf}"]
|
141
146
|
|
142
147
|
task "compile:#{@name}" => ["compile:#{@name}:#{platf}"]
|
143
148
|
task "compile" => ["compile:#{platf}"]
|
@@ -184,12 +189,15 @@ execute the Rake compilation task using the JRuby interpreter.
|
|
184
189
|
end
|
185
190
|
end
|
186
191
|
|
192
|
+
# lib_binary_path
|
193
|
+
lib_binary_path = "#{lib_path}/#{File.basename(binary(platform))}"
|
194
|
+
|
187
195
|
# add binaries to the dependency chain
|
188
|
-
task "java:#{@gem_spec.name}" => [
|
196
|
+
task "java:#{@gem_spec.name}" => [lib_binary_path]
|
189
197
|
|
190
198
|
# ensure the extension get copied
|
191
|
-
unless Rake::Task.task_defined?(
|
192
|
-
file
|
199
|
+
unless Rake::Task.task_defined?(lib_binary_path) then
|
200
|
+
file lib_binary_path => ["copy:#{name}:#{platform}"]
|
193
201
|
end
|
194
202
|
|
195
203
|
task 'java' => ["java:#{@gem_spec.name}"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-compiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: 1.8.23
|
147
147
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
148
|
+
rubygems_version: 3.4.0.dev
|
149
149
|
signing_key:
|
150
150
|
specification_version: 4
|
151
151
|
summary: Rake-based Ruby Extension (C, Java) task generator.
|