appengine-plugins icon indicating copy to clipboard operation
appengine-plugins copied to clipboard

Build-time Java 17 compatibility

Open elefeint opened this issue 3 years ago • 12 comments

Current state:

  • the AppEngine gradle plugin is compatible with Java 17 at runtime -- our users are fine.
  • compile-time compatibility is blocked on a gradle testing ecosystem regression. We'll fix it when the underlying issue is fixed, but it does not block any actual usecases.

elefeint avatar Feb 15 '22 16:02 elefeint

Hi @elefeint. I created https://github.com/GoogleCloudPlatform/appengine-plugins-core/pull/881, as currently the Gradle plugin does not allow the java17 runtime at all.

colorizenl avatar Mar 16 '22 18:03 colorizenl

Thank you! From compile-time compatibility side, I am working my way through the Gradle upgrade changes that are required, since only 7.3+ supports Java 17.

elefeint avatar Apr 08 '22 21:04 elefeint

GoogleCloudPlatform/app-gradle-plugin#413 plus a release should sort out runtime compatibility. Compile time compatibility work is in GoogleCloudPlatform/app-gradle-plugin#412 but is blocked on a gradle issue.

elefeint avatar Apr 13 '22 02:04 elefeint

Blocked by gradle issue: https://github.com/gradle/gradle/issues/20301

grant avatar Apr 29 '22 15:04 grant

Did we release GoogleCloudPlatform/app-gradle-plugin#413?

When can we close this bug? Not sure if this should be a blocker for GAE Java17 move to GA.

ludoch avatar Jun 02 '22 18:06 ludoch

Released on 5/3 -- https://github.com/GoogleCloudPlatform/app-gradle-plugin/releases/tag/v2.4.3

The Releases section in github has not been updated in years, although it does look odd to have it be so out of date. We should probably add manual steps to the release process to create a github release.

On Thu, Jun 2, 2022 at 2:23 PM Ludovic Champenois @.***> wrote:

Did we release GoogleCloudPlatform/app-gradle-plugin#413 https://github.com/GoogleCloudPlatform/app-gradle-plugin/pull/413?

When can we close this bug? Not sure if this should be a blocker for GAE Java17 move to GA.

— Reply to this email directly, view it on GitHub https://github.com/GoogleCloudPlatform/appengine-plugins/issues/1002, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJZ27OXYN46CAHRIFLKOBY3VND3ZHANCNFSM5OPAHZEQ . You are receiving this because you were mentioned.Message ID: @.***>

elefeint avatar Jun 02 '22 18:06 elefeint

We can close this issue, as runtime compatibility is there. Compile-time should not be blocking any users.

elefeint avatar Jun 02 '22 18:06 elefeint

I think there is more work left:

  • .github/workflows/unit-tests.yaml: Need to test 17
  • build.gradle
    • Rename maven plugin to maven-publish
    • compile -> implementation (not deprecated)
    • testCompile -> testImplementation (not deprecated)
    • Change gradleVersion = '4.9' to gradleVersion = '7.4.2'
  • Update gradle wrapper
    • gradle wrapper --gradle-version 7.4.2 --distribution-type all

I think there are more changes required as well.

grant avatar Jun 02 '22 22:06 grant

That's just for the compile-time compatibility, right? Everything except for gradle wrapper upgrade is in GoogleCloudPlatform/app-gradle-plugin#412, but getting that unblocked and merged in is more of an internal code maintenance issue. It should not affect AppEngine users who want to build their apps with app-gradle-plugin -- that should just work starting with v2.4.3.

elefeint avatar Jun 03 '22 13:06 elefeint

I've just tested deploying a Spring Boot application using openjdk 17.0.3 and gradle plugin 2.4.3 and it works well. So my soul is at peace about the gradle plugin being compatible.

elefeint avatar Jun 03 '22 22:06 elefeint

The plugin is fine for the java17 runtime. Compile-time is separate.

grant avatar Jun 07 '22 17:06 grant

Right; leaving open until unblocked.

elefeint avatar Jun 13 '22 13:06 elefeint