From 244ec547b2152b66dc778d510af3a76dd6f1999d Mon Sep 17 00:00:00 2001 From: elrodro83 Date: Thu, 14 Nov 2024 10:10:41 -0300 Subject: [PATCH 1/5] W-16431086: Document changes around compilation of connectors with Java 17 --- .../ROOT/pages/_partials/partner-and-customer-guide.adoc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc index d6f3a100..b090c421 100644 --- a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc +++ b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc @@ -45,12 +45,11 @@ To decouple the minimum Mule version when running tests, add the `-Dmunit.jvm` p Before upgrading and testing your custom connector for Java 17, you must be familiar with the following considerations: * Target compilation level +From Mule 4.9.0 and onwards, connectors can be compiled with any Java versions providing it can generate bytecode the proper version. + -NOTE: The maximum supported version for running your applications is Java 17 for Mule runtime 4.6.x and later. During the packaging of your app, all code, including third-party dependencies, *must* be compiled for Java 8. +For this, the version of `mule-modules-parent` must be upgraded to 1.9.0 of higher, and the `java.release.version` set to the minimal Java version that the connector will require. (See xref:java-version-support.adoc#bytecode_level[Bytecode Level Configuration]). + -Because you must compile your custom connector with Java 8, use the Java compiler configuration from the Java SDK parent POM. You can’t use language features from Java 11 or Java 17. -+ -If you change the compilation to Java 17, the surrounding tooling (such as Studio, Maven plugins, DataSense, or connectivity testing, and so on) breaks because they are still running on Java 8. +If the `mule-modules-parent` is lower than 1.9.0, bytecode level must be for Java 8 (and all of the third-party dependencies as well), and Java 8 must be used to build the connector. Because of this, use the Java compiler configuration from the Java SDK parent POM. You can’t use language features from Java 11 or Java 17. * Unsupported directives + From af03d8f212a2f7e197be4d9c927a48dbf87a647c Mon Sep 17 00:00:00 2001 From: Sathya Gadhiraju Date: Fri, 10 Jan 2025 09:17:59 -0800 Subject: [PATCH 2/5] Update partner-and-customer-guide.adoc --- .../ROOT/pages/_partials/partner-and-customer-guide.adoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc index b090c421..df50d2a9 100644 --- a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc +++ b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc @@ -45,11 +45,12 @@ To decouple the minimum Mule version when running tests, add the `-Dmunit.jvm` p Before upgrading and testing your custom connector for Java 17, you must be familiar with the following considerations: * Target compilation level -From Mule 4.9.0 and onwards, connectors can be compiled with any Java versions providing it can generate bytecode the proper version. + -For this, the version of `mule-modules-parent` must be upgraded to 1.9.0 of higher, and the `java.release.version` set to the minimal Java version that the connector will require. (See xref:java-version-support.adoc#bytecode_level[Bytecode Level Configuration]). +In Mule 4.9.0 and later, you can compile any Mule project for Java 17 or lower. You must also compile any additional dependencies for Java 17 or lower. + -If the `mule-modules-parent` is lower than 1.9.0, bytecode level must be for Java 8 (and all of the third-party dependencies as well), and Java 8 must be used to build the connector. Because of this, use the Java compiler configuration from the Java SDK parent POM. You can’t use language features from Java 11 or Java 17. +The `mule-modules-parent` should be upgraded to version 1.9.0 or later, which automatically sets the `java.release.version` to Java 17. The connector's minimum Mule version will also be 4.9.0, ensuring compatibility only with Mule 4.9.0 or later. See xref:java-version-support.adoc#bytecode_level[Bytecode Level Configuration]. ++ +If the `mule-modules-parent` version is earlier than 1.9.0, the bytecode level for the connector and its additional dependencies must be for Java 8, and the connector must be built using Java 8. Because of this, use the Java compiler configuration from the Java SDK parent POM instead of modifying it. You can’t use language features from Java 11 or Java 17. * Unsupported directives + From a05dbe05a37792b5f4d3449f516c492417da3c50 Mon Sep 17 00:00:00 2001 From: sathya0 <78386709+sathya0@users.noreply.github.com> Date: Wed, 15 Jan 2025 09:34:46 -0800 Subject: [PATCH 3/5] Update partner-and-customer-guide.adoc --- modules/ROOT/pages/_partials/partner-and-customer-guide.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc index df50d2a9..f812ba77 100644 --- a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc +++ b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc @@ -46,7 +46,7 @@ Before upgrading and testing your custom connector for Java 17, you must be fami * Target compilation level + -In Mule 4.9.0 and later, you can compile any Mule project for Java 17 or lower. You must also compile any additional dependencies for Java 17 or lower. +In Mule 4.9.0 and later, you can compile any Mule project for Java 17 or lower. Additional dependencies must be compiled for Java 17 or lower. + The `mule-modules-parent` should be upgraded to version 1.9.0 or later, which automatically sets the `java.release.version` to Java 17. The connector's minimum Mule version will also be 4.9.0, ensuring compatibility only with Mule 4.9.0 or later. See xref:java-version-support.adoc#bytecode_level[Bytecode Level Configuration]. + From 19028b99b9f5106a1c727ff39e0a9477f0be1165 Mon Sep 17 00:00:00 2001 From: sathya0 <78386709+sathya0@users.noreply.github.com> Date: Wed, 15 Jan 2025 09:36:23 -0800 Subject: [PATCH 4/5] Update partner-and-customer-guide.adoc --- modules/ROOT/pages/_partials/partner-and-customer-guide.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc index f812ba77..26403986 100644 --- a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc +++ b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc @@ -48,9 +48,9 @@ Before upgrading and testing your custom connector for Java 17, you must be fami + In Mule 4.9.0 and later, you can compile any Mule project for Java 17 or lower. Additional dependencies must be compiled for Java 17 or lower. + -The `mule-modules-parent` should be upgraded to version 1.9.0 or later, which automatically sets the `java.release.version` to Java 17. The connector's minimum Mule version will also be 4.9.0, ensuring compatibility only with Mule 4.9.0 or later. See xref:java-version-support.adoc#bytecode_level[Bytecode Level Configuration]. +The `mule-modules-parent` should be upgraded to version 1.9.0 or later. The connector's minimum Mule version will also be 4.9.0, ensuring compatibility only with Mule 4.9.0 or later. See xref:java-version-support.adoc#bytecode_level[Bytecode Level Configuration]. + -If the `mule-modules-parent` version is earlier than 1.9.0, the bytecode level for the connector and its additional dependencies must be for Java 8, and the connector must be built using Java 8. Because of this, use the Java compiler configuration from the Java SDK parent POM instead of modifying it. You can’t use language features from Java 11 or Java 17. +If the `mule-modules-parent` version is earlier than 1.9.0, the bytecode level for the connector and its additional dependencies must be for Java 8. You can’t use language features from Java 11 or Java 17. * Unsupported directives + From ce9524e9559d89f62c62dea5ec5676881fa95563 Mon Sep 17 00:00:00 2001 From: sathya0 <78386709+sathya0@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:27:58 -0800 Subject: [PATCH 5/5] Update partner-and-customer-guide.adoc --- modules/ROOT/pages/_partials/partner-and-customer-guide.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc index 26403986..42ef1cdb 100644 --- a/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc +++ b/modules/ROOT/pages/_partials/partner-and-customer-guide.adoc @@ -48,7 +48,7 @@ Before upgrading and testing your custom connector for Java 17, you must be fami + In Mule 4.9.0 and later, you can compile any Mule project for Java 17 or lower. Additional dependencies must be compiled for Java 17 or lower. + -The `mule-modules-parent` should be upgraded to version 1.9.0 or later. The connector's minimum Mule version will also be 4.9.0, ensuring compatibility only with Mule 4.9.0 or later. See xref:java-version-support.adoc#bytecode_level[Bytecode Level Configuration]. +If you compile for Java 17, the `mule-modules-parent` should be upgraded to version 1.9.0 or later. The connector's minimum Mule version will also be 4.9.0, ensuring compatibility only with Mule 4.9.0 or later. See xref:java-version-support.adoc#bytecode_level[Bytecode Level Configuration]. + If the `mule-modules-parent` version is earlier than 1.9.0, the bytecode level for the connector and its additional dependencies must be for Java 8. You can’t use language features from Java 11 or Java 17.