diff --git a/ballerina/Ballerina.toml b/ballerina/Ballerina.toml index 8447e61e..d43956bb 100644 --- a/ballerina/Ballerina.toml +++ b/ballerina/Ballerina.toml @@ -7,5 +7,5 @@ license = ["Apache-2.0"] keywords = ["cloud", "kubernetes", "docker", "k8s", "c2c"] distribution = "2201.8.0" -[platform.java17] +[platform.java21] graalvmCompatible = true diff --git a/build-config/resources/Ballerina.toml b/build-config/resources/Ballerina.toml index af29ce5f..1c057798 100644 --- a/build-config/resources/Ballerina.toml +++ b/build-config/resources/Ballerina.toml @@ -7,5 +7,5 @@ license = ["Apache-2.0"] keywords = ["cloud", "kubernetes", "docker", "k8s", "c2c"] distribution = "2201.8.0" -[platform.java17] +[platform.java21] graalvmCompatible = true diff --git a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeBaseTest.java b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeBaseTest.java index 3d8ea44d..b63551ba 100644 --- a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeBaseTest.java +++ b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeBaseTest.java @@ -52,7 +52,7 @@ public void validateCustomBaseImage() throws IOException, InterruptedException, String content = Files.readString(dockerFile.toPath(), StandardCharsets.UTF_8); Assert.assertTrue(dockerFile.exists()); Assert.assertTrue(content.contains("FROM alpine")); - Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:17-ol8 as build")); + Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:21-ol9 as build")); KubernetesUtils.deleteDirectory(DOCKER_TARGET_PATH); } } diff --git a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeBuilderConfigTest.java b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeBuilderConfigTest.java index 33fe1c25..0f592fa7 100644 --- a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeBuilderConfigTest.java +++ b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeBuilderConfigTest.java @@ -52,7 +52,7 @@ public void validateDockerBuildOption() throws IOException, InterruptedException Assert.assertTrue(dockerFile.exists()); Assert.assertTrue(content.contains("RUN native-image -jar custom_builder.jar -H:Name=custom_builder " + "--no-fallback --static --libc=musl")); - Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:17-muslib-ol8 as build")); + Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:21-muslib-ol9 as build")); Assert.assertTrue(content.contains("FROM gcr.io/distroless/base")); KubernetesUtils.deleteDirectory(DOCKER_TARGET_PATH); } @@ -65,7 +65,7 @@ public void validateK8sBuildOption() throws IOException, InterruptedException, K Assert.assertTrue(dockerFile.exists()); Assert.assertTrue(content.contains("RUN native-image -jar custom_builder.jar -H:Name=custom_builder " + "--no-fallback --static --libc=musl")); - Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:17-muslib-ol8 as build")); + Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:21-muslib-ol9 as build")); Assert.assertTrue(content.contains("FROM gcr.io/distroless/base")); KubernetesUtils.deleteDirectory(DOCKER_TARGET_PATH); } diff --git a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeJobTest.java b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeJobTest.java index f2725962..97613683 100644 --- a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeJobTest.java +++ b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeJobTest.java @@ -71,7 +71,7 @@ public void validateDockerfile() throws IOException { String content = Files.readString(dockerFile.toPath(), StandardCharsets.UTF_8); Assert.assertTrue(content.contains("RUN native-image -jar hello.jar -H:Name=hello --no-fallback " + "-H:+StaticExecutableWithDynamicLibC")); - Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:17-ol8 as build")); + Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:21-ol9 as build")); Assert.assertTrue(content.contains("FROM gcr.io/distroless/base")); } diff --git a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeTest.java b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeTest.java index 33a8fc8e..11a3e0e6 100644 --- a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeTest.java +++ b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/samples/NativeTest.java @@ -126,7 +126,7 @@ public void validateDockerfile() throws IOException { String content = Files.readString(dockerFile.toPath(), StandardCharsets.UTF_8); Assert.assertTrue(content.contains("RUN native-image -jar hello.jar -H:Name=hello --no-fallback " + "-H:+StaticExecutableWithDynamicLibC")); - Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:17-ol8 as build")); + Assert.assertTrue(content.contains("FROM ghcr.io/graalvm/native-image-community:21-ol9 as build")); Assert.assertTrue(content.contains("FROM gcr.io/distroless/base")); } diff --git a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/utils/TestUtil.java b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/utils/TestUtil.java index 10d56834..937c687a 100644 --- a/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/utils/TestUtil.java +++ b/compiler-plugin-tests/src/test/java/io/ballerina/c2c/test/utils/TestUtil.java @@ -92,7 +92,7 @@ public static void generateCaches(Path sourcePath, Path jBalToolsPath) { defaultBuilder.addCompilationCacheFactory(new FileSystemCache.FileSystemCacheFactory(repo.resolve("cache"))); Project project = BuildProject.load(defaultBuilder, sourcePath); PackageCompilation packageCompilation = project.currentPackage().getCompilation(); - JBallerinaBackend.from(packageCompilation, JvmTarget.JAVA_17); + JBallerinaBackend.from(packageCompilation, JvmTarget.JAVA_21); } /** diff --git a/compiler-plugin-tests/src/test/resources/completion/ballerina/config/config1.json b/compiler-plugin-tests/src/test/resources/completion/ballerina/config/config1.json index 389682da..da061302 100644 --- a/compiler-plugin-tests/src/test/resources/completion/ballerina/config/config1.json +++ b/compiler-plugin-tests/src/test/resources/completion/ballerina/config/config1.json @@ -6,11 +6,11 @@ "source": "source/project1/Ballerina.toml", "items": [ { - "label": "platform.java17.dependency", + "label": "platform.java21.dependency", "kind": "Snippet", "detail": "Table Array", "sortText": "C", - "insertText": "[[platform.java17.dependency]]" + "insertText": "[[platform.java21.dependency]]" }, { "label": "package", diff --git a/compiler-plugin-tests/src/test/resources/completion/ballerina/source/Ballerina.toml b/compiler-plugin-tests/src/test/resources/completion/ballerina/source/Ballerina.toml index d5bb7574..17b055ab 100644 --- a/compiler-plugin-tests/src/test/resources/completion/ballerina/source/Ballerina.toml +++ b/compiler-plugin-tests/src/test/resources/completion/ballerina/source/Ballerina.toml @@ -3,7 +3,7 @@ [build-options] observabilityIncluded = true -[[platform.java17.dependency]] +[[platform.java21.dependency]] path = "/usr/libs/" diff --git a/compiler-plugin/src/main/java/io/ballerina/c2c/DockerGenConstants.java b/compiler-plugin/src/main/java/io/ballerina/c2c/DockerGenConstants.java index 999fe8a8..6cd3def6 100644 --- a/compiler-plugin/src/main/java/io/ballerina/c2c/DockerGenConstants.java +++ b/compiler-plugin/src/main/java/io/ballerina/c2c/DockerGenConstants.java @@ -27,7 +27,7 @@ public class DockerGenConstants { public static final String REGISTRY_SEPARATOR = "/"; public static final String TAG_SEPARATOR = ":"; public static final String JRE_SLIM_BASE = "ballerina/jvm-runtime:2.0"; - public static final String NATIVE_BUILDER_IMAGE = "ghcr.io/graalvm/native-image-community:17-ol8"; + public static final String NATIVE_BUILDER_IMAGE = "ghcr.io/graalvm/native-image-community:21-ol9"; public static final String NATIVE_RUNTIME_BASE_IMAGE = "gcr.io/distroless/base"; public static final int MAX_BALLERINA_LAYERS = 110; diff --git a/compiler-plugin/src/main/java/io/ballerina/c2c/tasks/C2CCodeGeneratedTask.java b/compiler-plugin/src/main/java/io/ballerina/c2c/tasks/C2CCodeGeneratedTask.java index 47593936..6ed0d497 100644 --- a/compiler-plugin/src/main/java/io/ballerina/c2c/tasks/C2CCodeGeneratedTask.java +++ b/compiler-plugin/src/main/java/io/ballerina/c2c/tasks/C2CCodeGeneratedTask.java @@ -145,7 +145,7 @@ private void setupForRunningTestsInCloud(CompilerLifecycleEventContext compilerL Optional executablePath, Project project, Package currentPackage, BalCommand balCommand) { JBallerinaBackend jBallerinaBackend = JBallerinaBackend.from(compilerLifecycleEventContext.compilation(), - JvmTarget.JAVA_17); + JvmTarget.JAVA_21); dataHolder.getDockerModel().setTest(true); executablePath.ifPresent(path -> { Target target; @@ -331,7 +331,7 @@ private void addTestDependencyJars(Project project, PackageCompilation compilati Map testSuiteMap, List classPaths, List moduleJarPaths) { JBallerinaBackend jBallerinaBackend = JBallerinaBackend.from(compilation, - JvmTarget.JAVA_17); + JvmTarget.JAVA_21); JarResolver jarResolver = jBallerinaBackend.jarResolver(); Collection dependencies = jarResolver.getJarFilePathsRequiredForTestExecution( @@ -378,7 +378,7 @@ private static Path getCopiedJarPath(Path jarFileName) { private void addDependencyJars(PackageCompilation compilation, String executableFatJar) { JBallerinaBackend jBallerinaBackend = JBallerinaBackend.from(compilation, - JvmTarget.JAVA_17); + JvmTarget.JAVA_21); io.ballerina.projects.JarResolver jarResolver = jBallerinaBackend.jarResolver(); // Add dependency jar files to docker model. dataHolder.getDockerModel().addDependencyJarPaths( diff --git a/compiler-plugin/src/main/java/io/ballerina/c2c/tasks/ChoreoCodeGenTask.java b/compiler-plugin/src/main/java/io/ballerina/c2c/tasks/ChoreoCodeGenTask.java index 047effad..5b2ce9be 100644 --- a/compiler-plugin/src/main/java/io/ballerina/c2c/tasks/ChoreoCodeGenTask.java +++ b/compiler-plugin/src/main/java/io/ballerina/c2c/tasks/ChoreoCodeGenTask.java @@ -119,7 +119,7 @@ public void codeGeneratedInternal(PackageID packageId, Path executableJarFile, S } private void addDependencyJars(PackageCompilation compilation, String executableFatJar) { - JBallerinaBackend jBallerinaBackend = JBallerinaBackend.from(compilation, JvmTarget.JAVA_17); + JBallerinaBackend jBallerinaBackend = JBallerinaBackend.from(compilation, JvmTarget.JAVA_21); io.ballerina.projects.JarResolver jarResolver = jBallerinaBackend.jarResolver(); // Add dependency jar files to docker model. diff --git a/gradle.properties b/gradle.properties index dfa5c490..54d7f46d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,27 +3,27 @@ org.gradle.jvmargs='-Dfile.encoding=UTF-8' group=io.ballerina version=3.1.1-SNAPSHOT systemProp.org.gradle.internal.publish.checksums.insecure=true -ballerinaLangVersion=2201.11.0-20241111-172200-095db58f -stdlibConstraintVersion=1.5.0 -stdlibIoVersion=1.6.1 -stdlibLogVersion=2.10.0 -stdlibHttpVersion=2.12.0 -stdlibAuthVersion=2.12.0 -stdlibFileVersion=1.10.0 -stdlibCacheVersion=3.8.0 -stdlibCryptoVersion=2.7.2 -stdlibTimeVersion=2.4.0 -stdlibMimeVersion=2.10.0 -stdlibOsVersion=1.8.0 -stdlibTaskVersion=2.5.0 -stdlibJwtVersion=2.13.0 -stdlibGrpcVersion=1.12.0 -stdlibOAuth2Version=2.12.0 -stdlibUuidVersion=1.8.0 -stdlibGraphqlVersion=1.14.0 -stdlibUrlVersion=2.4.0 -stdlibWebsubVersion=2.12.0 -stdlibWebsubhubVersion=1.12.0 -observeVersion=1.3.0 -observeInternalVersion=1.3.0 +ballerinaLangVersion=2201.11.0-20241112-214900-6b80ab87 +stdlibConstraintVersion=1.6.0-20241113-090900-d276ad5 +stdlibIoVersion=1.6.2-20241112-233100-995cf5f +stdlibLogVersion=2.10.1-20241113-120000-4577868 +stdlibHttpVersion=2.13.0-20241114-182900-7e9f66a +stdlibAuthVersion=2.12.1-20241113-162300-ded40eb +stdlibFileVersion=1.10.1-20241113-151700-e1a2e38 +stdlibCacheVersion=3.8.1-20241113-125700-b75a1bf +stdlibCryptoVersion=2.7.3-20241113-081400-d015a39 +stdlibTimeVersion=2.6.0-20241113-073800-201b904 +stdlibMimeVersion=2.10.2-20241113-154200-d953747 +stdlibOsVersion=1.8.1-20241113-122000-cca973b +stdlibTaskVersion=2.5.1-20241113-123500-f905281 +stdlibJwtVersion=2.13.1-20241113-162400-b59ccfa +stdlibGrpcVersion=1.13.0-20241114-195700-5188f60 +stdlibOAuth2Version=2.12.1-20241113-162400-4c6ddfe +stdlibUuidVersion=1.8.1-20241113-154400-443c67b +stdlibGraphqlVersion=1.15.0-20241117-164000-4d95b39 +stdlibUrlVersion=2.4.1-20241113-073900-335ff51 +stdlibWebsubVersion=2.13.0-20241114-233100-73205d6 +stdlibWebsubhubVersion=1.13.0-20241116-124900-2bb76a4 +observeVersion=1.4.0-20241113-092000-b83ae74 +observeInternalVersion=1.3.1-20241113-101700-265054d ballerinaGradlePluginVersion=2.0.1 diff --git a/gradle/javaProject.gradle b/gradle/javaProject.gradle index 08eeb98b..8c0030b9 100644 --- a/gradle/javaProject.gradle +++ b/gradle/javaProject.gradle @@ -35,7 +35,7 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } -sourceCompatibility = JavaVersion.VERSION_17 +sourceCompatibility = JavaVersion.VERSION_21 jacoco { toolVersion = "0.8.10"