From f936de542bd1a347b5eb39929d4c84bd8ec21ff6 Mon Sep 17 00:00:00 2001 From: Matt Gogerly <6519811+mattgogerly@users.noreply.github.com> Date: Tue, 11 Jun 2024 22:15:44 +0100 Subject: [PATCH] chore(build): enable cross compilation plugin for Java 17 (#4738) * chore(build): enable cross compilation plugin for Java 17 * chore(build): upgrade ErrorProne to support JDK 17 * chore(build): run spotless --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 4 ++-- .github/workflows/pr.yml | 4 ++-- .github/workflows/release.yml | 6 +++--- Dockerfile.compile | 16 ++++++++-------- build.gradle | 11 ----------- gradle.properties | 2 +- orca-api/orca-api.gradle | 4 ++-- 7 files changed, 18 insertions(+), 29 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f77598c899..5f9b8f5a0c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,8 +26,8 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 17 11 + 17 distribution: 'zulu' cache: 'gradle' - name: Prepare build variables @@ -38,7 +38,7 @@ jobs: - name: Build env: ORG_GRADLE_PROJECT_version: ${{ steps.build_variables.outputs.VERSION }} - run: ./gradlew build --stacktrace ${{ steps.build_variables.outputs.REPO }}-web:installDist + run: ./gradlew -PenableCrossCompilerPlugin=true build --stacktrace ${{ steps.build_variables.outputs.REPO }}-web:installDist - name: Build local slim container image for testing uses: docker/build-push-action@v5 with: diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 6574b215e8..82ac8011c9 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -20,8 +20,8 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 17 11 + 17 distribution: 'zulu' cache: 'gradle' - name: Prepare build variables @@ -32,7 +32,7 @@ jobs: - name: Build env: ORG_GRADLE_PROJECT_version: ${{ steps.build_variables.outputs.VERSION }} - run: ./gradlew build ${{ steps.build_variables.outputs.REPO }}-web:installDist + run: ./gradlew -PenableCrossCompilerPlugin=true build ${{ steps.build_variables.outputs.REPO }}-web:installDist - name: Build slim container image uses: docker/build-push-action@v5 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6da9c14730..25552fab4d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -44,8 +44,8 @@ jobs: - uses: actions/setup-java@v4 with: java-version: | - 17 11 + 17 distribution: 'zulu' cache: 'gradle' - name: Assemble release info @@ -72,14 +72,14 @@ jobs: ORG_GRADLE_PROJECT_nexusPgpSigningKey: ${{ secrets.NEXUS_PGP_SIGNING_KEY }} ORG_GRADLE_PROJECT_nexusPgpSigningPassword: ${{ secrets.NEXUS_PGP_SIGNING_PASSWORD }} run: | - ./gradlew --info build ${{ steps.build_variables.outputs.REPO }}-web:installDist publishToNexus closeAndReleaseNexusStagingRepository + ./gradlew -PenableCrossCompilerPlugin=true --info build ${{ steps.build_variables.outputs.REPO }}-web:installDist publishToNexus closeAndReleaseNexusStagingRepository - name: Publish apt packages to Google Artifact Registry env: ORG_GRADLE_PROJECT_version: ${{ steps.release_info.outputs.RELEASE_VERSION }} ORG_GRADLE_PROJECT_artifactRegistryPublishEnabled: true GAR_JSON_KEY: ${{ secrets.GAR_JSON_KEY }} run: | - ./gradlew --info publish + ./gradlew -PenableCrossCompilerPlugin=true --info publish - name: Login to Google Cloud # Only run this on repositories in the 'spinnaker' org, not on forks. if: startsWith(github.repository, 'spinnaker/') diff --git a/Dockerfile.compile b/Dockerfile.compile index 261aacc931..80913ca3a0 100644 --- a/Dockerfile.compile +++ b/Dockerfile.compile @@ -1,8 +1,8 @@ -FROM ubuntu:bionic -RUN apt-get update && apt-get install -y \ - openjdk-11-jdk \ - && rm -rf /var/lib/apt/lists/* -LABEL maintainer="sig-platform@spinnaker.io" -ENV GRADLE_USER_HOME /workspace/.gradle -ENV GRADLE_OPTS -Xmx6g -CMD ./gradlew --no-daemon orca-web:installDist -x test +FROM ubuntu:bionic +RUN apt-get update && apt-get install -y \ + openjdk-11-jdk \ + && rm -rf /var/lib/apt/lists/* +LABEL maintainer="sig-platform@spinnaker.io" +ENV GRADLE_USER_HOME /workspace/.gradle +ENV GRADLE_OPTS -Xmx6g +CMD ./gradlew -PenableCrossCompilerPlugin=true --no-daemon orca-web:installDist -x test diff --git a/build.gradle b/build.gradle index 05b12f1d16..d7f711e90a 100644 --- a/build.gradle +++ b/build.gradle @@ -27,17 +27,6 @@ allprojects { group = "io.spinnaker.orca" - tasks.withType(JavaCompile).configureEach { - javaCompiler = javaToolchains.compilerFor { - languageVersion = JavaLanguageVersion.of(11) - } - } - tasks.withType(Test).configureEach { - javaLauncher = javaToolchains.launcherFor { - languageVersion = JavaLanguageVersion.of(17) - } - } - tasks.withType(JavaExec) { if (System.getProperty('DEBUG', 'false') == 'true') { jvmArgs '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8183' diff --git a/gradle.properties b/gradle.properties index 68d7d3538a..c92f652972 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ kotlinVersion=1.6.21 org.gradle.parallel=true org.gradle.jvmargs=-Xmx6g spinnakerGradleVersion=8.32.1 -targetJava11=true +targetJava17=false # To enable a composite reference to a project, set the # project property `'Composite=true'`. diff --git a/orca-api/orca-api.gradle b/orca-api/orca-api.gradle index a644afa4be..9a13bba21a 100644 --- a/orca-api/orca-api.gradle +++ b/orca-api/orca-api.gradle @@ -15,7 +15,7 @@ */ plugins { - id("net.ltgt.errorprone") version "1.2.1" + id("net.ltgt.errorprone") version "4.0.0" } apply from: "$rootDir/gradle/kotlin.gradle" @@ -28,7 +28,7 @@ sourceSets { } dependencies { - errorprone("com.google.errorprone:error_prone_core:2.4.0") + errorprone("com.google.errorprone:error_prone_core:2.28.0") implementation platform("io.spinnaker.kork:kork-bom:$korkVersion") annotationProcessor platform("io.spinnaker.kork:kork-bom:$korkVersion")