-
Notifications
You must be signed in to change notification settings - Fork 552
JetBrains OpenJDK 11 #4567
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
JetBrains OpenJDK 11 #4567
Changes from all commits
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
88207fd
JetBrains OpenJDK 11
grendello 57530e0
Bump dependencies!
jonpryor 3e6af18
OpenJDK11 support!
jonpryor e6d7542
[r8, manifestmerger] Target JDK 1.8
jonpryor 6601fbc
[java-runtime] Use r8.jar instead of dx
jonpryor b78eed0
[manfestmerger] r8 must be built first
jonpryor 3828571
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor a17f1c6
Fix build break when compiling xaprepare
jonpryor ebf3559
[java-runtime] Add ProjectReference for r8.csproj
jonpryor 01be151
[java-runtimes] Fixity Fix
jonpryor ec9eca0
[scripts] Use r8.jar instead of dx
jonpryor bc7da93
Oops, forgot this s/dx/r8.jar/ replacement
jonpryor 9b02c35
Let's try this again.
jonpryor 0fca1ef
Trailing \ is bad
jonpryor f1af33e
[build] set $JAVA_HOME for mac test phases
jonathanpeppers 181e4f5
Merge branch 'master' of https://github.com/xamarin/xamarin-android i…
jonathanpeppers 1b6acb6
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor c2a95e2
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor 85093ff
Use commandlinetools' avdmanager
jonpryor 79a417a
Bump to xamarin/monodroid/jonp-try-xa-xat-ref@beb7c8fc
jonpryor 1773d1b
Set JavacSourceVersion, JavacTargetVersion
jonpryor 4eb11e8
[build] move Microsoft OpenJDK on Windows
jonathanpeppers 527ac29
Remove `sdkmanager emulator` invocation
jonpryor 6bf1bef
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor cea6614
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor d47bd6b
Fix <CreateMultiDexMainDexClassList/>?
jonpryor 01901fe
Set `$(LatestSupportedJavaVersion)`=11.0.4
jonpryor 6a7dfa3
Fix `make all-tests`
jonpryor 70695d9
Fix Xamarin.Android.Build.Tests.BuildTest.GetDependencyWhenSDKIsMissi…
jonpryor fa8ac9e
Use cmdline-tools lint
jonpryor ed3e037
Add .idsig files to @(FileWrites)
jonathanpeppers 5d62091
[tests] set /p:JavaSdkDirectory for MSBuild tests
jonathanpeppers 4671de1
Revert "[build] move Microsoft OpenJDK on Windows"
jonathanpeppers f4960e8
Set %JAVA_HOME% for Windows Build and Test
jonathanpeppers 841a05e
[test] accept SHA-256 for KeyToolTests
jonathanpeppers c0351dc
Merge branch 'master' of https://github.com/xamarin/xamarin-android i…
jonathanpeppers 101139c
[build] fix %JAVA_HOME% on Windows
jonathanpeppers 026bcf7
Use $(AndroidFrameworkVersion) instead of $(AndroidUseLatestPlatformSdk)
jonathanpeppers e120f20
[REVERT ME] print out %JAVA_HOME% throughout the build
jonathanpeppers 90286ca
[tests] fix incorrect paths to Configuration.props
jonathanpeppers 167d7ee
[REVERT ME] print out more %JAVA_HOME%
jonathanpeppers b2edbc9
[REVERT ME] one more %JAVA_HOME%
jonathanpeppers 323a268
[Xamarin.Android.Build.Tasks]
jonpryor cf29684
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor 3588f6c
Revert "[REVERT ME] print out %JAVA_HOME%"
jonathanpeppers 8f0d900
[tests] retrieve JavaSdkDirectory from Configuration.props
jonathanpeppers 2e22e76
[Xamarin.Android.Build.Tasks] Disable Javadoc use on JDK11
jonpryor 4a32036
[tests] DotNetCLI should set JavaSdkDirectory
jonathanpeppers fe50c6e
[tests] CommonSampleLibrary is not an XA project
jonathanpeppers 112980f
Revert "[tests] CommonSampleLibrary is not an XA project"
jonathanpeppers 47ee214
Merge remote-tracking branch 'upstream/master' into jetbrains-openjdk
jonathanpeppers dd0c885
[tests] CodeBehindTests explicitly set $(TFV)
jonathanpeppers 3258733
[tests] windows appears to need $(AppendTargetFrameworkToIntermediate…
jonathanpeppers 4aa1a84
Merge remote-tracking branch 'upstream/master' into jetbrains-openjdk
jonathanpeppers 90414d3
Revert "Bump to Android SDK Build-tools 29.0.2 (#4749)"
jonathanpeppers e5467ed
Bump to xamarin/xamarin-android-tools/master@967c278b (#4754)
jonpryor ef023a2
[XA.Build.Tasks] ServiceAttribute.ForegroundServiceType is [Flags] (#…
jpobst a121597
[Xamarin.Android.Build.Tasks] Fix use of non-int minSdkVersion
jonpryor a2b827e
<ValidateJavaVersion/> should be able to parse -rc4 in build-tools ve…
jonathanpeppers e73bc3a
[Xamarin.Android.Build.Tasks] Support cmdline-tools
jonpryor 5dd172e
[Xamarin.Android.Build.Tasks] Build-tools r30 requires JDK11
jonpryor 755a452
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor d1a7224
Try setting JI_JAVA_HOME.
jonpryor ebfd349
Don't setup test env for macOS Designer tests?
jonpryor 56f1983
[ci] Export JI_JAVA_HOME on test environments
jonpryor 9a5f3d0
[ci] Run `setup-test-environment.yaml` on macOS+Designer
jonpryor b874aeb
[CI] Allow overriding of xa source dir for test env setup
pjcollins 6e53dd4
Fix setup-test-environment whitespace
pjcollins e6b8346
Bump to xamarin/xamarin-android-tools/jonp-windows-jvm-paths
jonpryor fbca417
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor 9b25904
JI_JAVA_HOME sanitization
jonpryor 44feed1
[ci] Add missing xaSourceDir param to setup-test-environment.yaml
pjcollins 2d07941
Fix merge from fbca4170e4665445070cab62deeb1b37a5364b5a
jonpryor 668eadb
[ci] fix macOS test provisioning location
jonpryor 9b9618c
Export JI_JAVA_HOME when running `make prepare` for Java.Interop
jonpryor 908cf89
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor 2f069fb
Update default JDK to OpenJDK11.
jonpryor 6c0de39
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor b550783
Nuse `nuget restore -Verbosity detailed`
jonpryor 9b11c79
Merge remote-tracking branch 'origin/master' into jetbrains-openjdk
jonpryor 7debfbd
[ci] Fix Designer
jonpryor 5841608
Add release notes
jonpryor 56503a3
More macOS+Designer integration fixes.
jonpryor 9167b81
Increase expected rebuild times.
jonpryor c898c9e
Fix Xamarin.Designer.Android binlog source location
jonpryor db4dbe5
Flushity Flush
jonpryor File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
### Preliminary JDK 11 Support | ||
|
||
Xamarin.Android can now use JDK 11 to build libraries and applications. | ||
|
||
JDK 11 is required in order to use Android SDK Build-tools r30, | ||
currently a release candidate. Future versions of the Android SDK | ||
*may* require JDK 11 for more scenarios. JDK 11 *is not required* | ||
at this point in time. | ||
|
||
Project authors can try switching to JDK 11 now to prepare | ||
potential future JDK 11 requirements. | ||
|
||
To do so: | ||
|
||
1. Install JDK 11, for example | ||
[JetBrains Runtime](https://confluence.jetbrains.com/display/JBR/JetBrains+Runtime) | ||
|
||
2. Tell Xamarin.Android to use JDK 11. This can be done within | ||
[Visual Studio](https://docs.microsoft.com/en-us/xamarin/android/troubleshooting/questions/update-jdk?tabs=windows), | ||
or can be done by setting the the `$(JavaSdkDirectory)` MSBuild | ||
property to refer to the root of the JDK installation from (1). | ||
|
||
#### Known Issues | ||
|
||
When JDK 11 is used, the `@(JavaSourceJar)` Build action is not supported, | ||
and binding projects will not parse Javadoc to determine parameter names. | ||
This may result in different parameter names for existing bindings projects. | ||
Authors of bindings projects affected by this change are recommended to | ||
continue to use JDK 8 to build the bindings projects until this issue is | ||
resolved. | ||
|
||
The fix is being tracked as: https://github.com/xamarin/xamarin-android/issues/4789 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A question to try to answer briefly in this note is why users would be interested in this change. The answer to that might depend on whether Visual Studio will start installing the JetBrains Runtime OpenJDK 11 by default in the same release that contains this Xamarin.Android change.
Some possibilities:
If it's not yet known when Visual Studio will start installing OpenJDK 11 by default, then one idea is to include an HTML comment in this draft release note that says something like:
If it is already known that Visual Studio will not install OpenJDK 11 by default alongside the first Xamarin.Android release that contains this change, then if possible, it could be good to add a sentence about when users might want to go to the trouble of finding and installing JDK 11 themselves.
I think the main known reason at this time is for compatibility with Android SDK Build-Tools 30-rc1 and higher, which leads to a question of when users would need to update to that version of Android SDK Build-Tools.
If the majority of users won't care about using Android SDK Build-Tools 30-rc1 or higher yet, the note could mention that, maybe using wording similar to JetBrains OpenJDK 11 #4567 (comment), and add something like:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost certainly not, not for d16-7 P3 anyway, and I really doubt the likelihood of d16-7 period. For starters, it's only needed if Build-tools r30 is used, and --at present! -- it's not required to target API-R/Android 11.
(Even if it were required, I rather doubt the number of people who will be using Android 11 in the preview this is released in.)
More importantly, the Android Designer doesn't currently work with JDK 11. We can't change the default, even if we wanted to.
Additionally, I don't know what the rest of the VS "ecosystem" looks like, and whether it can be updated to JDK 11.
Finally, let's take a gander at API-29, shall we? That didn't become the default
$(TargetFrameworkVersion)
until d16-6, ~9 months after a Xamarin.Android release containing a stable Android 10.0 binding.I think there is no chance at all of migrating VS to JDK 11 "soon."*
*Definition of "soon" is deliberately undefined.''
Will do, though I think it'll be "moot." One of the (random) ideas is that we'll delete the
Documentation/release-notes
contents when a release note has gone stable. My guess is that XA d16-7 will be stable long before VS adds JDK 11, at which point this release note will likely not exist.99.99% certain of this.
I'm not sure I can write this, not quickly. The only reason I know of to want/need JDK11 support is for Android SDK Build-tools r30+, but why would anybody want to use that, especially considering that it's still a "release candidate"? I don't know why this would be desirable.
I like the blurb you provided.