From a60350ba45cdcd6266ee0b60b0401e90f1a7da53 Mon Sep 17 00:00:00 2001 From: Christopher Neugebauer Date: Tue, 20 Dec 2022 12:00:18 -0800 Subject: [PATCH] fix a bunch of missing rule dependencies (cherry picked from commit a8515c9caff834b719cbc38d6c71f4aba91d351b) # Conflicts: # src/python/pants/jvm/run.py # src/python/pants/jvm/target_types.py --- .../backend/scala/dependency_inference/scala_parser.py | 2 ++ src/python/pants/core/target_types.py | 2 ++ src/python/pants/jvm/classpath.py | 2 ++ src/python/pants/jvm/jar_tool/jar_tool.py | 6 ++++++ src/python/pants/jvm/package/deploy_jar.py | 4 ++++ src/python/pants/jvm/run.py | 8 ++++++++ 6 files changed, 24 insertions(+) diff --git a/src/python/pants/backend/scala/dependency_inference/scala_parser.py b/src/python/pants/backend/scala/dependency_inference/scala_parser.py index 09107b82813..4cad198ed8b 100644 --- a/src/python/pants/backend/scala/dependency_inference/scala_parser.py +++ b/src/python/pants/backend/scala/dependency_inference/scala_parser.py @@ -29,6 +29,7 @@ from pants.engine.unions import UnionRule from pants.jvm.compile import ClasspathEntry from pants.jvm.jdk_rules import InternalJdk, JvmProcess +from pants.jvm.jdk_rules import rules as jdk_rules from pants.jvm.resolve.common import ArtifactRequirements, Coordinate from pants.jvm.resolve.coursier_fetch import ToolClasspath, ToolClasspathRequest from pants.jvm.resolve.jvm_tool import GenerateJvmLockfileFromTool, GenerateJvmToolLockfileSentinel @@ -428,5 +429,6 @@ def generate_scala_parser_lockfile_request( def rules(): return ( *collect_rules(), + *jdk_rules(), UnionRule(GenerateToolLockfileSentinel, ScalaParserToolLockfileSentinel), ) diff --git a/src/python/pants/core/target_types.py b/src/python/pants/core/target_types.py index d265dd997b2..8bda8827d61 100644 --- a/src/python/pants/core/target_types.py +++ b/src/python/pants/core/target_types.py @@ -18,6 +18,7 @@ PackageFieldSet, ) from pants.core.util_rules.archive import ArchiveFormat, CreateArchive +from pants.core.util_rules.archive import rules as archive_rules from pants.engine.addresses import Address, UnparsedAddressInputs from pants.engine.fs import ( AddPrefix, @@ -896,6 +897,7 @@ class LockfilesGeneratorTarget(TargetFilesGenerator): def rules(): return ( *collect_rules(), + *archive_rules(), UnionRule(GenerateSourcesRequest, GenerateResourceSourceRequest), UnionRule(GenerateSourcesRequest, GenerateFileSourceRequest), UnionRule(GenerateSourcesRequest, RelocateFilesViaCodegenRequest), diff --git a/src/python/pants/jvm/classpath.py b/src/python/pants/jvm/classpath.py index 4aa42fdaf88..d7c8f08921e 100644 --- a/src/python/pants/jvm/classpath.py +++ b/src/python/pants/jvm/classpath.py @@ -14,6 +14,7 @@ from pants.engine.rules import Get, MultiGet, collect_rules, rule from pants.engine.target import CoarsenedTargets from pants.jvm.compile import ClasspathEntry, ClasspathEntryRequest, ClasspathEntryRequestFactory +from pants.jvm.compile import rules as jvm_compile_rules from pants.jvm.resolve.key import CoursierResolveKey from pants.util.logging import LogLevel @@ -135,4 +136,5 @@ def rules(): return [ *collect_rules(), *system_binaries.rules(), + *jvm_compile_rules(), ] diff --git a/src/python/pants/jvm/jar_tool/jar_tool.py b/src/python/pants/jvm/jar_tool/jar_tool.py index b7950093909..af0417d2c69 100644 --- a/src/python/pants/jvm/jar_tool/jar_tool.py +++ b/src/python/pants/jvm/jar_tool/jar_tool.py @@ -28,8 +28,11 @@ from pants.engine.rules import Get, MultiGet, collect_rules, rule from pants.engine.unions import UnionRule from pants.jvm.jdk_rules import InternalJdk, JvmProcess +from pants.jvm.jdk_rules import rules as jdk_rules from pants.jvm.resolve.coursier_fetch import ToolClasspath, ToolClasspathRequest +from pants.jvm.resolve.coursier_fetch import rules as coursier_fetch_rules from pants.jvm.resolve.jvm_tool import GenerateJvmLockfileFromTool +from pants.jvm.resolve.jvm_tool import rules as jvm_tool_rules from pants.util.frozendict import FrozenDict from pants.util.logging import LogLevel from pants.util.meta import frozen_after_init @@ -300,5 +303,8 @@ async def generate_jartool_lockfile_request( def rules(): return [ *collect_rules(), + *coursier_fetch_rules(), + *jdk_rules(), + *jvm_tool_rules(), UnionRule(GenerateToolLockfileSentinel, JarToolGenerateLockfileSentinel), ] diff --git a/src/python/pants/jvm/package/deploy_jar.py b/src/python/pants/jvm/package/deploy_jar.py index eceb18091bd..57254f0cf61 100644 --- a/src/python/pants/jvm/package/deploy_jar.py +++ b/src/python/pants/jvm/package/deploy_jar.py @@ -28,7 +28,9 @@ FallibleClasspathEntry, ) from pants.jvm.jar_tool.jar_tool import JarToolRequest +from pants.jvm.jar_tool.jar_tool import rules as jar_tool_rules from pants.jvm.shading.rules import ShadedJar, ShadeJarRequest +from pants.jvm.shading.rules import rules as shaded_jar_rules from pants.jvm.strip_jar.strip_jar import StripJarRequest from pants.jvm.subsystems import JvmSubsystem from pants.jvm.target_types import ( @@ -173,6 +175,8 @@ def rules(): return [ *collect_rules(), *classpath.rules(), + *jar_tool_rules(), + *shaded_jar_rules(), UnionRule(PackageFieldSet, DeployJarFieldSet), UnionRule(ClasspathEntryRequest, DeployJarClasspathEntryRequest), ] diff --git a/src/python/pants/jvm/run.py b/src/python/pants/jvm/run.py index c97cbc8a3c1..e6681d086c6 100644 --- a/src/python/pants/jvm/run.py +++ b/src/python/pants/jvm/run.py @@ -7,14 +7,18 @@ from pants.core.goals.package import BuiltPackage from pants.core.goals.run import RunRequest from pants.core.util_rules.system_binaries import UnzipBinary +from pants.core.util_rules.system_binaries import rules as system_binaries_rules from pants.engine.addresses import Addresses from pants.engine.internals.native_engine import Digest, MergeDigests from pants.engine.process import Process, ProcessResult from pants.engine.rules import Get, collect_rules, rule from pants.engine.target import CoarsenedTargets from pants.jvm.classpath import Classpath +from pants.jvm.classpath import rules as classpath_rules from pants.jvm.jdk_rules import JdkEnvironment, JdkRequest, JvmProcess +from pants.jvm.jdk_rules import rules as jdk_rules from pants.jvm.package.deploy_jar import DeployJarFieldSet +from pants.jvm.package.deploy_jar import rules as deploy_jar_rules from pants.jvm.target_types import JvmArtifactFieldSet from pants.util.logging import LogLevel @@ -141,4 +145,8 @@ def rules(): *collect_rules(), *DeployJarFieldSet.rules(), *JvmArtifactFieldSet.rules(), + *deploy_jar_rules(), + *system_binaries_rules(), + *jdk_rules(), + *classpath_rules(), ]