extend/pathname: use shortened brew paths
This commit is contained in:
parent
318175cfe2
commit
e7ab760392
@ -365,7 +365,7 @@ class Pathname
|
|||||||
target = Pathname.new(target) # allow pathnames or strings
|
target = Pathname.new(target) # allow pathnames or strings
|
||||||
join(target.basename).write <<~SH
|
join(target.basename).write <<~SH
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
exec "#{target}" "$@"
|
exec "#{Utils.shortened_brew_path(target)}" "$@"
|
||||||
SH
|
SH
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -381,7 +381,7 @@ class Pathname
|
|||||||
dirname.mkpath
|
dirname.mkpath
|
||||||
write <<~SH
|
write <<~SH
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#{env_export}exec "#{target}" #{args} "$@"
|
#{env_export}exec "#{Utils.shortened_brew_path(target)}" #{args} "$@"
|
||||||
SH
|
SH
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -410,7 +410,7 @@ class Pathname
|
|||||||
mkpath
|
mkpath
|
||||||
(self/script_name).write <<~EOS
|
(self/script_name).write <<~EOS
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export JAVA_HOME="#{Language::Java.overridable_java_home_env(java_version)[:JAVA_HOME]}"
|
export JAVA_HOME="#{Language::Java.overridable_short_java_home_env(java_version)[:JAVA_HOME]}"
|
||||||
exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@"
|
exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@"
|
||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
|
|||||||
@ -19,6 +19,14 @@ describe Language::Java do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
let(:expected_short_home) do
|
||||||
|
if OS.mac?
|
||||||
|
"$(brew --prefix)/opt/openjdk/libexec/openjdk.jdk/Contents/Home"
|
||||||
|
else
|
||||||
|
"$(brew --prefix)/opt/openjdk/libexec"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
before do
|
before do
|
||||||
allow(Formula).to receive(:[]).and_return(f)
|
allow(Formula).to receive(:[]).and_return(f)
|
||||||
allow(f).to receive(:any_version_installed?).and_return(true)
|
allow(f).to receive(:any_version_installed?).and_return(true)
|
||||||
@ -49,6 +57,18 @@ describe Language::Java do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "::short_java_home_env" do
|
||||||
|
it "returns short java_home path if version specified" do
|
||||||
|
short_java_home_env = described_class.short_java_home_env("1.8+")
|
||||||
|
expect(short_java_home_env[:JAVA_HOME]).to eql(expected_short_home)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns short java_home path if version is not specified" do
|
||||||
|
short_java_home_env = described_class.short_java_home_env
|
||||||
|
expect(short_java_home_env[:JAVA_HOME]).to eql(expected_short_home)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "::overridable_java_home_env" do
|
describe "::overridable_java_home_env" do
|
||||||
it "returns java_home path if version specified" do
|
it "returns java_home path if version specified" do
|
||||||
overridable_java_home_env = described_class.overridable_java_home_env("1.8+")
|
overridable_java_home_env = described_class.overridable_java_home_env("1.8+")
|
||||||
@ -60,4 +80,16 @@ describe Language::Java do
|
|||||||
expect(overridable_java_home_env[:JAVA_HOME]).to eql("${JAVA_HOME:-#{expected_home}}")
|
expect(overridable_java_home_env[:JAVA_HOME]).to eql("${JAVA_HOME:-#{expected_home}}")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "::overridable_short_java_home_env" do
|
||||||
|
it "returns short java_home path if version specified" do
|
||||||
|
overridable_short_java_home_env = described_class.overridable_short_java_home_env("1.8+")
|
||||||
|
expect(overridable_short_java_home_env[:JAVA_HOME]).to eql("${JAVA_HOME:-#{expected_short_home}}")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns short java_home path if version is not specified" do
|
||||||
|
overridable_short_java_home_env = described_class.overridable_short_java_home_env
|
||||||
|
expect(overridable_short_java_home_env[:JAVA_HOME]).to eql("${JAVA_HOME:-#{expected_short_home}}")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user