Skip to content
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

Add Java toolchains & platforms. #8

Closed
wants to merge 24 commits into from

Conversation

iirina
Copy link
Contributor

@iirina iirina commented Jul 12, 2019

Add the required build_settings, config settings, constraint settings, constraint values, toolchain definitions and platforms that allow the majority of users to migrate their Java builds to the platform-based toolchain resolution. The PR implements the design described in Migrate Java toolchains to platforms. Define:

  • a build_setting for each of: java language version, javac version, JDK version, remote JDK version. * for each build_setting, an associated constraint_setting (language, javac, jdk, remote_jdk) and all the supported constraint_values (e.g. language_level/ javac_version/ jdk_version/remote_jdk_version{8, 9, 10, 11, 12})
  • config_settings for each valid combination of build_setting (flag) values {language_version, javac_version} and similarly a config_setting for each supported jdk_version
  • a toolchain of javac_toolchain_type for each combination of supported platform, language level and javac version (e.g. linux_javac10_language8_toolchain)
  • a toolchain of java_runtime type for each supported platform and remote JDK version (e.g. linux_remote_jdk10_runtime_toolchain)
  • a local_jdk toolchain that points to @locak_jdk//:jdk and is compatible with HOST_CONSTRAINTS exposed by @local_config_platforms//:constraints.bzl
  • a platform for each supported platform, using the config_settings define above to select the right constraint_values, depending on the chosen build_settings

@iirina iirina requested a review from hlopko July 12, 2019 10:28
hlopko
hlopko previously approved these changes Jul 12, 2019
Copy link
Member

@hlopko hlopko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sharp, thanks!

@iirina
Copy link
Contributor Author

iirina commented Jul 12, 2019

@hlopko Thanks for the review. I added more toolchains for java runtime, as well as for host javac and java runtime toolchains. PTAL.

@iirina iirina requested a review from hlopko July 12, 2019 13:11
@iirina iirina changed the title Add javac toolchains. Add java toolchains. Jul 12, 2019
@iirina iirina marked this pull request as ready for review July 12, 2019 13:39
hlopko
hlopko previously approved these changes Jul 15, 2019
java/toolchains/BUILD Outdated Show resolved Hide resolved
WORKSPACE Outdated Show resolved Hide resolved
java/toolchains/BUILD Outdated Show resolved Hide resolved
@iirina iirina requested a review from lberki August 1, 2019 07:15
@iirina iirina changed the title Add java toolchains. Add Java toolchains & platforms. Aug 1, 2019
@lberki
Copy link

lberki commented Aug 1, 2019

Is this still relevant?

@MikhailTymchukFT
Copy link

Is this still relevant?

I double it. What is the current state of this?

@hlopko
Copy link
Member

hlopko commented Jan 14, 2021

Closing for lack of progress.

@hlopko hlopko closed this Jan 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants