Skip to content

Commit

Permalink
Don't use --release flag on Java 8 (#213)
Browse files Browse the repository at this point in the history
this allows using
```
  Rake::JavaExtensionTask.new("name", gemspec) do |ext|
    ext.release = '8'
  end
```
on Java 8 (for building the gem), because the flag is available since
Java 9, see
https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

this flag is for backward compatibility, so it's safe to just skip it if
we can't use it.

relates to puma/puma#3109
socketry/nio4r#292
  • Loading branch information
ahorek committed Mar 30, 2023
1 parent 89df143 commit 8e79814
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion lib/rake/javaextensiontask.rb
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ def define_java_platform_tasks
end

def java_target_args
if @release
if @release && release_flag_supported?
["--release=#{@release}"]
else
["-target", @target_version, "-source", @source_version]
Expand Down Expand Up @@ -303,5 +303,11 @@ def java_lint_arg

"-Xlint:#{@lint_option}"
end

def release_flag_supported?
return true unless RUBY_PLATFORM =~ /java/

Gem::Version.new(Java::java.lang.System.getProperty('java.version')) >= Gem::Version.new("9")
end
end
end

0 comments on commit 8e79814

Please sign in to comment.