From ba27e38a9462a9ba05490c71e3e5f73466e5e223 Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Mon, 20 Jan 2025 11:38:15 +0530 Subject: [PATCH 1/9] Update workflows --- .github/workflows/build-dev-branches.yml | 12 ++++++------ .github/workflows/build-main.yml | 4 ++-- .github/workflows/central-publish.yml | 4 ++-- .github/workflows/daily-build.yml | 4 ++-- .github/workflows/graalvm-check.yml | 2 +- .github/workflows/publish-release.yml | 4 ++-- .github/workflows/pull-request.yml | 6 +++--- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-dev-branches.yml b/.github/workflows/build-dev-branches.yml index 3ae1f6f9..4a4a45ba 100644 --- a/.github/workflows/build-dev-branches.yml +++ b/.github/workflows/build-dev-branches.yml @@ -22,11 +22,11 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: - distribution: "temurin" - java-version: 17.0.7 + distribution: 'temurin' + java-version: 21.0.3 - name: Set up Ballerina if: github.event_name == 'workflow_dispatch' uses: ballerina-platform/setup-ballerina@v1.1.3 @@ -57,11 +57,11 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: - distribution: adopt - java-version: 17.0.7 + distribution: 'temurin' + java-version: 21.0.3 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Download Jaeger server executable diff --git a/.github/workflows/build-main.yml b/.github/workflows/build-main.yml index 34262b0e..d6a13112 100644 --- a/.github/workflows/build-main.yml +++ b/.github/workflows/build-main.yml @@ -21,11 +21,11 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: 17.0.7 + java-version: 21.0.3 - name: Set up Ballerina if: github.event_name == 'workflow_dispatch' uses: ballerina-platform/setup-ballerina@v1.1.3 diff --git a/.github/workflows/central-publish.yml b/.github/workflows/central-publish.yml index 8bbc5a9b..d9f27b14 100644 --- a/.github/workflows/central-publish.yml +++ b/.github/workflows/central-publish.yml @@ -22,11 +22,11 @@ jobs: if: github.repository_owner == 'ballerina-platform' steps: - uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: 17.0.7 + java-version: 21.0.3 - name: Set up Ballerina uses: ballerina-platform/setup-ballerina@v1.1.3 with: diff --git a/.github/workflows/daily-build.yml b/.github/workflows/daily-build.yml index 51bea32a..69c8692e 100644 --- a/.github/workflows/daily-build.yml +++ b/.github/workflows/daily-build.yml @@ -20,11 +20,11 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: 17.0.7 + java-version: 21.0.3 - name: Set up Ballerina if: github.event_name == 'workflow_dispatch' uses: ballerina-platform/setup-ballerina@v1.1.3 diff --git a/.github/workflows/graalvm-check.yml b/.github/workflows/graalvm-check.yml index 0138954e..5e5fb954 100644 --- a/.github/workflows/graalvm-check.yml +++ b/.github/workflows/graalvm-check.yml @@ -23,7 +23,7 @@ jobs: uses: graalvm/setup-graalvm@v1 with: version: 'latest' - java-version: '17.0.7' + java-version: '21.0.3' components: 'native-image' github-token: ${{ secrets.GITHUB_TOKEN }} - name: Check GraalVM installation diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index d2de80ae..f84ea52d 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -15,11 +15,11 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: 17.0.7 + java-version: 21.0.3 - name: Set up Ballerina uses: ballerina-platform/setup-ballerina@v1.1.3 with: diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 1ef9d056..fc0203a8 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -11,11 +11,11 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: - distribution: adopt - java-version: 17.0.7 + distribution: 'temurin' + java-version: 21.0.3 - name: Set up Ballerina uses: ballerina-platform/setup-ballerina@v1.1.3 with: From 785a6ac803465689d32fb56c3c346273d03a03c3 Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Mon, 20 Jan 2025 11:40:52 +0530 Subject: [PATCH 2/9] Migrate to Java 21 --- README.md | 2 +- ballerina/Ballerina.toml | 42 ++++++++++++++-------------- ballerina/Dependencies.toml | 2 +- ballerina/build.gradle | 4 +-- build-config/checkstyle/build.gradle | 4 +-- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index e343815a..87b902e2 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ### Setting 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/) diff --git a/ballerina/Ballerina.toml b/ballerina/Ballerina.toml index e3f13c65..8e3ee2b2 100644 --- a/ballerina/Ballerina.toml +++ b/ballerina/Ballerina.toml @@ -20,124 +20,124 @@ name = "jaeger" version = "@toml.version@" distribution = "2201.10.0" -[platform.java17] +[platform.java21] graalvmCompatible = true -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "../native/build/libs/jaeger-extension-native-@project.version@.jar" groupId = "ballerina" artifactId = "jaeger-extension-native" version = "@project.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/opentelemetry-sdk-trace-@opentelemetrySDK.version@.jar" groupId = "io.opentelemetry" artifactId = "opentelemetry-sdk-trace" version = "@opentelemetrySDK.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/opentelemetry-sdk-common-@opentelemetrySDK.version@.jar" groupId = "io.opentelemetry" artifactId = "opentelemetry-sdk-common" version = "@opentelemetrySDK.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/opentelemetry-semconv-@opentelemetrySemconv.version@.jar" groupId = "io.opentelemetry" artifactId = "opentelemetry-semconv" version = "@opentelemetrySemconv.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/opentelemetry-proto-@opentelemetryProto.version@.jar" groupId = "io.opentelemetry" artifactId = "opentelemetry-proto" version = "@opentelemetryProto.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/opentelemetry-exporter-otlp-trace-@opentelemetryExporter.version@.jar" groupId = "io.opentelemetry" artifactId = "opentelemetry-exporter-otlp-trace" version = "@opentelemetryExporter.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/opentelemetry-exporter-otlp-common-@opentelemetryExporter.version@.jar" groupId = "io.opentelemetry" artifactId = "opentelemetry-exporter-otlp-common" version = "@opentelemetryExporter.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/opentelemetry-extension-trace-propagators-@opentelemetry.version@.jar" groupId = "io.opentelemetry" artifactId = "opentelemetry-extension-trace-propagators" version = "@opentelemetry.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/guava-@guava.version@.jar" groupId = "com.google.guava" artifactId = "guava" version = "@guava.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/failureaccess-@failureAccess.version@.jar" groupId = "com.google.guava" artifactId = "failureaccess" version = "@failureAccess.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/grpc-api-@grpc.version@.jar" groupId = "io.grpc" artifactId = "grpc-api" version = "@grpc.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/grpc-context-@grpc.version@.jar" groupId = "io.grpc" artifactId = "grpc-context" version = "@grpc.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/grpc-core-@grpc.version@.jar" groupId = "io.grpc" artifactId = "grpc-core" version = "@grpc.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/grpc-stub-@grpc.version@.jar" groupId = "io.grpc" artifactId = "grpc-stub" version = "@grpc.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/grpc-protobuf-@grpc.version@.jar" groupId = "io.grpc" artifactId = "grpc-protobuf" version = "@grpc.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/grpc-protobuf-lite-@grpc.version@.jar" groupId = "io.grpc" artifactId = "grpc-protobuf-lite" version = "@grpc.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/grpc-netty-shaded-@grpc.version@.jar" groupId = "io.grpc" artifactId = "grpc-netty-shaded" version = "@grpc.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/protobuf-java-@protobuf.version@.jar" groupId = "com.google.protobuf" artifactId = "protobuf-java" version = "@protobuf.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/netty-handler-@netty.version@.jar" groupId = "io.netty" artifactId = "netty-handler" version = "@netty.version@" -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "./lib/perfmark-api-@perfmark.version@.jar" groupId = "io.perfmark" artifactId = "perfmark-api" diff --git a/ballerina/Dependencies.toml b/ballerina/Dependencies.toml index 5ad8716f..1e0b40c0 100644 --- a/ballerina/Dependencies.toml +++ b/ballerina/Dependencies.toml @@ -5,7 +5,7 @@ [ballerina] dependencies-toml-version = "2" -distribution-version = "2201.9.0" +distribution-version = "2201.11.0" [[package]] org = "ballerina" diff --git a/ballerina/build.gradle b/ballerina/build.gradle index e786c7c9..3de4172b 100644 --- a/ballerina/build.gradle +++ b/ballerina/build.gradle @@ -83,8 +83,8 @@ def artifactLibParent = file("${project.buildDir}/lib_parent/") def tomlVersion = stripBallerinaExtensionVersion("${project.version}") def ballerinaCentralAccessToken = System.getenv('BALLERINA_CENTRAL_ACCESS_TOKEN') def originalConfig = ballerinaConfigFile.text -def artifactJar = file("$project.projectDir/target/cache/${packageOrg}/${packageName}/${tomlVersion}/java17/") -def platform = "java17" +def artifactJar = file("$project.projectDir/target/cache/${packageOrg}/${packageName}/${tomlVersion}/java21/") +def platform = "java21" def skipTests = false def stripBallerinaExtensionVersion(String extVersion) { diff --git a/build-config/checkstyle/build.gradle b/build-config/checkstyle/build.gradle index 480a46d8..8e3bbc01 100644 --- a/build-config/checkstyle/build.gradle +++ b/build-config/checkstyle/build.gradle @@ -22,8 +22,8 @@ plugins { task downloadFiles(type: Download) { src([ - 'https://raw.githubusercontent.com/wso2/code-quality-tools/v1.4/checkstyle/jdk-17/checkstyle.xml', - 'https://raw.githubusercontent.com/wso2/code-quality-tools/v1.4/checkstyle/jdk-17/suppressions.xml' + 'https://raw.githubusercontent.com/wso2/code-quality-tools/v1.4/checkstyle/jdk-21/checkstyle.xml', + 'https://raw.githubusercontent.com/wso2/code-quality-tools/v1.4/checkstyle/jdk-21/suppressions.xml' ]) overwrite false onlyIfNewer true From d434083d45ef60aecf59135f7f59badab733cf8f Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Mon, 20 Jan 2025 11:46:31 +0530 Subject: [PATCH 3/9] Update spotbugs plugin version --- build.gradle | 21 ++++++++++++++------- gradle.properties | 5 +++++ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 9192abff..af16f839 100644 --- a/build.gradle +++ b/build.gradle @@ -18,9 +18,10 @@ import org.apache.tools.ant.taskdefs.condition.Os plugins { id 'checkstyle' - id "com.github.spotbugs" version "5.0.14" - id "net.researchgate.release" version "2.8.0" - id "de.undercouch.download" version "5.4.0" + id "com.github.spotbugs" version "${githubSpotbugsVersion}" + id "com.github.johnrengelman.shadow" version "${githubJohnrengelmanShadowVersion}" + id "de.undercouch.download" version "${underCouchDownloadVersion}" + id "net.researchgate.release" version "${researchgateReleaseVersion}" id "jacoco" } @@ -75,8 +76,11 @@ subprojects { } spotbugsMain { - it.effort "max" - it.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") + it.effort = SpotBugsEffort.MAX + it.reportLevel = SpotBugsConfidence.LOW it.reports { xml.enabled false html.enabled true @@ -88,8 +92,11 @@ subprojects { } spotbugsTest { - it.effort "max" - it.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") + it.effort = SpotBugsEffort.MAX + it.reportLevel = SpotBugsConfidence.LOW it.reports { xml.enabled false html.enabled true diff --git a/gradle.properties b/gradle.properties index 3d756791..875643b6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,6 +20,11 @@ org.gradle.parallel=true org.gradle.jvmargs='-Dfile.encoding=UTF-8' org.gradle.workers.max=3 +githubSpotbugsVersion=6.0.18 +githubJohnrengelmanShadowVersion=8.1.1 +underCouchDownloadVersion=5.4.0 +researchgateReleaseVersion=2.8.0 + # Native Dependency Versions openTelemetryVersion=1.32.0 openTelemetryExporterVersion=1.14.0 From 370ad800fbef49016fd2b88f2905571d3863462d Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Mon, 20 Jan 2025 14:16:44 +0530 Subject: [PATCH 4/9] Add Dependencies.toml --- ballerina/Dependencies.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ballerina/Dependencies.toml b/ballerina/Dependencies.toml index 1e0b40c0..73ff87d0 100644 --- a/ballerina/Dependencies.toml +++ b/ballerina/Dependencies.toml @@ -10,7 +10,7 @@ distribution-version = "2201.11.0" [[package]] org = "ballerina" name = "io" -version = "1.6.0" +version = "1.7.0" dependencies = [ {org = "ballerina", name = "jballerina.java"}, {org = "ballerina", name = "lang.value"} @@ -38,7 +38,7 @@ dependencies = [ [[package]] org = "ballerina" name = "observe" -version = "1.2.3" +version = "1.4.0" dependencies = [ {org = "ballerina", name = "jballerina.java"} ] @@ -50,7 +50,7 @@ modules = [ [[package]] org = "ballerinax" name = "jaeger" -version = "0.5.3" +version = "1.0.0" dependencies = [ {org = "ballerina", name = "io"}, {org = "ballerina", name = "jballerina.java"}, From a9fe174189a2bb432a26e4a407df80b0848a8e8e Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Mon, 20 Jan 2025 14:28:35 +0530 Subject: [PATCH 5/9] Fix checkstyle file download --- build-config/checkstyle/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-config/checkstyle/build.gradle b/build-config/checkstyle/build.gradle index 8e3bbc01..480a46d8 100644 --- a/build-config/checkstyle/build.gradle +++ b/build-config/checkstyle/build.gradle @@ -22,8 +22,8 @@ plugins { task downloadFiles(type: Download) { src([ - 'https://raw.githubusercontent.com/wso2/code-quality-tools/v1.4/checkstyle/jdk-21/checkstyle.xml', - 'https://raw.githubusercontent.com/wso2/code-quality-tools/v1.4/checkstyle/jdk-21/suppressions.xml' + 'https://raw.githubusercontent.com/wso2/code-quality-tools/v1.4/checkstyle/jdk-17/checkstyle.xml', + 'https://raw.githubusercontent.com/wso2/code-quality-tools/v1.4/checkstyle/jdk-17/suppressions.xml' ]) overwrite false onlyIfNewer true From ea385f590f8eb255f789dc3676c69273943150bd Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Mon, 20 Jan 2025 14:33:25 +0530 Subject: [PATCH 6/9] Update lang version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 875643b6..0d8e2e5a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ group=org.ballerinalang version=1.0.0-SNAPSHOT -ballerinaLangVersion=2201.10.0 +ballerinaLangVersion=2201.11.0-20241218-101200-109f6cc7 org.gradle.caching=true org.gradle.parallel=true org.gradle.jvmargs='-Dfile.encoding=UTF-8' From a4b685c2829289e40d8b1e84261749b5e488a36f Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Thu, 23 Jan 2025 14:20:48 +0530 Subject: [PATCH 7/9] Update jar group id --- ballerina/Ballerina.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ballerina/Ballerina.toml b/ballerina/Ballerina.toml index 8e3ee2b2..6ea5c5fb 100644 --- a/ballerina/Ballerina.toml +++ b/ballerina/Ballerina.toml @@ -43,7 +43,7 @@ version = "@opentelemetrySDK.version@" [[platform.java21.dependency]] path = "./lib/opentelemetry-semconv-@opentelemetrySemconv.version@.jar" -groupId = "io.opentelemetry" +groupId = "io.opentelemetry.semconv" artifactId = "opentelemetry-semconv" version = "@opentelemetrySemconv.version@" From 3bddf993a208ea708e93ee7d8c24c924d19b169d Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Thu, 23 Jan 2025 14:33:56 +0530 Subject: [PATCH 8/9] Change ballerina version to run PR check --- .github/workflows/pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index fc0203a8..7a1cddcc 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -3,7 +3,7 @@ name: Validate Pull Request on: pull_request env: - BALLERINA_DISTRIBUTION_VERSION: 2201.10.0 # Update this with the latest Ballerina version + BALLERINA_DISTRIBUTION_VERSION: nightly-2201.11.x # Update this with the latest Ballerina version jobs: ubuntu-build: From 59f3860288055fcb6e440e360192a45deb5a1de3 Mon Sep 17 00:00:00 2001 From: NipunaMadhushan Date: Thu, 23 Jan 2025 14:38:59 +0530 Subject: [PATCH 9/9] Update ballerina tests --- ballerina-tests/jaeger-server-tests/tests/test.bal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ballerina-tests/jaeger-server-tests/tests/test.bal b/ballerina-tests/jaeger-server-tests/tests/test.bal index d727b280..f2f8d9d3 100644 --- a/ballerina-tests/jaeger-server-tests/tests/test.bal +++ b/ballerina-tests/jaeger-server-tests/tests/test.bal @@ -358,7 +358,7 @@ function testHttpCachingClientSpanTags() returns error? { test:assertTrue(containsTag("src.object.name", httpCachingClientSpanTagKeys)); test:assertEquals(httpCachingClientSpanTags["src.object.name"], "ballerina/http/HttpCachingClient"); test:assertTrue(containsTag("src.position", httpCachingClientSpanTagKeys)); - test:assertEquals(httpCachingClientSpanTags["src.position"], "http_client_endpoint.bal:282:41"); + test:assertEquals(httpCachingClientSpanTags["src.position"], "http_client_endpoint.bal:285:41"); } @test:Config @@ -394,7 +394,7 @@ function testHttpClientSpanTags() returns error? { test:assertTrue(containsTag("src.object.name", httpClientSpanTagKeys)); test:assertEquals(httpClientSpanTags["src.object.name"], "ballerina/http/HttpClient"); test:assertTrue(containsTag("src.position", httpClientSpanTagKeys)); - test:assertEquals(httpClientSpanTags["src.position"], "caching_http_caching_client.bal:371:16"); + test:assertEquals(httpClientSpanTags["src.position"], "caching_http_caching_client.bal:372:16"); } function isContain(string[] array, string id) returns boolean {