Skip to content

Conversation

@jonpryor
Copy link
Contributor

Context: https://web.archive.org/web/20230507035529/https://developer.android.com/studio/releases/#jdk-17

Starting from Android Studio Flamingo Canary 3, the Studio IDE is
bundled with JDK 17.

Does .NET Android work with JDK 17?

Update xaprepare to provision Microsoft OpenJDK 17.0.7, and let's see if everything works!

@jonpryor jonpryor requested a review from grendello as a code owner May 10, 2023 19:17
jonpryor added a commit to jonpryor/java.interop that referenced this pull request May 11, 2023
Context: dotnet/android#8029

Update `<JdkInfo/>` task to emit a new `$(Java*MajorVersion)`
MSBuild property.  This is used by `src/Java.Base` so that it knows
which JDK version it's binding.

Begin explicitly qualifying all `$(Jdk*)` and `$(Java*)` MSBuild
properties to explicitly disambiguate between JDK 1.8 and JDK-11
contexts.  Eventually we may "swap" things so that properties without
a version are for e.g. JDK 11 (17, etc.) and `$(Jdk8*)` is for
JDK 1.8-requiring contexts.

Note: to get this to *build* we had to update `src/Java.Base` to
support binding against JDK-17, which was an expected diversion.
This "JDK-17 Java.Base binding" was a "time limited" effort.
@jonpryor jonpryor force-pushed the jonp-use-msjdk-17 branch 2 times, most recently from e07e895 to a48b649 Compare May 11, 2023 23:59
Context: https://web.archive.org/web/20230507035529/https://developer.android.com/studio/releases/#jdk-17

> Starting from Android Studio Flamingo Canary 3, the Studio IDE is
> bundled with JDK 17.

Does .NET Android work with JDK 17?

Update `xaprepare` to provision Microsoft OpenJDK 17.0.7, and let's
see if everything works!
@jonpryor jonpryor force-pushed the jonp-use-msjdk-17 branch 2 times, most recently from ed033de to ad03dfa Compare May 12, 2023 19:58
@jonpryor jonpryor requested a review from jonathanpeppers as a code owner May 12, 2023 19:58
@jonpryor jonpryor force-pushed the jonp-use-msjdk-17 branch 2 times, most recently from 2734074 to 1b8873b Compare May 12, 2023 23:12
jonpryor added 2 commits May 12, 2023 19:56
Java.Interop needs JDK-17 support first!
We got to the point of running unit tests on CI (yay!), which promptly
started erroring out because of XA0030!

	error XA0030: Building with JDK version `17.0.7` is not supported. Please install JDK version `11.0`. See https://aka.ms/xamarin/jdk9-errors

Update `$(LatestSupportedJavaVersion)` so that tests *can* run.
@jonpryor jonpryor force-pushed the jonp-use-msjdk-17 branch from 1b8873b to f8ab57a Compare May 12, 2023 23:58
@jonpryor jonpryor requested a review from dellis1972 as a code owner May 12, 2023 23:58
@jonpryor jonpryor marked this pull request as draft May 16, 2023 01:21
jonpryor added a commit to jonpryor/xamarin-android that referenced this pull request Aug 29, 2023
Context: dotnet#8304
Context: dotnet#8029
Context: https://web.archive.org/web/20230507035529/https://developer.android.com/studio/releases/#jdk-17

> Starting from Android Studio Flamingo Canary 3, the Studio IDE is
> bundled with JDK 17.

Context: dotnet/java-interop#1141

> Does It Build™?

Because of dotnet#8029 we know we *can* use JDK 17.

Because of dotnet#8304 we know we *should* use JDK 17.

Update `xaprepare` so that Microsoft OpenJDK 17.0.8 is provisioned
for the build.  Note: `$(_JavacSourceVersion)` and
`$(_JavacTargetVersion)` are *not* changed, so that our built
`.jar` tooling can still *run* on JDK-11.

Update to use Gradle 8.1.1.  This is needed for JDK-17 support.

Update `$(LatestSupportedJavaVersion)` to 17.0.99 so that JDK 17 can
be used by .NET Android projects by default.
jonpryor added a commit to jonpryor/xamarin-android that referenced this pull request Aug 31, 2023
Context: dotnet#8304
Context: dotnet#8029
Context: https://web.archive.org/web/20230507035529/https://developer.android.com/studio/releases/#jdk-17

> Starting from Android Studio Flamingo Canary 3, the Studio IDE is
> bundled with JDK 17.

Context: dotnet/java-interop#1141

> Does It Build™?

Because of dotnet#8029 we know we *can* use JDK 17.

Because of dotnet#8304 we know we *should* use JDK 17.

Update `xaprepare` so that Microsoft OpenJDK 17.0.8 is provisioned
for the build.  Note: `$(_JavacSourceVersion)` and
`$(_JavacTargetVersion)` are *not* changed, so that our built
`.jar` tooling can still *run* on JDK-11.

Update to use Gradle 8.1.1.  This is needed for JDK-17 support.

Update `$(LatestSupportedJavaVersion)` to 17.0.99 so that JDK 17 can
be used by .NET Android projects by default.
jonpryor added a commit to jonpryor/xamarin-android that referenced this pull request Sep 1, 2023
Changes: dotnet/java-interop@5adb4d4...5bb0d24

  * dotnet/java-interop@5bb0d24b: [build] Add support for JDK 17 (dotnet/java-interop#1141)
  * dotnet/java-interop@7e3bd2f2: Revert "[build] Enable NuGet's Central Package Management (dotnet/java-interop#1114)" (dotnet/java-interop#1138)
  * dotnet/java-interop@7961b360: [build] set `$(DisableTransitiveFrameworkReferenceDownloads)`=true (dotnet/java-interop#1137)

Context: dotnet#8304
Context: dotnet#8029
Context: https://web.archive.org/web/20230507035529/https://developer.android.com/studio/releases/#jdk-17

> Starting from Android Studio Flamingo Canary 3, the Studio IDE is
> bundled with JDK 17.

Because of dotnet#8029 we know we *can* use JDK 17.

Because of dotnet#8304 we know we *should* use JDK 17.

Update `xaprepare` so that Microsoft OpenJDK 17.0.8 is provisioned
for the build.  Note: `$(_JavacSourceVersion)` and
`$(_JavacTargetVersion)` are *not* changed, so that our built
`.jar` tooling can still *run* on JDK-11.

Update to use Gradle 8.1.1.  This is needed for JDK-17 support.

Update `$(LatestSupportedJavaVersion)` to 17.0.99 so that JDK 17 can
be used by .NET Android projects by default.
jonpryor added a commit that referenced this pull request Sep 2, 2023
Changes: dotnet/java-interop@5adb4d4...5bb0d24

  * dotnet/java-interop@5bb0d24b: [build] Add support for JDK 17 (dotnet/java-interop#1141)
  * dotnet/java-interop@7e3bd2f2: Revert "[build] Enable NuGet's Central Package Management (dotnet/java-interop#1114)" (dotnet/java-interop#1138)
  * dotnet/java-interop@7961b360: [build] set `$(DisableTransitiveFrameworkReferenceDownloads)`=true (dotnet/java-interop#1137)

Context: #8304
Context: #8029
Context: https://web.archive.org/web/20230507035529/https://developer.android.com/studio/releases/#jdk-17

> Starting from Android Studio Flamingo Canary 3, the Studio IDE is
> bundled with JDK 17.

Because of #8029 we know we *can* use JDK 17.

Because of #8304 we know we *should* use JDK 17.

Update `xaprepare` so that Microsoft OpenJDK 17.0.8 is provisioned
for the build.  Note: `$(_JavacSourceVersion)` and
`$(_JavacTargetVersion)` are *not* changed, so that our built
`.jar` tooling can still *run* on JDK-11.

Update to use Gradle 8.1.1.  This is needed for JDK-17 support.

Update `$(LatestSupportedJavaVersion)` to 17.0.99 so that JDK 17 can
be used by .NET Android projects by default.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant