-
-
Notifications
You must be signed in to change notification settings - Fork 646
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
Adds CoursierWrapperProcess
and JvmProcess
, makes JVM executions less tenuous
#14270
Adds CoursierWrapperProcess
and JvmProcess
, makes JVM executions less tenuous
#14270
Conversation
# Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
This reverts commit d752b3f. # Conflicts: # src/python/pants/jvm/compile.py # src/python/pants/jvm/resolve/coursier_setup.py # Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
src/python/pants/jvm/test/junit.py
Outdated
description=f"Run JUnit 5 ConsoleLauncher against {request.field_set.address}", | ||
level=LogLevel.DEBUG, | ||
cache_scope=cache_scope, | ||
# TODO: Should scalatest use nailgun? It previously wasn't. | ||
use_nailgun=False, |
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.
Is this correct?
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.
Yes: #13871.
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
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.
This is a really, really nice change. Thanks!
@@ -91,9 +91,9 @@ async def build_processors(bash: BashBinary, jdk_setup: JdkSetup) -> JavaParserC | |||
# NB: We do not use nailgun for this process, since it is launched exactly once. |
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.
This process should set use_nailgun=False
so that this comment remains true.
merged_sources_digest=merged_sources_digest, | ||
immutable_input_digests=FrozenDict(immutable_input_digests), | ||
jdk_invoke_args=jdk_invoke_args, | ||
extra_immutable_input_digests=FrozenDict(extra_immutable_input_digests), |
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.
The wrapping FrozenDict
here shouldn't be necessary anymore I think.
Also, I think that these need to be nailgun keys as well: they are the classpath of the tool itself.
description=f"Run Scalatest runner for {request.field_set.address}", | ||
level=LogLevel.DEBUG, | ||
cache_scope=cache_scope, | ||
# TODO: Should scalatest use nailgun? It previously wasn't. |
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.
See #13871 on that topic. But for now: no.
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
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.
Thanks!
src/python/pants/jvm/test/junit.py
Outdated
description=f"Run JUnit 5 ConsoleLauncher against {request.field_set.address}", | ||
level=LogLevel.DEBUG, | ||
cache_scope=cache_scope, | ||
# TODO: Should scalatest use nailgun? It previously wasn't. | ||
use_nailgun=False, |
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.
Yes: #13871.
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
No, it doesn't look like it. Sorry that I didn't see this sooner. |
This PR, in support of #13942 simplifies the calling sites of JVM utilities through standard process requests that invoke the respective bash wrapper scripts in a standard way, including specifying standard immutable/append-only caches and environment variables where necessary.
This will make it easier to systematically amend the execution environment for JVM progress invocations, such as adding a dependency on
grep
(see #13942) and should make future JVM tool additions more proactively use nailgun (nailgun support forJvmProcess
is opt-out instead of opt-in).Google Java Format, scalafmt, Junit, and Scalatest now use nailgun where they previously did not.
Closes #13871