-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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 a native image of turbine to the prebuilt Java tools #19361
Conversation
FYI @sgammon Based on the docs of rules_graalvm, I assume I will have to wait for version 0.10.0 to get Windows support? |
f3d0bf3
to
8f822ee
Compare
f5dcfce
to
c9f9764
Compare
@fmeum windows support is shipped on there are now integration tests for Bazel 4-7, and each type of GVM variant, etc. Windows runs most of these, it just skips the Sticking with the latest GVM version and rule version should provide good Windows support against MSVC, modulo any bugs you might encounter in the newer hermeticity advice. Keep in mind that |
ah, it looks like it's complaining about the toolchain:
|
e82360b
to
de64a2e
Compare
With sgammon/rules_graalvm#70, sgammon/rules_graalvm#71, sgammon/rules_graalvm#72, and sgammon/rules_graalvm#73 I can get the |
8744162
to
e414cf7
Compare
e414cf7
to
aa2c53c
Compare
Hi @fmeum, Could you please resolve the conflicts? |
4630ff5
to
fb71ab0
Compare
@sgowroji Done |
@sgowroji Also done! |
e5d4bf2
to
05f966a
Compare
A simple local experiment shows that the time for all Java header compilation actions required for `//src:bazel-dev` decreases by a factor of 4.5 when using a native image of turbine instead of jar. The time taken for an incremental build of `//src/main/java/com/google/devtools/build/lib/bazel:BazelServer` after adding a public method to `Label` decreases by a factor of 2 with `--experimental_java_classpath=bazel`. As a first step towards using the native image in Java toolchains, ship it as part of the prebuilt Java tools by using rules_graalvm.
05f966a
to
212e044
Compare
@sgowroji I fixed the new merge conflict. |
I'm terribly sorry that I thought this was a cherry-pick and merged this directly. I had to force push to master to fix the history and this PR should be merged by importing to google first, which is work in process. |
I resolved the conflict in the lockfile. @sgowroji |
A simple local experiment shows that the time for all Java header compilation actions required for `//src:bazel-dev` decreases by a factor of 4.5 when using a native image of turbine instead of jar. The time taken for an incremental build of `//src/main/java/com/google/devtools/build/lib/bazel:BazelServer` after adding a public method to `Label` decreases by a factor of 2 with `--experimental_java_classpath=bazel`. As a first step towards using the native image in Java toolchains, ship it as part of the prebuilt Java tools by using rules_graalvm. Closes #19361. PiperOrigin-RevId: 582531539 Change-Id: If71d8ec86fecbc1363a748d197f88962bd489fb4
@keertk Could I ask you to create a new java_tools release now that this has been merged? I could then use it in a rules_java PR. |
) A simple local experiment shows that the time for all Java header compilation actions required for `//src:bazel-dev` decreases by a factor of 4.5 when using a native image of turbine instead of jar. The time taken for an incremental build of `//src/main/java/com/google/devtools/build/lib/bazel:BazelServer` after adding a public method to `Label` decreases by a factor of 2 with `--experimental_java_classpath=bazel`. As a first step towards using the native image in Java toolchains, ship it as part of the prebuilt Java tools by using rules_graalvm. Closes #19361. Commit 5f79684 PiperOrigin-RevId: 582531539 Change-Id: If71d8ec86fecbc1363a748d197f88962bd489fb4 --------- Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im> Co-authored-by: Xùdōng Yáng <wyverald@gmail.com>
A simple local experiment shows that the time for all Java header compilation actions required for
//src:bazel-dev
decreases by a factor of 4.5 when using a native image of turbine instead of jar. The time taken for an incremental build of//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
after adding a public method toLabel
decreases by a factor of 2 with--experimental_java_classpath=bazel
.As a first step towards using the native image in Java toolchains, ship it as part of the prebuilt Java tools by using rules_graalvm.