Skip to content

Commit e60bd74

Browse files
author
Christopher Frost
committed
Fix failing tc buildpack tests
This commit moves some changes from the tc-server buildpack up to the Java buildpack in order to avoid mutating delta with the tc-server buildpack. These changes are required to get the tc-server system tests passing. [#96170478]
1 parent 1393184 commit e60bd74

File tree

6 files changed

+39
-34
lines changed

6 files changed

+39
-34
lines changed

java-buildpack.iml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@
271271
<orderEntry type="library" scope="PROVIDED" name="addressable (v2.3.8, rbenv: 1.9.3-p551) [gem]" level="application" />
272272
<orderEntry type="library" scope="PROVIDED" name="ast (v2.0.0, rbenv: 1.9.3-p551) [gem]" level="application" />
273273
<orderEntry type="library" scope="PROVIDED" name="astrolabe (v1.3.0, rbenv: 1.9.3-p551) [gem]" level="application" />
274-
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.9.5, rbenv: 1.9.3-p551) [gem]" level="application" />
274+
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.8.2, rbenv: 1.9.3-p551) [gem]" level="application" />
275275
<orderEntry type="library" scope="PROVIDED" name="codeclimate-test-reporter (v0.4.7, rbenv: 1.9.3-p551) [gem]" level="application" />
276276
<orderEntry type="library" scope="PROVIDED" name="crack (v0.4.2, rbenv: 1.9.3-p551) [gem]" level="application" />
277277
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.2.5, rbenv: 1.9.3-p551) [gem]" level="application" />

lib/java_buildpack/component/immutable_java_home.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def initialize(delegate, droplet_root)
3939
#
4040
# @return [String] the path of +JAVA_HOME+ as an environment variable
4141
def as_env_var
42-
"JAVA_HOME=#{root}"
42+
"JAVA_HOME=#{qualify_path root}"
4343
end
4444

4545
# Whether or not the version of Java is 8 or later
@@ -49,9 +49,9 @@ def java_8_or_later?
4949
@delegate.java_8_or_later?
5050
end
5151

52-
# @return [String] the root of the droplet's +JAVA_HOME+ formatted as +$PWD/<value>+
52+
# @return [Pathname] the root of the droplet's +JAVA_HOME+
5353
def root
54-
qualify_path @delegate.root
54+
@delegate.root
5555
end
5656

5757
# @return # @return [JavaBuildpack::Util::TokenizedVersion] the tokenized droplet's +VERSION+

lib/java_buildpack/component/mutable_java_home.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class MutableJavaHome
3535
attr_accessor :version
3636

3737
# Whether or not the version of Java is 8 or later
38-
# @return [Boolean] +true+ iff the version is 1.8.0 or later
38+
# @return [Boolean] +true+ if the version is 1.8.0 or later
3939
def java_8_or_later?
4040
@version >= VERSION_8
4141
end

lib/java_buildpack/container/java_main.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
require 'java_buildpack/container'
1919
require 'java_buildpack/util/dash_case'
2020
require 'java_buildpack/util/java_main_utils'
21+
require 'java_buildpack/util/qualify_path'
2122

2223
module JavaBuildpack
2324
module Container
@@ -26,6 +27,7 @@ module Container
2627
# method. This isn't a _container_ in the traditional sense, but contains the functionality to manage the lifecycle
2728
# of Java +main()+ applications.
2829
class JavaMain < JavaBuildpack::Component::BaseComponent
30+
include JavaBuildpack::Util
2931

3032
# (see JavaBuildpack::Component::BaseComponent#detect)
3133
def detect
@@ -55,7 +57,7 @@ def release
5557
def release_text
5658
[
5759
port,
58-
"#{@droplet.java_home.root}/bin/java",
60+
"#{qualify_path @droplet.java_home.root, @droplet.root}/bin/java",
5961
@droplet.additional_libraries.as_classpath,
6062
@droplet.java_opts.join(' '),
6163
main_class,

spec/java_buildpack/component/immutable_java_home_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
end
3535

3636
it 'returns the qualified delegate root' do
37-
expect(immutable_java_home.root).to eq('$PWD/test-java-home')
37+
expect(immutable_java_home.root.to_s).to eq('test-java-home')
3838
end
3939

4040
it 'returns the delegate version' do

spec/java_buildpack/container/java_main_spec.rb

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
require 'spec_helper'
1818
require 'component_helper'
1919
require 'java_buildpack/container/java_main'
20+
require 'java_buildpack/util/qualify_path'
2021

2122
describe JavaBuildpack::Container::JavaMain do
23+
include JavaBuildpack::Util
2224
include_context 'component_helper'
2325

2426
shared_context 'explicit_main_class' do
@@ -57,63 +59,63 @@
5759

5860
it 'returns command' do
5961

60-
expect(component.release).to eq("#{java_home.root}/bin/java -cp $PWD/.:$PWD/.additional_libs/test-jar-1.jar:" \
61-
"$PWD/.additional_libs/test-jar-2.jar #{java_opts_str} " \
62-
'test-java-main-class')
62+
expect(component.release).to eq("#{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD/.:$PWD/." \
63+
'additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \
64+
" #{java_opts_str} test-java-main-class")
6365
end
6466
end
6567

6668
it 'returns additional classpath entries when Class-Path is specified',
6769
app_fixture: 'container_main' do
6870

69-
expect(component.release).to eq("#{java_home.root}/bin/java -cp $PWD/.:$PWD/.additional_libs/test-jar-1.jar:" \
70-
'$PWD/.additional_libs/test-jar-2.jar:$PWD/alpha.jar:$PWD/bravo.jar:' \
71-
"$PWD/charlie.jar #{java_opts_str} test-main-class")
71+
expect(component.release).to eq("#{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD/.:$PWD/." \
72+
'additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar:$PWD/' \
73+
"alpha.jar:$PWD/bravo.jar:$PWD/charlie.jar #{java_opts_str} test-main-class")
7274
end
7375

7476
context do
7577
let(:configuration) { { 'java_main_class' => 'test-java-main-class', 'arguments' => 'some arguments' } }
7678

7779
it 'returns command line arguments when they are specified' do
7880

79-
expect(component.release).to eq("#{java_home.root}/bin/java -cp $PWD/.:$PWD/.additional_libs/test-jar-1.jar:" \
80-
"$PWD/.additional_libs/test-jar-2.jar #{java_opts_str} " \
81-
'test-java-main-class some arguments')
81+
expect(component.release).to eq("#{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD/.:$PWD/." \
82+
'additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \
83+
" #{java_opts_str} test-java-main-class some arguments")
8284
end
8385
end
8486

8587
it 'releases Spring boot applications with a JarLauncher in the MANIFEST.MF by specifying a port',
8688
app_fixture: 'container_main_spring_boot_jar_launcher' do
8789

88-
expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \
89-
'$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \
90-
"#{java_opts_str} org.springframework.boot.loader.JarLauncher")
90+
expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD" \
91+
'/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \
92+
" #{java_opts_str} org.springframework.boot.loader.JarLauncher")
9193
end
9294

9395
it 'releases Spring boot applications with a WarLauncher in the MANIFEST.MF by specifying a port',
9496
app_fixture: 'container_main_spring_boot_war_launcher' do
9597

96-
expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \
97-
'$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \
98-
"#{java_opts_str} org.springframework.boot.loader.WarLauncher")
98+
expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD" \
99+
'/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \
100+
" #{java_opts_str} org.springframework.boot.loader.WarLauncher")
99101
end
100102

101103
it 'releases Spring boot applications with a PropertiesLauncher in the MANIFEST.MF by specifying a port',
102104
app_fixture: 'container_main_spring_boot_properties_launcher' do
103105

104-
expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \
105-
'$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \
106-
"#{java_opts_str} org.springframework.boot.loader.PropertiesLauncher")
106+
expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp $PWD" \
107+
'/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar' \
108+
" #{java_opts_str} org.springframework.boot.loader.PropertiesLauncher")
107109
end
108110

109111
context do
110112
let(:configuration) { { 'java_main_class' => 'org.springframework.boot.loader.JarLauncher' } }
111113

112114
it 'releases Spring boot applications with a JarLauncher in the configuration by specifying a port' do
113115

114-
expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \
115-
'$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \
116-
"#{java_opts_str} org.springframework.boot.loader.JarLauncher")
116+
expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp " \
117+
'$PWD/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/' \
118+
"test-jar-2.jar #{java_opts_str} org.springframework.boot.loader.JarLauncher")
117119
end
118120
end
119121

@@ -122,9 +124,9 @@
122124

123125
it 'releases Spring boot applications with a WarLauncher in the configuration by specifying a port' do
124126

125-
expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \
126-
'$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \
127-
"#{java_opts_str} org.springframework.boot.loader.WarLauncher")
127+
expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java -cp " \
128+
'$PWD/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/' \
129+
"test-jar-2.jar #{java_opts_str} org.springframework.boot.loader.WarLauncher")
128130
end
129131
end
130132

@@ -133,9 +135,10 @@
133135

134136
it 'releases Spring boot applications with a PropertiesLauncher in the configuration by specifying a port' do
135137

136-
expect(component.release).to eq("SERVER_PORT=$PORT #{java_home.root}/bin/java -cp $PWD/.:" \
137-
'$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs/test-jar-2.jar ' \
138-
"#{java_opts_str} org.springframework.boot.loader.PropertiesLauncher")
138+
expect(component.release).to eq("SERVER_PORT=$PORT #{qualify_path java_home.root, droplet.root}/bin/java " \
139+
'-cp $PWD/.:$PWD/.additional_libs/test-jar-1.jar:$PWD/.additional_libs' \
140+
"/test-jar-2.jar #{java_opts_str} org.springframework.boot.loader." \
141+
'PropertiesLauncher')
139142
end
140143
end
141144

0 commit comments

Comments
 (0)