mirror of
https://github.com/rbenv/ruby-build.git
synced 2025-09-23 09:31:10 +02:00
parent
9d78f06d1d
commit
c30d4cba91
2 changed files with 30 additions and 10 deletions
|
@ -800,12 +800,19 @@ fix_rbx_irb() {
|
|||
|
||||
require_java() {
|
||||
local required="$1"
|
||||
local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1 | grep -o '1\.[0-9]\+')"
|
||||
if [ -z "$version" ] || [ "${version##*.}" -lt "$required" ]; then
|
||||
colorize 1 "ERROR" >&3
|
||||
echo ": Java ${required} required. Please install a 1.${required}-compatible JRE." >&3
|
||||
return 1
|
||||
fi
|
||||
local java_version="$(java -version 2>&1)"
|
||||
local version_string="$(grep 'java version' <<<"$java_version" | head -1 | grep -o '[0-9.]\+' || true)"
|
||||
[ -n "$version_string" ] || version_string="$(grep 'openjdk version' <<<"$java_version" | head -1 | grep -o '[0-9.]\+' || true)"
|
||||
IFS="."
|
||||
local nums=($version_string)
|
||||
IFS="$OLDIFS"
|
||||
local found_version="${nums[0]}"
|
||||
[ "$found_version" -gt 1 ] 2>/dev/null || found_version="${nums[1]}"
|
||||
[ "$found_version" -ge "$required" ] 2>/dev/null && return 0
|
||||
colorize 1 "ERROR" >&3
|
||||
echo ": Java ${required} required, but your Java version was:" >&3
|
||||
cat <<<"$java_version" >&3
|
||||
return 1
|
||||
}
|
||||
|
||||
# keep for backwards compatibility
|
||||
|
|
|
@ -569,20 +569,21 @@ require_java7
|
|||
install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby
|
||||
DEF
|
||||
assert_failure
|
||||
assert_output_contains "ERROR: Java 7 required. Please install a 1.7-compatible JRE."
|
||||
assert_output_contains "ERROR: Java 7 required, but your Java version was:"
|
||||
}
|
||||
|
||||
@test "JRuby Java is outdated" {
|
||||
cached_tarball "jruby-9000.dev" bin/jruby
|
||||
|
||||
stub java '-version : echo java version "1.6.0_21" >&2'
|
||||
stub java "-version : echo 'java version \"1.6.0_21\"' >&2"
|
||||
|
||||
run_inline_definition <<DEF
|
||||
require_java7
|
||||
install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby
|
||||
DEF
|
||||
assert_failure
|
||||
assert_output_contains "ERROR: Java 7 required. Please install a 1.7-compatible JRE."
|
||||
assert_output_contains "ERROR: Java 7 required, but your Java version was:"
|
||||
assert_output_contains 'java version "1.6.0_21"'
|
||||
}
|
||||
|
||||
@test "JRuby Java 7 up-to-date" {
|
||||
|
@ -624,7 +625,7 @@ DEF
|
|||
@test "JRuby Java 9 version string" {
|
||||
cached_tarball "jruby-9000.dev" bin/jruby
|
||||
|
||||
stub java '-version : echo java version "9" >&2'
|
||||
stub java "-version : echo 'java version \"9\"' >&2"
|
||||
|
||||
run_inline_definition <<DEF
|
||||
require_java7
|
||||
|
@ -633,6 +634,18 @@ DEF
|
|||
assert_success
|
||||
}
|
||||
|
||||
@test "JRuby Java 10 version string" {
|
||||
cached_tarball "jruby-9000.dev" bin/jruby
|
||||
|
||||
stub java "-version : echo 'java version \"10.8\"' >&2"
|
||||
|
||||
run_inline_definition <<DEF
|
||||
require_java 9
|
||||
install_package "jruby-9000.dev" "http://ci.jruby.org/jruby-dist-9000.dev-bin.tar.gz" jruby
|
||||
DEF
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "TruffleRuby post-install hook" {
|
||||
executable "${RUBY_BUILD_CACHE_PATH}/truffleruby-test/lib/truffle/post_install_hook.sh" <<OUT
|
||||
echo Running post-install hook
|
||||
|
|
Loading…
Reference in a new issue