Skip to content

Commit

Permalink
Upgrade to JDK11
Browse files Browse the repository at this point in the history
Closes #2637

* Also upgraded all the dependencies to the latest
* Fixed the matrix as well to toggle between 11/16/17
  • Loading branch information
krmahadevan committed Jan 7, 2022
1 parent 03ca3d0 commit f60430f
Show file tree
Hide file tree
Showing 10 changed files with 44 additions and 77 deletions.
36 changes: 13 additions & 23 deletions .github/workflows/matrix.js
Expand Up @@ -8,28 +8,25 @@ matrix.addAxis({
title: x => x.version + ', ' + x.group,
values: [
// Zulu
{group: 'Zulu', version: '8', distribution: 'zulu', jit: 'hotspot'},
{group: 'Zulu', version: '11', distribution: 'zulu', jit: 'hotspot'},
{group: 'Zulu', version: '16', distribution: 'zulu', jit: 'hotspot'},
{group: 'Zulu', version: '17', distribution: 'zulu', jit: 'hotspot'},

// Adopt
{group: 'Adopt Hotspot', version: '8', distribution: 'adopt-hotspot', jit: 'hotspot'},
{group: 'Adopt Hotspot', version: '11', distribution: 'adopt-hotspot', jit: 'hotspot'},
{group: 'Adopt Hotspot', version: '16', distribution: 'adopt-hotspot', jit: 'hotspot'},
{group: 'Adopt Hotspot', version: '17', distribution: 'adopt-hotspot', jit: 'hotspot'},

// Adopt OpenJ9
// TODO: Replace these hard coded versions with something that dynamically picks the most recent
{group: 'Adopt OpenJ9', version: '8', distribution: 'adopt-openj9', jit: 'openj9'},
{group: 'Adopt OpenJ9', version: '11', distribution: 'adopt-openj9', jit: 'openj9'},
{group: 'Adopt OpenJ9', version: '16', distribution: 'adopt-openj9', jit: 'openj9'},
{group: 'Adopt OpenJ9', version: '17', distribution: 'adopt-openj9', jit: 'openj9'},

// Amazon Corretto
{
group: 'Corretto',
version: '8',
version: '17',
jit: 'hotspot',
distribution: 'jdkfile',
url: 'https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz'
url: 'https://corretto.aws/downloads/latest/amazon-corretto-17-x64-linux-jdk.tar.gz'
},
{
group: 'Corretto',
Expand All @@ -48,32 +45,25 @@ matrix.addAxis({
},
{
group: 'Microsoft',
version: '16',
version: '17',
jit: 'hotspot',
distribution: 'jdkfile',
url: 'https://aka.ms/download-jdk/microsoft-jdk-16.0.1.9.1-linux-x64.tar.gz'
url: 'https://aka.ms/download-jdk/microsoft-jdk-17.0.1.12.1-linux-x64.tar.gz'
},
// Liberica
{
group: 'Liberica',
version: '8',
version: '17',
jit: 'hotspot',
distribution: 'jdkfile',
url: 'https://download.bell-sw.com/java/8u292+10/bellsoft-jdk8u292+10-linux-amd64.tar.gz'
url: 'https://download.bell-sw.com/java/17.0.1+12/bellsoft-jdk17.0.1+12-linux-amd64.tar.gz'
},
{
group: 'Liberica',
version: '11',
jit: 'hotspot',
distribution: 'jdkfile',
url: 'https://download.bell-sw.com/java/11.0.11+9/bellsoft-jdk11.0.11+9-linux-amd64.tar.gz'
},
{
group: 'Liberica',
version: '16',
jit: 'hotspot',
distribution: 'jdkfile',
url: 'https://download.bell-sw.com/java/16.0.1+9/bellsoft-jdk16.0.1+9-linux-amd64.tar.gz'
url: 'https://download.bell-sw.com/java/11.0.13+8/bellsoft-jdk11.0.13+8-linux-amd64.tar.gz'
},
]
});
Expand Down Expand Up @@ -122,8 +112,8 @@ matrix.generateRow({hash: {value: 'same'}});
// Ensure at least one windows and at least one linux job is present (macos is almost the same as linux)
matrix.generateRow({os: 'windows-latest'});
matrix.generateRow({os: 'ubuntu-latest'});
// Ensure there will be at least one job with Java 8
matrix.generateRow({jdk: {version: 8}});
// Ensure there will be at least one job with Java 17
matrix.generateRow({jdk: {version: 17}});
// Ensure there will be at least one job with Java 11
matrix.generateRow({jdk: {version: 11}});
const include = matrix.generateRows(process.env.MATRIX_JOBS || 5);
Expand All @@ -144,7 +134,7 @@ include.forEach(v => {
// so it might reveal missing synchronization in TestNG code
v.name += ', stress JIT';
jvmArgs.push('-XX:+UnlockDiagnosticVMOptions');
if (v.jdk.version >= 8) {
if (v.jdk.version >= 11) {
// Randomize instruction scheduling in GCM
// share/opto/c2_globals.hpp
jvmArgs.push('-XX:+StressGCM');
Expand Down
2 changes: 2 additions & 0 deletions CHANGES.txt
@@ -1,4 +1,6 @@
Current
7.6.0
Fixed: GITHUB-2637: Upgrade to JDK11 as the minimum JDK requirements(Krishnan Mahadevan)

7.5
Fixed: GITHUB-2701: Bump gradle version to 7.3.3 to support java17 build (ZhangJian He)
Expand Down
Expand Up @@ -15,8 +15,12 @@ tasks.withType<JavaCompile>().configureEach {
inputs.property("java.vm.version", System.getProperty("java.vm.version"))
options.apply {
encoding = "UTF-8"
compilerArgs.add("-Xlint:deprecation")
compilerArgs.add("-Werror")
//We still are NOT compatible with JDK17 in terms of deprecation.
// But let's not fail builds for that reason
if (JavaVersion.current() != JavaVersion.VERSION_17) {
compilerArgs.add("-Xlint:deprecation")
compilerArgs.add("-Werror")
}
}
}

Expand Down
4 changes: 2 additions & 2 deletions build-logic/jvm/src/main/kotlin/testng.java.gradle.kts
Expand Up @@ -9,8 +9,8 @@ plugins {
}

java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}

tasks.withType<JavaCompile>().configureEach {
Expand Down
Expand Up @@ -6,12 +6,12 @@ plugins {
}

dependencies {
testImplementation(platform("org.jetbrains.kotlin:kotlin-bom:1.5.10"))
testImplementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
testImplementation(platform("org.jetbrains.kotlin:kotlin-bom:1.6.10"))
testImplementation("org.jetbrains.kotlin:kotlin-stdlib")
}

tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = "1.8"
jvmTarget = "11"
}
}
2 changes: 1 addition & 1 deletion settings.gradle.kts
Expand Up @@ -6,7 +6,7 @@ rootProject.name = "testng-root"

plugins {
`gradle-enterprise`
id("de.fayard.refreshVersions") version "0.10.0"
id("de.fayard.refreshVersions") version "0.30.1"
}

gradleEnterprise {
Expand Down
Expand Up @@ -2,17 +2,16 @@

import static org.assertj.core.api.Assertions.assertThat;

import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
import org.testng.DataProviderHolder;
import org.testng.IDataProviderListener;
import org.testng.ITestContext;
import org.testng.ITestNGMethod;
import org.testng.ITestObjectFactory;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import org.testng.collections.Maps;
import org.testng.internal.annotations.DefaultAnnotationTransformer;
import org.testng.internal.annotations.IAnnotationFinder;
Expand All @@ -30,7 +29,6 @@ public class ParameterHandlerTest extends SimpleBaseTest {

@BeforeClass
public void beforeClass() {
Collection<IDataProviderListener> listeners = Collections.emptyList();
IAnnotationFinder finder = new JDK15AnnotationFinder(new DefaultAnnotationTransformer());
handler =
new ParameterHandler(new ITestObjectFactory() {}, finder, new DataProviderHolder(), 0);
Expand Down Expand Up @@ -68,7 +66,8 @@ private void runTest(ITestNGMethod testNGMethod, ParameterHolder.ParameterOrigin
assertThat(params.parameterHolder).isNotNull();
assertThat(params.parameterHolder.origin).isEqualByComparingTo(origin);
Iterator<Object[]> iterators = params.parameterHolder.parameters;
assertThat(iterators).containsAll(Collections.singletonList(new Object[] {"bar"}));
assertThat(Lists.newArrayList(iterators))
.containsAll(Collections.singletonList(new Object[] {"bar"}));
}

private ParameterHandler.ParameterBag invokeParameterCreation(ITestNGMethod method) {
Expand Down
Expand Up @@ -7,7 +7,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.assertj.core.api.iterable.Extractor;
import java.util.function.Function;
import org.testng.Assert;
import org.testng.IAnnotationTransformer;
import org.testng.ITestResult;
Expand All @@ -32,7 +32,7 @@

public class AnnotationTransformerTest extends SimpleBaseTest {

private static final Extractor<ITestResult, String> NAME_EXTRACTOR = ITestResult::getName;
private static final Function<ITestResult, String> NAME_EXTRACTOR = ITestResult::getName;

/**
* Make sure that without a transformer in place, a class-level annotation invocationCount is
Expand Down
@@ -1,6 +1,6 @@
package test.configuration.github1700;

import static org.assertj.core.api.Java6Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThat;

import org.testng.TestNG;
import org.testng.annotations.Test;
Expand Down
50 changes: 11 additions & 39 deletions versions.properties
@@ -1,5 +1,5 @@
#### Dependencies and Plugin versions with their available updates.
#### Generated by `./gradlew refreshVersions` version 0.10.0
#### Generated by `./gradlew refreshVersions` version 0.30.1
####
#### Don't manually edit or split the comments that start with four hashtags (####),
#### they will be overwritten by refreshVersions.
Expand All @@ -11,17 +11,15 @@ plugin.com.github.johnrengelman.shadow=7.0.0

plugin.com.github.vlsi.gradle-extensions=1.74

plugin.com.github.vlsi.stage-vote-release=1.74
plugin.com.github.vlsi.stage-vote-release=1.77

version.ch.qos.logback..logback-classic=1.2.3

version.ch.qos.logback..logback-core=1.2.3

version.com.beust..jcommander=1.78
## # available=1.81
version.com.beust..jcommander=1.81

version.com.google.code.findbugs..jsr305=3.0.1
## # available=3.0.2
version.com.google.code.findbugs..jsr305=3.0.2

version.com.google.inject..guice-bom=5.0.1

Expand All @@ -31,37 +29,17 @@ version.javax..javaee-api=8.0.1

version.junit.junit=4.13.2

version.mockito=3.10.0
version.mockito=4.2.0

version.org.apache-extras.beanshell..bsh=2.0b6

version.org.apache.ant..ant-testutil=1.10.9
## # available=1.10.10
version.org.apache.ant..ant-testutil=1.10.12

version.org.apache.ant..ant=1.10.9
## # available=1.10.10
version.org.apache.ant..ant=1.10.12

version.org.apache.felix..org.apache.felix.framework=7.0.0

version.org.assertj..assertj-core=3.10.0
## # available=3.11.0
## # available=3.11.1
## # available=3.12.0
## # available=3.12.1
## # available=3.12.2
## # available=3.13.0
## # available=3.13.1
## # available=3.13.2
## # available=3.14.0
## # available=3.15.0
## # available=3.16.0
## # available=3.16.1
## # available=3.17.0
## # available=3.17.1
## # available=3.17.2
## # available=3.18.0
## # available=3.18.1
## # available=3.19.0
version.org.assertj..assertj-core=3.22.0

version.org.codehaus.groovy..groovy-all=2.4.7

Expand All @@ -84,16 +62,10 @@ version.org.spockframework..spock-core=1.0-groovy-2.4
version.org.webjars..jquery=3.5.1
## # available=3.6.0

version.org.xmlunit..xmlunit-assertj=2.8.2
version.org.xmlunit..xmlunit-assertj=2.8.4

version.org.yaml..snakeyaml=1.21
## # available=1.22
## # available=1.23
## # available=1.24
## # available=1.25
## # available=1.26
## # available=1.27
## # available=1.28
version.org.yaml..snakeyaml=1.30

version.org.slf4j..slf4j-simple=1.7.32

version.org.slf4j..slf4j-api=1.7.32

0 comments on commit f60430f

Please sign in to comment.