From d9b617f3fb596602d8f658f16499af2a444a49ea Mon Sep 17 00:00:00 2001 From: ravinperera00 Date: Mon, 30 Sep 2024 13:44:32 +0530 Subject: [PATCH 1/2] Migrate to Java 21 --- .github/workflows/build-timestamped-master.yml | 2 +- .github/workflows/build-with-bal-test-graalvm.yml | 2 +- .github/workflows/central-publish.yml | 2 +- .github/workflows/process-load-test-result.yml | 2 +- .github/workflows/publish-release.yml | 2 +- .github/workflows/pull-request.yml | 2 +- .github/workflows/trivy-scan.yml | 2 +- README.md | 2 +- build-config/resources/Ballerina.toml | 6 +++--- compiler-plugin/build.gradle | 7 +++++-- gradle.properties | 6 +++--- integration-tests/Ballerina.toml | 8 ++++---- native/build.gradle | 7 +++++-- test-utils/build.gradle | 7 +++++-- 14 files changed, 33 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build-timestamped-master.yml b/.github/workflows/build-timestamped-master.yml index 2d154ffc..f202d1aa 100644 --- a/.github/workflows/build-timestamped-master.yml +++ b/.github/workflows/build-timestamped-master.yml @@ -14,5 +14,5 @@ jobs: call_workflow: name: Run Build Workflow if: ${{ github.repository_owner == 'ballerina-platform' }} - uses: ballerina-platform/ballerina-library/.github/workflows/build-timestamp-master-template.yml@main + uses: ballerina-platform/ballerina-library/.github/workflows/build-timestamp-master-template.yml@java21 secrets: inherit diff --git a/.github/workflows/build-with-bal-test-graalvm.yml b/.github/workflows/build-with-bal-test-graalvm.yml index 7c4a1370..511541a8 100644 --- a/.github/workflows/build-with-bal-test-graalvm.yml +++ b/.github/workflows/build-with-bal-test-graalvm.yml @@ -30,7 +30,7 @@ jobs: call_stdlib_workflow: name: Run StdLib Workflow if: ${{ github.event_name != 'schedule' || (github.event_name == 'schedule' && github.repository_owner == 'ballerina-platform') }} - uses: ballerina-platform/ballerina-library/.github/workflows/build-with-bal-test-graalvm-template.yml@main + uses: ballerina-platform/ballerina-library/.github/workflows/build-with-bal-test-graalvm-template.yml@java21 with: lang_tag: ${{ inputs.lang_tag }} lang_version: ${{ inputs.lang_version }} diff --git a/.github/workflows/central-publish.yml b/.github/workflows/central-publish.yml index 11922b55..ebe213e7 100644 --- a/.github/workflows/central-publish.yml +++ b/.github/workflows/central-publish.yml @@ -15,7 +15,7 @@ jobs: call_workflow: name: Run Central Publish Workflow if: ${{ github.repository_owner == 'ballerina-platform' }} - uses: ballerina-platform/ballerina-library/.github/workflows/central-publish-template.yml@main + uses: ballerina-platform/ballerina-library/.github/workflows/central-publish-template.yml@java21 secrets: inherit with: environment: ${{ github.event.inputs.environment }} diff --git a/.github/workflows/process-load-test-result.yml b/.github/workflows/process-load-test-result.yml index b60ecdbf..d81380aa 100644 --- a/.github/workflows/process-load-test-result.yml +++ b/.github/workflows/process-load-test-result.yml @@ -6,7 +6,7 @@ on: jobs: call_stdlib_process_load_test_results_workflow: name: Run StdLib Process Load Test Results Workflow - uses: ballerina-platform/ballerina-library/.github/workflows/process-load-test-results-template.yml@main + uses: ballerina-platform/ballerina-library/.github/workflows/process-load-test-results-template.yml@java21 with: results: ${{ toJson(github.event.client_payload.results) }} secrets: diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index ba6201d3..87f980e4 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -9,7 +9,7 @@ jobs: call_workflow: name: Run Release Workflow if: ${{ github.repository_owner == 'ballerina-platform' }} - uses: ballerina-platform/ballerina-library/.github/workflows/release-package-template.yml@main + uses: ballerina-platform/ballerina-library/.github/workflows/release-package-template.yml@java21 secrets: inherit with: package-name: log diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 31e0976d..db98c8e1 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -10,5 +10,5 @@ jobs: call_workflow: name: Run PR Build Workflow if: ${{ github.repository_owner == 'ballerina-platform' }} - uses: ballerina-platform/ballerina-library/.github/workflows/pull-request-build-template.yml@main + uses: ballerina-platform/ballerina-library/.github/workflows/pull-request-build-template.yml@java21 secrets: inherit diff --git a/.github/workflows/trivy-scan.yml b/.github/workflows/trivy-scan.yml index c02c8ff4..41e8f6ad 100644 --- a/.github/workflows/trivy-scan.yml +++ b/.github/workflows/trivy-scan.yml @@ -9,5 +9,5 @@ jobs: call_workflow: name: Run Trivy Scan Workflow if: ${{ github.repository_owner == 'ballerina-platform' }} - uses: ballerina-platform/ballerina-library/.github/workflows/trivy-scan-template.yml@main + uses: ballerina-platform/ballerina-library/.github/workflows/trivy-scan-template.yml@java21 secrets: inherit diff --git a/README.md b/README.md index e361ac0f..b845628f 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ This repository only contains the source code for the package. ### Set up the prerequisites -1. Download and install Java SE Development Kit (JDK) version 17 (from one of the following locations). +1. Download and install Java SE Development Kit (JDK) version 21 (from one of the following locations). * [Oracle](https://www.oracle.com/java/technologies/downloads/) * [OpenJDK](https://adoptium.net/) diff --git a/build-config/resources/Ballerina.toml b/build-config/resources/Ballerina.toml index fc7feb81..096d4b54 100644 --- a/build-config/resources/Ballerina.toml +++ b/build-config/resources/Ballerina.toml @@ -9,16 +9,16 @@ icon = "icon.png" license = ["Apache-2.0"] distribution = "2201.10.0" -[platform.java17] +[platform.java21] graalvmCompatible = true -[[platform.java17.dependency]] +[[platform.java21.dependency]] groupId = "io.ballerina.stdlib" artifactId = "log-native" version = "@toml.version@" path = "../native/build/libs/log-native-@project.version@.jar" -[[platform.java17.dependency]] +[[platform.java21.dependency]] groupId = "io.ballerina.stdlib" artifactId = "log-test-utils" version = "@toml.version@" diff --git a/compiler-plugin/build.gradle b/compiler-plugin/build.gradle index c4141c17..23a09353 100644 --- a/compiler-plugin/build.gradle +++ b/compiler-plugin/build.gradle @@ -48,8 +48,11 @@ checkstyle { checkstyleMain.dependsOn(":checkstyle:downloadCheckstyleRuleFiles") spotbugsMain { - effort "max" - reportLevel "low" + def classLoader = plugins["com.github.spotbugs"].class.classLoader + def SpotBugsConfidence = classLoader.findLoadedClass("com.github.spotbugs.snom.Confidence") + def SpotBugsEffort = classLoader.findLoadedClass("com.github.spotbugs.snom.Effort") + effort = SpotBugsEffort.MAX + reportLevel = SpotBugsConfidence.LOW reportsDir = file("$project.buildDir/reports/spotbugs") reports { html.enabled true diff --git a/gradle.properties b/gradle.properties index b7d6a6cc..afae5b09 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,17 +2,17 @@ org.gradle.caching=true group=io.ballerina.stdlib version=2.10.1-SNAPSHOT checkstylePluginVersion=10.12.0 -spotbugsPluginVersion=5.0.14 +spotbugsPluginVersion=6.0.18 shadowJarPluginVersion=8.1.1 downloadPluginVersion=5.4.0 releasePluginVersion=2.6.0 puppycrawlCheckstyleVersion=10.12.0 ballerinaGradlePluginVersion=2.0.1 -ballerinaLangVersion=2201.10.0 +ballerinaLangVersion=2201.10.0-20240926-231800-8a5a4343 #stdlib dependencies -stdlibIoVersion=1.6.0 +stdlibIoVersion=1.6.2-20240928-084100-656404f observeVersion=1.3.0 observeInternalVersion=1.3.0 testngVersion=6.14.3 diff --git a/integration-tests/Ballerina.toml b/integration-tests/Ballerina.toml index 8afd404e..ebfdfe37 100644 --- a/integration-tests/Ballerina.toml +++ b/integration-tests/Ballerina.toml @@ -1,20 +1,20 @@ [package] org = "ballerina" name = "integration_tests" -version = "@toml.version@" +version = "2.10.1" [[platform.java17.dependency]] groupId = "io.ballerina.stdlib" artifactId = "log-native" -path = "../native/build/libs/log-native-@project.version@.jar" +path = "../native/build/libs/log-native-2.10.1-SNAPSHOT.jar" [[platform.java17.dependency]] groupId = "io.ballerina.stdlib" artifactId = "log-test-utils" scope = "testOnly" -path = "../test-utils/build/libs/log-test-utils-@project.version@.jar" +path = "../test-utils/build/libs/log-test-utils-2.10.1-SNAPSHOT.jar" [[platform.java17.dependency]] groupId = "io.ballerina.stdlib" artifactId = "io-native" -path = "./lib/io-native-@io.native.version@.jar" +path = "./lib/io-native-1.6.2-20240928-084100-656404f.jar" diff --git a/native/build.gradle b/native/build.gradle index e6b1dc91..e865a8a2 100644 --- a/native/build.gradle +++ b/native/build.gradle @@ -31,9 +31,12 @@ dependencies { } spotbugsMain { + def classLoader = plugins["com.github.spotbugs"].class.classLoader + def SpotBugsConfidence = classLoader.findLoadedClass("com.github.spotbugs.snom.Confidence") + def SpotBugsEffort = classLoader.findLoadedClass("com.github.spotbugs.snom.Effort") ignoreFailures = true - effort = "max" - reportLevel = "low" + effort = SpotBugsEffort.MAX + reportLevel = SpotBugsConfidence.LOW reportsDir = file("$project.buildDir/reports/spotbugs") def excludeFile = file("${rootDir}/build-config/spotbugs-exclude.xml") if (excludeFile.exists()) { diff --git a/test-utils/build.gradle b/test-utils/build.gradle index 6e242d55..767af4ff 100644 --- a/test-utils/build.gradle +++ b/test-utils/build.gradle @@ -33,9 +33,12 @@ dependencies { } spotbugsMain { + def classLoader = plugins["com.github.spotbugs"].class.classLoader + def SpotBugsConfidence = classLoader.findLoadedClass("com.github.spotbugs.snom.Confidence") + def SpotBugsEffort = classLoader.findLoadedClass("com.github.spotbugs.snom.Effort") ignoreFailures = true - effort = "max" - reportLevel = "low" + effort = SpotBugsEffort.MAX + reportLevel = SpotBugsConfidence.LOW reportsDir = file("$project.buildDir/reports/spotbugs") def excludeFile = file("${rootDir}/build-config/spotbugs-exclude.xml") if (excludeFile.exists()) { From 5a68d3ddfbbb34ad3bb546e5494cc8a48cc95192 Mon Sep 17 00:00:00 2001 From: ravinperera00 Date: Mon, 30 Sep 2024 13:52:33 +0530 Subject: [PATCH 2/2] Remove unnecessary changes --- ballerina/Ballerina.toml | 6 +++--- integration-tests/Ballerina.toml | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ballerina/Ballerina.toml b/ballerina/Ballerina.toml index ea2b88ce..5ddfe396 100644 --- a/ballerina/Ballerina.toml +++ b/ballerina/Ballerina.toml @@ -9,16 +9,16 @@ icon = "icon.png" license = ["Apache-2.0"] distribution = "2201.10.0" -[platform.java17] +[platform.java21] graalvmCompatible = true -[[platform.java17.dependency]] +[[platform.java21.dependency]] groupId = "io.ballerina.stdlib" artifactId = "log-native" version = "2.10.0" path = "../native/build/libs/log-native-2.10.0.jar" -[[platform.java17.dependency]] +[[platform.java21.dependency]] groupId = "io.ballerina.stdlib" artifactId = "log-test-utils" version = "2.10.0" diff --git a/integration-tests/Ballerina.toml b/integration-tests/Ballerina.toml index ebfdfe37..dffd6200 100644 --- a/integration-tests/Ballerina.toml +++ b/integration-tests/Ballerina.toml @@ -1,20 +1,20 @@ [package] org = "ballerina" name = "integration_tests" -version = "2.10.1" +version = "@toml.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] groupId = "io.ballerina.stdlib" artifactId = "log-native" -path = "../native/build/libs/log-native-2.10.1-SNAPSHOT.jar" +path = "../native/build/libs/log-native-@project.version@.jar" -[[platform.java17.dependency]] +[[platform.java21.dependency]] groupId = "io.ballerina.stdlib" artifactId = "log-test-utils" scope = "testOnly" -path = "../test-utils/build/libs/log-test-utils-2.10.1-SNAPSHOT.jar" +path = "../test-utils/build/libs/log-test-utils-@project.version@.jar" -[[platform.java17.dependency]] +[[platform.java21.dependency]] groupId = "io.ballerina.stdlib" artifactId = "io-native" -path = "./lib/io-native-1.6.2-20240928-084100-656404f.jar" +path = "./lib/io-native-@io.native.version@.jar"