rake-compiler 1.1.7 → 1.2.0
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 +19 -0
- data/lib/rake/baseextensiontask.rb +0 -6
- data/lib/rake/extensiontask.rb +1 -3
- data/lib/rake/javaextensiontask.rb +13 -2
- data/spec/lib/rake/extensiontask_spec.rb +7 -3
- data/spec/lib/rake/javaextensiontask_spec.rb +25 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 168f62a83a0e87ed5dd8ddc21151082d826a18af8baa3319be221704fd559e1b
|
4
|
+
data.tar.gz: 62247a212ea5dce5803ef33d4490d3a6a982e5bf78716a5da0339e1c980b467a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5857be6b32518649261bb405df56b6986083e019f38621801323aea374544a9771c30bca2f7cc539c7fc8cd4f0cc44b8861f93bab4877ff4bfc45aecbb6e5d44
|
7
|
+
data.tar.gz: 61c4b8db10ff10e4b8ec45a7688241689981bc3c70f2a2b7eb2eebf877e9ca623844f70e70858daf899812a7ef8deb7c13c77b9fc0570d3bdcff7d367b445e07
|
data/History.md
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
### 1.2.0 / 2022-04-15
|
2
|
+
|
3
|
+
* Enhancements:
|
4
|
+
* Defer requiring `yaml`.
|
5
|
+
[ruby/stringio#21](https://github.com/ruby/stringio/issues/21)
|
6
|
+
|
7
|
+
### 1.1.9 / 2022-01-22
|
8
|
+
|
9
|
+
* Enhancements:
|
10
|
+
* Add support for `--release` option to build JRuby extension.
|
11
|
+
[#200](https://github.com/rake-compiler/rake-compiler/issues/200) [Reported by Pavel Rosický]
|
12
|
+
[#201](https://github.com/rake-compiler/rake-compiler/issues/201) [Patch by Satoshi Tagomori]
|
13
|
+
|
14
|
+
### 1.1.8 / 2022-01-18
|
15
|
+
|
16
|
+
* Fixes:
|
17
|
+
* Fix wrong `required_ruby_version` when some `RUBY_CC_VERSION`s are missing.
|
18
|
+
[#198](https://github.com/rake-compiler/rake-compiler/issues/198) [Patch by Lars Kanis]
|
19
|
+
|
1
20
|
### 1.1.7 / 2022-01-04
|
2
21
|
|
3
22
|
* Fixes:
|
data/lib/rake/extensiontask.rb
CHANGED
@@ -377,9 +377,6 @@ Java extension should be preferred.
|
|
377
377
|
@lib_dir = "#{@lib_dir}/#{$1}"
|
378
378
|
end
|
379
379
|
|
380
|
-
# Update cross compiled platform/version combinations
|
381
|
-
@ruby_versions_per_platform[for_platform] << version
|
382
|
-
|
383
380
|
define_cross_platform_tasks_with_version(for_platform, version)
|
384
381
|
|
385
382
|
# restore lib_dir
|
@@ -396,6 +393,7 @@ Java extension should be preferred.
|
|
396
393
|
return
|
397
394
|
end
|
398
395
|
|
396
|
+
require "yaml"
|
399
397
|
config_file = YAML.load_file(config_path)
|
400
398
|
|
401
399
|
# tmp_path
|
@@ -17,6 +17,9 @@ module Rake
|
|
17
17
|
# Generate class files for specific VM version
|
18
18
|
attr_accessor :target_version
|
19
19
|
|
20
|
+
# Compile for oldeer platform version
|
21
|
+
attr_accessor :release
|
22
|
+
|
20
23
|
attr_accessor :encoding
|
21
24
|
|
22
25
|
# Specify lint option
|
@@ -37,6 +40,7 @@ module Rake
|
|
37
40
|
@debug = false
|
38
41
|
@source_version = '1.7'
|
39
42
|
@target_version = '1.7'
|
43
|
+
@release = nil
|
40
44
|
@encoding = nil
|
41
45
|
@java_compiling = nil
|
42
46
|
@lint_option = nil
|
@@ -106,8 +110,7 @@ execute the Rake compilation task using the JRuby interpreter.
|
|
106
110
|
|
107
111
|
javac_command_line = [
|
108
112
|
"javac",
|
109
|
-
|
110
|
-
"-source", @source_version,
|
113
|
+
*java_target_args,
|
111
114
|
java_lint_arg,
|
112
115
|
"-d", tmp_path,
|
113
116
|
]
|
@@ -208,6 +211,14 @@ execute the Rake compilation task using the JRuby interpreter.
|
|
208
211
|
end
|
209
212
|
end
|
210
213
|
|
214
|
+
def java_target_args
|
215
|
+
if @release
|
216
|
+
["--release=#{@release}"]
|
217
|
+
else
|
218
|
+
["-target", @target_version, "-source", @source_version]
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
211
222
|
#
|
212
223
|
# Discover Java Extension Directories and build an extdirs arguments
|
213
224
|
#
|
@@ -2,6 +2,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
2
2
|
|
3
3
|
require 'rake/extensiontask'
|
4
4
|
require 'rbconfig'
|
5
|
+
require 'yaml'
|
5
6
|
|
6
7
|
describe Rake::ExtensionTask do
|
7
8
|
context '#new' do
|
@@ -456,14 +457,17 @@ describe Rake::ExtensionTask do
|
|
456
457
|
|
457
458
|
it "should set required_ruby_version from RUBY_CC_VERSION, set platform, clear extensions but keep metadata" do
|
458
459
|
platforms = ["x86-mingw32", "x64-mingw32"]
|
459
|
-
ruby_cc_versions = ["1.8.6", "2.1.10", "2.2.6", "2.3.3", "2.10.1"]
|
460
|
+
ruby_cc_versions = ["1.8.6", "2.1.10", "2.2.6", "2.3.3", "2.10.1", "2.11.0"]
|
460
461
|
ENV["RUBY_CC_VERSION"] = ruby_cc_versions.join(":")
|
461
462
|
config = Hash.new
|
462
463
|
ruby_cc_versions.each do |ruby_cc_version|
|
463
464
|
platforms.each do |platform|
|
465
|
+
unless platform == "x64-mingw32" && ruby_cc_version == "2.11.0"
|
466
|
+
rbconf = "/rubies/#{ruby_cc_version}/rbconfig.rb"
|
467
|
+
end
|
464
468
|
allow(config).to receive(:[]).
|
465
469
|
with("rbconfig-#{platform}-#{ruby_cc_version}").
|
466
|
-
and_return(
|
470
|
+
and_return(rbconf)
|
467
471
|
end
|
468
472
|
end
|
469
473
|
allow(YAML).to receive(:load_file).and_return(config)
|
@@ -490,7 +494,7 @@ describe Rake::ExtensionTask do
|
|
490
494
|
end
|
491
495
|
|
492
496
|
expected_required_ruby_versions = [
|
493
|
-
Gem::Requirement.new([">= 1.8", "< 2.
|
497
|
+
Gem::Requirement.new([">= 1.8", "< 2.12.dev"]),
|
494
498
|
Gem::Requirement.new([">= 1.8", "< 2.11.dev"]),
|
495
499
|
]
|
496
500
|
cross_specs.collect(&:required_ruby_version).should == expected_required_ruby_versions
|
@@ -175,11 +175,13 @@ describe Rake::JavaExtensionTask do
|
|
175
175
|
let(:extension) do
|
176
176
|
Rake::JavaExtensionTask.new('extension_two') do |ext|
|
177
177
|
ext.lint_option = lint_option if lint_option
|
178
|
+
ext.release = release if release
|
178
179
|
end
|
179
180
|
end
|
180
181
|
|
181
182
|
context 'without a specified lint option' do
|
182
183
|
let(:lint_option) { nil }
|
184
|
+
let(:release) { nil }
|
183
185
|
|
184
186
|
it 'should honor the lint option' do
|
185
187
|
(extension.lint_option).should be_falsey
|
@@ -189,12 +191,35 @@ describe Rake::JavaExtensionTask do
|
|
189
191
|
|
190
192
|
context "with a specified lint option of 'deprecated'" do
|
191
193
|
let(:lint_option) { 'deprecated'.freeze }
|
194
|
+
let(:release) { nil }
|
192
195
|
|
193
196
|
it 'should honor the lint option' do
|
194
197
|
(extension.lint_option).should eq lint_option
|
195
198
|
(extension.send :java_lint_arg).should eq '-Xlint:deprecated'
|
196
199
|
end
|
197
200
|
end
|
201
|
+
|
202
|
+
context "without release option" do
|
203
|
+
let(:lint_option) { nil }
|
204
|
+
let(:release) { nil }
|
205
|
+
|
206
|
+
it 'should generate -target and -source build options' do
|
207
|
+
extension.target_version = "1.8"
|
208
|
+
extension.source_version = "1.8"
|
209
|
+
(extension.send :java_target_args).should eq ["-target", "1.8", "-source", "1.8"]
|
210
|
+
end
|
211
|
+
end
|
212
|
+
|
213
|
+
context "with release option" do
|
214
|
+
let(:lint_option) { nil }
|
215
|
+
let(:release) { '8' }
|
216
|
+
|
217
|
+
it 'should generate --release option even with target_version/source_version' do
|
218
|
+
extension.target_version = "1.8"
|
219
|
+
extension.source_version = "1.8"
|
220
|
+
(extension.send :java_target_args).should eq ["--release=8"]
|
221
|
+
end
|
222
|
+
end
|
198
223
|
end
|
199
224
|
end
|
200
225
|
private
|
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.
|
4
|
+
version: 1.2.0
|
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: 2022-
|
12
|
+
date: 2022-04-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|