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( 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 test_smallest_full_test_multiple_root_subject_types(self) -> None: @rule def a_from_suba(suba: SubA) -> A: pass @rule def b_from_a(a: A) -> B: pass rules = [ a_from_suba, QueryRule(A, (SubA, )), b_from_a, QueryRule(B, (A, )) ] fullgraph = self.create_full_graph(rules) assert_equal_graph_output( dedent(f"""\ digraph {{ // queries: Query(A for SubA), Query(B for A) // root entries {fmt_non_param_edge(A, SubA)} {fmt_non_param_edge(A, SubA, RuleFormatRequest(a_from_suba))} {fmt_non_param_edge(B, A)} {fmt_non_param_edge(B, A, RuleFormatRequest(b_from_a))} // internal entries {fmt_param_edge(A, A, RuleFormatRequest(b_from_a))} {fmt_param_edge(SubA, SubA, RuleFormatRequest(a_from_suba))} }}""").strip(), fullgraph, )
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(), *classpath.rules(), *coursier_fetch_rules(), *coursier_setup_rules(), *jdk_rules.rules(), *javac_rules(), *util_rules(), *java_util_rules(), *target_types_rules(), *gjf_fmt_rules.rules(), *skip_field.rules(), QueryRule(LintResults, (GoogleJavaFormatRequest, )), QueryRule(FmtResult, (GoogleJavaFormatRequest, )), QueryRule(SourceFiles, (SourceFilesRequest, )), ], target_types=[JavaSourceTarget, JavaSourcesGeneratorTarget], ) rule_runner.set_options( [], env_inherit=PYTHON_BOOTSTRAP_ENV, ) return rule_runner
def test_find_putative_targets() -> None: rule_runner = RuleRunner( rules=[ *core_tailor_rules(), *terraform_tailor_rules(), QueryRule(PutativeTargets, [PutativeTerraformTargetsRequest, AllOwnedSources]), QueryRule(AllOwnedSources, ()), ], target_types=[ TerraformModule, TerraformModules, ], ) rule_runner.write_files({ fp: "" for fp in ( "prod/terraform/resources/foo/versions.tf", "prod/terraform/resources/bar/versions.tf", "prod/terraform/modules/bar/versions.tf", "prod/terraform/modules/bar/hello/versions.tf", "prod/terraform/modules/world/versions.tf", "service1/src/terraform/versions.tf", "service1/src/terraform/foo/versions.tf", "service1/src/terraform/versions.tf", "service2/src/terraform/versions.tf", ) }) pts = rule_runner.request( PutativeTargets, [ PutativeTerraformTargetsRequest(PutativeTargetsSearchPaths( ("", ))), AllOwnedSources([ "src/terraform/root.tf", "src/terraform/owned-module/main.tf", "src/terraform/owned-module/foo.tf", ]), ], ) assert (PutativeTargets([ PutativeTarget.for_target_type( TerraformModules, "prod/terraform", "tf_mods", ("prod/terraform/**/*.tf", ), ), PutativeTarget.for_target_type( TerraformModules, "service1/src/terraform", "tf_mods", ("service1/src/terraform/**/*.tf", ), ), PutativeTarget.for_target_type( TerraformModules, "service2/src/terraform", "tf_mods", ("service2/src/terraform/**/*.tf", ), ), ]) == pts)
def test_find_putative_targets() -> None: rule_runner = RuleRunner( rules=[ *core_tailor_rules(), *terraform_tailor_rules(), QueryRule(PutativeTargets, [PutativeTerraformTargetsRequest, AllOwnedSources]), QueryRule(AllOwnedSources, ()), ], target_types=[ TerraformModuleTarget, ], ) rule_runner.write_files({ "prod/terraform/owned-module/BUILD": "terraform_module()", "prod/terraform/owned-module/versions.tf": "", "prod/terraform/unowned-module/versions.tf": "", }) pts = rule_runner.request( PutativeTargets, [ PutativeTerraformTargetsRequest(("prod/terraform/owned-module", "prod/terraform/unowned-module")), AllOwnedSources(["prod/terraform/owned-module/versions.tf"]), ], ) assert (PutativeTargets([ PutativeTarget.for_target_type( TerraformModuleTarget, "prod/terraform/unowned-module", "unowned-module", ("versions.tf", ), ), ]) == pts)
def rules(): return [ QueryRule(WorkunitsCallbackFactories, (UnionMembership, )), QueryRule(Targets, (Addresses, )), QueryRule(Addresses, (Specs, OptionsBootstrapper)), *collect_rules(), ]
def rule_runner() -> RuleRunner: return RuleRunner(rules=[ *filter_empty_sources_rules(), QueryRule(FieldSetsWithSources, (FieldSetsWithSourcesRequest, OptionsBootstrapper)), QueryRule(TargetsWithSources, (TargetsWithSourcesRequest, OptionsBootstrapper)), ])
def rules(cls): return ( *super().rules(), *isort_rules(), QueryRule(LintResults, (IsortRequest, OptionsBootstrapper)), QueryRule(FmtResult, (IsortRequest, OptionsBootstrapper)), QueryRule(SourceFiles, (SourceFilesRequest, OptionsBootstrapper)), )
def rules(cls): return ( *super().rules(), *docformatter_rules(), QueryRule(LintResults, (DocformatterRequest, OptionsBootstrapper)), QueryRule(FmtResult, (DocformatterRequest, OptionsBootstrapper)), QueryRule(SourceFiles, (SourceFilesRequest, OptionsBootstrapper)), )
def rules(): return [ *collect_rules(), *system_binaries.rules(), QueryRule(RenderedClasspath, (Classpath, )), QueryRule(RenderedClasspath, (ClasspathEntry, )), QueryRule(CoarsenedTargets, (Addresses, )), ]
def rules(cls): return ( *super().rules(), *pex_rules(), QueryRule(Pex, (PexRequest, OptionsBootstrapper)), QueryRule(Process, (PexProcess, OptionsBootstrapper)), QueryRule(ProcessResult, (Process,)), )
def rule_runner() -> RuleRunner: return RuleRunner( target_types=[], rules=[ *chart_metadata.rules(), QueryRule(Digest, (HelmChartMetadata,)), QueryRule(HelmChartMetadata, (ParseHelmChartMetadataDigest,)), ], )
def rules(cls): return ( *super().rules(), *python_sources_rules(), QueryRule(PythonSourceFiles, (PythonSourceFilesRequest, OptionsBootstrapper)), QueryRule(StrippedPythonSourceFiles, (PythonSourceFilesRequest, OptionsBootstrapper)), )
def rule_runner() -> RuleRunner: return RuleRunner(rules=[ *system_binaries.rules(), python_binary_version, QueryRule(PythonBinaryVersion, []), QueryRule(BinaryPaths, [BinaryPathRequest]), QueryRule(BinaryShims, [BinaryShimsRequest]), QueryRule(DigestContents, [Digest]), ])
def rules(cls): return ( *super().rules(), get_javac_version_output, *cat_stdout_rules(), *javac_compile_rules(), QueryRule(ProcessResult, (Process,)), QueryRule(FallibleProcessResult, (Process,)), )
def rules(): return ( *collect_rules(), UnionRule(UvicornServerSetupRequest, GraphQLUvicornServerSetupRequest), # Root query data rules for graphql. QueryRule(AllUnexpandedTargets, ()), QueryRule(TargetDatas, (UnexpandedTargets,)), QueryRule(UnexpandedTargets, (Specs,)), )
def rule_runner() -> RuleRunner: return RuleRunner( target_types=[HelmArtifactTarget, HelmChartTarget], rules=[ *artifacts_rules(), *target_types_rules(), QueryRule(AllHelmArtifactTargets, ()), QueryRule(ThirdPartyHelmArtifactMapping, ()), ], )
def rules(cls): return ( *super().rules(), a_typecheck_fail_test, c_unhashable, nested_raise, QueryRule(A, (TypeCheckFailWrapper,)), QueryRule(A, (B,)), QueryRule(C, (CollectionType,)), )
def rules(cls): return ( *super().rules(), *pex.rules(), *external_tool.rules(), *archive.rules(), QueryRule(Pex, (PexRequest, OptionsBootstrapper)), QueryRule(Process, (PexProcess, OptionsBootstrapper)), QueryRule(ProcessResult, (Process, )), )
def rule_runner() -> RuleRunner: return RuleRunner( rules=[ *tailor.rules(), *source_files.rules(), QueryRule(UniquelyNamedPutativeTargets, (PutativeTargets,)), QueryRule(DisjointSourcePutativeTarget, (PutativeTarget,)), QueryRule(EditedBuildFiles, (EditBuildFilesRequest,)), ], target_types=[FortranLibrary, FortranTests], )
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *sdk.rules(), *import_analysis.rules(), QueryRule(GoStdLibImports, []), QueryRule(ImportConfig, [ImportConfigRequest]), ], ) rule_runner.set_options([], env_inherit={"PATH"}) return rule_runner
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *sdk.rules(), *third_party_pkg.rules(), QueryRule(AllThirdPartyPackages, [AllThirdPartyPackagesRequest]), QueryRule(ThirdPartyPkgInfo, [ThirdPartyPkgInfoRequest]), ], target_types=[GoModTarget], ) rule_runner.set_options([], env_inherit={"PATH"}) return rule_runner
def rule_runner() -> RuleRunner: return RuleRunner( rules=[ *export.rules(), *pex_from_targets.rules(), *target_types_rules.rules(), *distdir.rules(), QueryRule(Targets, [AddressSpecs]), QueryRule(ExportResults, [ExportVenvsRequest]), ], target_types=[PythonRequirementTarget], )
def rule_runner() -> RuleRunner: rule_runner = RuleRunner( rules=[ *sdk.rules(), *go_mod.rules(), QueryRule(OwningGoMod, [OwningGoModRequest]), QueryRule(GoModInfo, [GoModInfoRequest]), ], target_types=[GoModTarget, GoPackageTarget], ) rule_runner.set_options([], env_inherit={"PATH"}) return rule_runner
def rules(cls): return ( *super().rules(), *protobuf_rules(), *additional_fields.rules(), *source_files.rules(), *stripped_source_files.rules(), QueryRule(HydratedSources, (HydrateSourcesRequest, OptionsBootstrapper)), QueryRule( GeneratedSources, (GeneratePythonFromProtobufRequest, OptionsBootstrapper)), )
def rule_runner() -> RuleRunner: return RuleRunner( rules=[ *mypy_rules(), *mypy_subystem_rules(), *dependency_inference_rules.rules(), # Used for import inference. *config_files.rules(), *target_types_rules.rules(), QueryRule(CheckResults, (MyPyRequest,)), QueryRule(MyPyPartitions, (MyPyRequest,)), ], target_types=[PythonSourcesGeneratorTarget, PythonRequirementTarget, PythonSourceTarget], )
def rule_runner() -> RuleRunner: return RuleRunner( target_types=[HelmArtifactTarget, HelmChartTarget], rules=[ *artifacts.rules(), *chart.rules(), *chart_infer_rules(), *target_types_rules(), QueryRule(FirstPartyHelmChartMapping, ()), QueryRule(InferredDependencies, (InferHelmChartDependenciesRequest, )), ], )