def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_rules(), *coursier_setup_rules(), *external_tool_rules(), *java_dep_inf_rules(), *javac_rules(), *jdk_rules.rules(), *scalac_rules(), *source_files.rules(), *scala_target_types_rules(), *java_target_types_rules(), *util_rules(), *testutil.rules(), QueryRule(CoarsenedTargets, (Addresses, )), QueryRule(ClasspathEntry, (CompileJavaSourceRequest, )), QueryRule(ClasspathEntry, (CompileScalaSourceRequest, )), QueryRule(FallibleClasspathEntry, (CompileJavaSourceRequest, )), QueryRule(FallibleClasspathEntry, (CompileScalaSourceRequest, )), ], target_types=[ScalaSourcesGeneratorTarget, JavaSourcesGeneratorTarget], ) rule_runner.set_options( args=[ NAMED_RESOLVE_OPTIONS, DEFAULT_RESOLVE_OPTION, ], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def rule_runner() -> RuleRunner: return RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *dep_inference_rules(), *external_tool_rules(), *java_parser_launcher_rules(), *java_parser_rules(), *java_target_rules(), *java_util_rules(), *javac_rules(), *junit_rules(), *source_files.rules(), *util_rules(), QueryRule(Addresses, [DependenciesRequest]), QueryRule(ExplicitlyProvidedDependencies, [DependenciesRequest]), QueryRule(InferredDependencies, [InferJavaImportDependencies]), QueryRule(Targets, [UnparsedAddressInputs]), ], target_types=[JavaSourcesGeneratorTarget, JunitTestsGeneratorTarget], bootstrap_args=["--javac-jdk=system" ], # TODO(#12293): use a fixed JDK version. )
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *avro_rules(), *avro_java_rules(), *config_files.rules(), *classpath.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *util_rules(), *jdk_rules(), *graph.rules(), *jvm_compile_rules(), *stripped_source_files.rules(), QueryRule(HydratedSources, [HydrateSourcesRequest]), QueryRule(GeneratedSources, [GenerateJavaFromAvroRequest]), ], target_types=[ JavaSourceTarget, JavaSourcesGeneratorTarget, AvroSourcesGeneratorTarget, ], ) rule_runner.set_options( [], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def rule_runner() -> RuleRunner: return RuleRunner( preserve_tmpdirs=True, rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *javac_rules(), *junit_rules(), *util_rules(), *java_util_rules(), *target_types_rules(), QueryRule(CoarsenedTargets, (Addresses, )), QueryRule(TestResult, (JavaTestFieldSet, )), ], target_types=[ JvmDependencyLockfile, JvmArtifact, JavaSourcesGeneratorTarget, JunitTestsGeneratorTarget, ], bootstrap_args=[ "--javac-jdk=system", # TODO(#12293): use a fixed JDK version. # Makes JUnit output predictable and parseable across versions (#12933): "--junit-args=['--disable-ansi-colors','--details=flat','--details-theme=ascii']", ], )
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *dep_inference_rules(), *external_tool_rules(), *scala_parser.rules(), *symbol_mapper.rules(), *scala_target_rules(), *source_files.rules(), *util_rules(), *jdk_rules(), QueryRule(Addresses, [DependenciesRequest]), QueryRule(ExplicitlyProvidedDependencies, [DependenciesRequest]), QueryRule(InferredDependencies, [InferScalaSourceDependencies]), QueryRule(Targets, [UnparsedAddressInputs]), ], target_types=[ScalaSourcesGeneratorTarget], ) rule_runner.set_options( args=[NAMED_RESOLVE_OPTIONS, DEFAULT_RESOLVE_OPTION], env_inherit=PYTHON_BOOTSTRAP_ENV ) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *thrift_rules(), *scrooge_rules(), *scrooge_java_rules(), *config_files.rules(), *classpath.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *scalac_rules(), *util_rules(), *jdk_rules(), *target_types.rules(), *stripped_source_files.rules(), QueryRule(HydratedSources, [HydrateSourcesRequest]), QueryRule(GeneratedSources, [GenerateJavaFromThriftRequest]), ], target_types=[ ScalaSourceTarget, ScalaSourcesGeneratorTarget, ThriftSourcesGeneratorTarget, ], ) rule_runner.set_options( [], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *classpath.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *scalac_rules(), *util_rules(), *jdk_rules(), *target_types.rules(), *protobuf_target_types_rules(), *stripped_source_files.rules(), *scala_protobuf_rules(), *artifact_mapper.rules(), *distdir.rules(), QueryRule(HydratedSources, [HydrateSourcesRequest]), QueryRule(GeneratedSources, [GenerateScalaFromProtobufRequest]), QueryRule(DigestContents, (Digest, )), ], target_types=[ ScalaSourceTarget, ScalaSourcesGeneratorTarget, ProtobufSourcesGeneratorTarget, JvmArtifactTarget, ], ) rule_runner.set_options( [], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *import_parser_rules(), *java_parser_launcher_rules(), *java_parser_rules(), *java_target_rules(), *java_util_rules(), *javac_rules(), *process_rules(), *source_files.rules(), *util_rules(), QueryRule(ParsedJavaImports, [ParseJavaImportsRequest]), QueryRule(Targets, [UnparsedAddressInputs]), ], target_types=[JavaSourcesGeneratorTarget], bootstrap_args=[ NAMED_RESOLVE_OPTIONS, ], ) rule_runner.set_options(args=[], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *classpath.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *scalac_rules(), *util_rules(), *jdk_rules(), *target_types.rules(), *scalafmt_rules(), *skip_field.rules(), QueryRule(FmtResult, (ScalafmtRequest, )), QueryRule(SourceFiles, (SourceFilesRequest, )), QueryRule(Snapshot, (PathGlobs, )), QueryRule(ScalafmtConfigFiles, (GatherScalafmtConfigFilesRequest, )), ], target_types=[ScalaSourceTarget, ScalaSourcesGeneratorTarget], ) rule_runner.set_options([], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( preserve_tmpdirs=True, rules=[ *config_files.rules(), *classpath.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *javac_rules(), *junit_rules(), *util_rules(), *java_util_rules(), *target_types_rules(), QueryRule(CoarsenedTargets, (Addresses, )), QueryRule(TestResult, (JavaTestFieldSet, )), ], target_types=[ JvmDependencyLockfile, JvmArtifact, JavaSourcesGeneratorTarget, JunitTestsGeneratorTarget, ], ) rule_runner.set_options( # Makes JUnit output predictable and parseable across versions (#12933): args=[ "--junit-args=['--disable-ansi-colors','--details=flat','--details-theme=ascii']", NAMED_RESOLVE_OPTIONS, DEFAULT_RESOLVE_OPTION, ], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *archive.rules(), *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *javac_rules(), *javac_check_rules(), *util_rules(), *target_types_rules(), *coursier_rules(), *jdk_rules.rules(), *java_dep_inf_rules(), *source_files.rules(), *testutil.rules(), QueryRule(CheckResults, (JavacCheckRequest, )), QueryRule(FallibleClasspathEntry, (CompileJavaSourceRequest, )), QueryRule(ClasspathEntry, (CompileJavaSourceRequest, )), QueryRule(CoarsenedTargets, (Addresses, )), ], target_types=[ JvmDependencyLockfile, JavaSourcesGeneratorTarget, JvmArtifact ], bootstrap_args=[ NAMED_RESOLVE_OPTIONS, DEFAULT_RESOLVE_OPTION, ], ) rule_runner.set_options( args=[NAMED_RESOLVE_OPTIONS, DEFAULT_RESOLVE_OPTION], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def test_jvm_tool_base_extracts_correct_coordinates() -> None: rule_runner = RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *util_rules(), *jvm_tool.rules(), *lockfile_rules(), generate_test_tool_lockfile_request, generate_internal_test_tool_lockfile_request, SubsystemRule(MockJvmTool), QueryRule(GenerateJvmLockfile, (MockJvmToolLockfileSentinel, )), QueryRule(GenerateJvmLockfile, (MockInternalToolLockfileSentinel, )), QueryRule(DigestContents, (Digest, )), ], target_types=[JvmArtifactTarget], ) rule_runner.set_options( args=[ "--mock-tool-artifacts=//:junit_junit", "--mock-tool-lockfile=/dev/null", ], env_inherit=PYTHON_BOOTSTRAP_ENV, ) rule_runner.write_files({ "BUILD": textwrap.dedent("""\ jvm_artifact( name="junit_junit", group="junit", artifact="junit", version="4.13.2", ) """) }) lockfile_request = rule_runner.request(GenerateJvmLockfile, [MockJvmToolLockfileSentinel()]) coordinates = sorted(i.coordinate for i in lockfile_request.artifacts) assert coordinates == [ Coordinate(group="junit", artifact="junit", version="4.13.2"), Coordinate(group="org.hamcrest", artifact="hamcrest-core", version="1.3"), ] # Ensure that an internal-only tool will not have a lockfile generated. default_lockfile_result = rule_runner.request( GenerateJvmLockfile, [MockInternalToolLockfileSentinel()]) assert default_lockfile_result.lockfile_dest == DEFAULT_TOOL_LOCKFILE
def rule_runner() -> RuleRunner: return RuleRunner( preserve_tmpdirs=True, rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_goal_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *util_rules(), ], target_types=[JvmDependencyLockfile, JvmArtifact], )
def rule_runner() -> RuleRunner: return RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *util_rules(), QueryRule(CoursierResolvedLockfile, (ArtifactRequirements, )), QueryRule(ResolvedClasspathEntry, (CoursierLockfileEntry, )), QueryRule(FileDigest, (ExtractFileDigest, )), ], target_types=[JvmDependencyLockfile, JvmArtifact], )
def rule_runner() -> RuleRunner: rule_runner = RuleRunner(rules=[ *config_files.rules(), *source_files.rules(), *coursier_setup_rules(), *coursier_fetch_rules(), *external_tool_rules(), *util_rules(), *jdk_rules(), *process_rules(), QueryRule(BashBinary, ()), QueryRule(JdkSetup, ()), QueryRule(ProcessResult, (Process, )), ], ) rule_runner.set_options(args=[], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *coursier_fetch_rules(), *lockfile.rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *util_rules(), QueryRule(UserGenerateLockfiles, [RequestedJVMserResolveNames]), QueryRule(GenerateLockfileResult, [GenerateJvmLockfile]), ], target_types=[JvmArtifactTarget], ) rule_runner.set_options([], env_inherit={"PATH"}) return rule_runner
def rule_runner() -> RuleRunner: return RuleRunner( rules=[ *config_files.rules(), *source_files.rules(), *coursier_setup_rules(), *coursier_fetch_rules(), *external_tool_rules(), *util_rules(), *java_util_rules(), *process_rules(), QueryRule(BashBinary, ()), QueryRule(JdkSetup, ()), QueryRule(ProcessResult, (Process,)), ], )
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *util_rules(), QueryRule(CoursierResolvedLockfile, (ArtifactRequirements, )), QueryRule(ClasspathEntry, (CoursierLockfileEntry, )), QueryRule(FileDigest, (ExtractFileDigest, )), ], target_types=[JvmDependencyLockfile, JvmArtifact], ) rule_runner.set_options(args=[], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def rules(): return [ *scala_protobuf_rules.rules(), *protobuf_target_types.rules(), *protobuf_dependency_inference.rules(), # Re-export rules necessary to avoid rule graph errors. *config_files.rules(), *classpath.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *scalac_rules(), *util_rules(), *jdk_rules(), *scala_target_types.rules(), *stripped_source_files.rules(), ]
def rules(): return [ *thrift_rules(), *scrooge_rules(), *scrooge_java_rules(), # Re-export rules necessary to avoid rule graph errors. *config_files.rules(), *classpath.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *scalac_rules(), *util_rules(), *jdk_rules(), *scala_target_types.rules(), *stripped_source_files.rules(), ]
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( preserve_tmpdirs=True, rules=[ *scala_parser.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *jdk_rules.rules(), *target_types.rules(), *jvm_util_rules.rules(), QueryRule(SourceFiles, (SourceFilesRequest,)), QueryRule(ScalaSourceDependencyAnalysis, (SourceFiles,)), ], target_types=[JvmDependencyLockfile, ScalaSourceTarget], ) rule_runner.set_options(args=["-ldebug"], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *external_tool_rules(), *source_files.rules(), *protobuf_target_types_rules(), *protobuf_dependency_inference.rules(), *stripped_source_files.rules(), *go_protobuf_rules(), *sdk.rules(), *target_types.rules(), # Rules needed to run Go unit test. *test.rules(), *assembly.rules(), *build_pkg.rules(), *build_pkg_target.rules(), *first_party_pkg.rules(), *go_mod.rules(), *link.rules(), *sdk.rules(), *target_type_rules.rules(), *tests_analysis.rules(), *third_party_pkg.rules(), QueryRule(HydratedSources, [HydrateSourcesRequest]), QueryRule(GeneratedSources, [GenerateGoFromProtobufRequest]), QueryRule(DigestContents, (Digest, )), QueryRule(TestResult, (GoTestFieldSet, )), ], target_types=[ GoModTarget, GoPackageTarget, ProtobufSourceTarget, ProtobufSourcesGeneratorTarget, ], ) rule_runner.set_options( [], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *core_rules(), *config_files.rules(), *coursier_fetch_rules(), *coursier_goal_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *util_rules(), ], target_types=[ JvmDependencyLockfile, JvmArtifact, ResourcesGeneratorTarget, JavaSourcesGeneratorTarget, ], ) rule_runner.set_options(args=ARGS, env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( preserve_tmpdirs=True, rules=[ *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *java_parser_launcher_rules(), *java_parser_rules(), *javac_rules(), *source_files.rules(), *util_rules(), *jdk_rules.rules(), QueryRule(FallibleJavaSourceDependencyAnalysisResult, (SourceFiles,)), QueryRule(JavaSourceDependencyAnalysis, (SourceFiles,)), QueryRule(SourceFiles, (SourceFilesRequest,)), ], target_types=[JvmDependencyLockfile, JavaSourceTarget], ) rule_runner.set_options(args=[], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( preserve_tmpdirs=True, rules=[ *kotlin_junit_rules(), *jvm_junit_rules(), *classpath.rules(), *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *java_util_rules(), *javac_rules(), *source_files.rules(), *target_types_rules(), *util_rules(), *non_jvm_dependencies_rules(), *kotlinc.rules(), *kotlinc_plugins.rules(), *kotlin_dep_inf_rules(), QueryRule(CoarsenedTargets, (Addresses, )), QueryRule(TestResult, (JunitTestFieldSet, )), ], target_types=[ FileTarget, FilesGeneratorTarget, RelocatedFiles, JvmArtifactTarget, KotlinJunitTestsGeneratorTarget, ], ) rule_runner.set_options( # Makes JUnit output predictable and parseable across versions (#12933): args=[ "--junit-args=['--disable-ansi-colors','--details=flat','--details-theme=ascii']" ], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *lockfile.rules(), *classpath.rules(), *coursier_setup_rules(), *external_tool_rules(), *java_dep_inf_rules(), *scala_dep_inf_rules(), *javac_rules(), *jdk_rules.rules(), *scalac_rules(), *source_files.rules(), *scala_target_types_rules(), *java_target_types_rules(), *util_rules(), *testutil.rules(), *protobuf_rules(), *stripped_source_files.rules(), *protobuf_target_types_rules(), QueryRule(Classpath, (Addresses,)), QueryRule(RenderedClasspath, (Addresses,)), QueryRule(UnexpandedTargets, (Addresses,)), QueryRule(HydratedSources, [HydrateSourcesRequest]), QueryRule(GeneratedSources, [GenerateJavaFromProtobufRequest]), ], target_types=[ JavaSourcesGeneratorTarget, JvmArtifactTarget, ProtobufSourceTarget, ProtobufSourcesGeneratorTarget, ScalaSourcesGeneratorTarget, ], ) rule_runner.set_options(args=[], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def rule_runner() -> RuleRunner: return RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *import_parser_rules(), *java_parser_launcher_rules(), *java_parser_rules(), *java_target_rules(), *java_util_rules(), *javac_rules(), *process_rules(), *source_files.rules(), *util_rules(), QueryRule(ParsedJavaImports, [ParseJavaImportsRequest]), QueryRule(Targets, [UnparsedAddressInputs]), ], target_types=[JavaSourcesGeneratorTarget], bootstrap_args=["--javac-jdk=system" ], # TODO(#12293): use a fixed JDK version. )
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *dep_inference_rules(), *external_tool_rules(), *java_target_rules(), *java_util_rules(), *javac_rules(), *source_files.rules(), *util_rules(), QueryRule(Addresses, [DependenciesRequest]), QueryRule(ThirdPartyPackageToArtifactMapping, []), ], target_types=[ JavaSourcesGeneratorTarget, JunitTestsGeneratorTarget, JvmArtifact ], ) rule_runner.set_options( args=[NAMED_RESOLVE_OPTIONS, DEFAULT_RESOLVE_OPTION], env_inherit=PYTHON_BOOTSTRAP_ENV) return rule_runner
def jvm_rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *bsp_rules(), *java_bsp_rules(), *scala_bsp_rules(), *config_files.rules(), *coursier_fetch_rules(), *lockfile.rules(), *classpath.rules(), *coursier_setup_rules(), *external_tool_rules(), *scala_dep_inf_rules(), *javac_rules(), *jdk_rules.rules(), *scalac_rules(), *source_files.rules(), *scala_target_types_rules(), *java_target_types_rules(), *util_rules(), *testutil.rules(), *stripped_source_files.rules(), ], target_types=[ JavaSourcesGeneratorTarget, JvmArtifactTarget, ScalatestTestsGeneratorTarget, ], ) rule_runner.set_options( args=[ "--experimental-bsp-groups-config-files=bsp-groups.toml", ], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def rule_runner() -> RuleRunner: return RuleRunner( rules=[ *config_files.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *external_tool_rules(), *source_files.rules(), *javac_rules(), *util_rules(), *target_types_rules(), *coursier_rules(), *java_util_rules.rules(), QueryRule(CheckResults, (JavacCheckRequest,)), QueryRule(FallibleCompiledClassfiles, (CompileJavaSourceRequest,)), QueryRule(CompiledClassfiles, (CompileJavaSourceRequest,)), QueryRule(CoarsenedTargets, (Addresses,)), ], target_types=[JvmDependencyLockfile, JavaSourcesGeneratorTarget, JvmArtifact], # TODO(#12293): use a fixed JDK version. bootstrap_args=[ "--javac-jdk=system", ], )