Skip to content

Commit c024e8a

Browse files
authored
chore(ci): Use java 17 as default (#143)
2 parents 0907e29 + 6684d4e commit c024e8a

File tree

6 files changed

+34
-19
lines changed

6 files changed

+34
-19
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ jobs:
2727
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 #v4.7.1
2828
with:
2929
distribution: 'temurin'
30-
java-version: '11'
30+
java-version: |
31+
11
32+
17
3133
- name: Prepare HOME/openjdk11
3234
run: ln -sfn "${JAVA_HOME_11_X64}" "${HOME}/openjdk11"
3335
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 #v4.2.4

.github/workflows/manual-integration-tests.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ jobs:
2222
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 #v4.7.1
2323
with:
2424
distribution: 'temurin'
25-
java-version: '11'
25+
java-version: |
26+
11
27+
17
2628
- name: Prepare HOME/openjdk11
2729
run: ln -sfn "${JAVA_HOME_11_X64}" "${HOME}/openjdk11"
2830
- uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 #v4.2.4

History.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
## Enhancements
44
## Fixed Issues
55
## Merged pull requests
6+
* [#143](https://github.com/pmd/pmd-regression-tester/pull/143): chore(ci): Use java 17 as default - [Andreas Dangel](https://github.com/adangel) (@adangel)
67
## Dependency Updates
78

89
# 1.6.1 / 2025-09-19

lib/pmdtester/builders/pmd_report_builder.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -250,16 +250,18 @@ def find_pmd_dist_target
250250

251251
def build_pmd_with_maven
252252
logger.info "#{@pmd_branch_name}: Building PMD #{@pmd_version}..."
253+
extra_java_home = nil
253254

254255
package_cmd = if Semver.compare(@pmd_version, '7.14.0') >= 0
255256
# build command since PMD migrated to central portal
256-
'./mvnw clean package ' \
257+
'./mvnw clean package -V ' \
257258
'-PfastSkip ' \
258259
'-DskipTests ' \
259260
'-T1C -B'
260261
else
262+
extra_java_home = "#{Dir.home}/openjdk11"
261263
# build command for older PMD versions
262-
'./mvnw clean package ' \
264+
'./mvnw clean package -V ' \
263265
"-s #{ResourceLocator.resource('maven-settings.xml')} " \
264266
'-Pfor-dokka-maven-plugin ' \
265267
'-Dmaven.test.skip=true ' \
@@ -270,8 +272,8 @@ def build_pmd_with_maven
270272
'-T1C -B'
271273
end
272274

273-
logger.debug "#{@pmd_branch_name}: maven command: #{package_cmd}"
274-
Cmd.execute_successfully(package_cmd)
275+
logger.debug "#{@pmd_branch_name}: maven command: #{package_cmd} java_home: #{extra_java_home}"
276+
Cmd.execute_successfully(package_cmd, extra_java_home)
275277
end
276278
end
277279
end

lib/pmdtester/cmd.rb

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Cmd
1313
# in path.
1414
#
1515
def self.execute(cmd, path)
16-
stdout, stderr, status = internal_execute(cmd)
16+
stdout, stderr, status = internal_execute(cmd, nil)
1717

1818
file = File.new("#{path}/stdout.txt", 'w')
1919
file.puts stdout
@@ -26,8 +26,8 @@ def self.execute(cmd, path)
2626
status
2727
end
2828

29-
def self.execute_successfully(cmd)
30-
stdout, stderr, status = internal_execute(cmd)
29+
def self.execute_successfully(cmd, extra_java_home = nil)
30+
stdout, stderr, status = internal_execute(cmd, extra_java_home)
3131

3232
unless status.success?
3333
logger.error "Command failed: #{cmd}"
@@ -40,14 +40,20 @@ def self.execute_successfully(cmd)
4040
end
4141

4242
def self.stderr_of(cmd)
43-
_stdout, stderr, _status = internal_execute(cmd)
43+
_stdout, stderr, _status = internal_execute(cmd, nil)
4444
stderr
4545
end
4646

47-
def self.internal_execute(cmd)
48-
logger.debug "execute command '#{cmd}'"
47+
def self.internal_execute(cmd, extra_java_home)
48+
logger.debug "execute command '#{cmd}' (extra_java_home: #{extra_java_home})"
4949

50-
stdout, stderr, status = Open3.capture3("#{cmd};")
50+
new_env = ENV.to_h
51+
unless extra_java_home.nil?
52+
new_env['JAVA_HOME'] = extra_java_home
53+
new_env['PATH'] = "#{extra_java_home}/bin:#{new_env['PATH']}"
54+
end
55+
56+
stdout, stderr, status = Open3.capture3(new_env, "#{cmd};")
5157

5258
logger.debug "status: #{status}"
5359
logger.debug "stdout: #{stdout}"

test/test_pmd_report_builder.rb

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -367,13 +367,14 @@ def cleanup_pmd_dist_dir(base_dir:)
367367
end
368368

369369
def stub_pmd_build_maven(binary_name:)
370-
PmdTester::Cmd.stubs(:execute_successfully).with do |cmd|
371-
if cmd == './mvnw clean package ' \
370+
PmdTester::Cmd.stubs(:execute_successfully).with do |cmd, extra_java_home|
371+
if cmd == './mvnw clean package -V ' \
372372
"-s #{PmdTester::ResourceLocator.resource('maven-settings.xml')} " \
373373
'-Pfor-dokka-maven-plugin ' \
374374
'-Dmaven.test.skip=true ' \
375375
'-Dmaven.javadoc.skip=true -Dmaven.source.skip=true ' \
376-
'-Dcheckstyle.skip=true -Dpmd.skip=true -T1C -B'
376+
'-Dcheckstyle.skip=true -Dpmd.skip=true -T1C -B' &&
377+
extra_java_home == "#{Dir.home}/openjdk11"
377378
FileUtils.mkdir_p 'pmd-dist/target'
378379
FileUtils.touch "pmd-dist/target/#{binary_name}"
379380
true
@@ -384,11 +385,12 @@ def stub_pmd_build_maven(binary_name:)
384385
end
385386

386387
def stub_pmd_build_maven_new_pmd7_build
387-
PmdTester::Cmd.stubs(:execute_successfully).with do |cmd|
388-
if cmd == './mvnw clean package ' \
388+
PmdTester::Cmd.stubs(:execute_successfully).with do |cmd, extra_java_home|
389+
if cmd == './mvnw clean package -V ' \
389390
'-PfastSkip ' \
390391
'-DskipTests ' \
391-
'-T1C -B'
392+
'-T1C -B' &&
393+
extra_java_home.nil?
392394
FileUtils.mkdir_p 'pmd-dist/target'
393395
FileUtils.touch "pmd-dist/target/pmd-dist-#{@pmd_version}-bin.zip"
394396
true

0 commit comments

Comments
 (0)