Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
    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,
        )
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
def rules():
    return [
        QueryRule(WorkunitsCallbackFactories, (UnionMembership, )),
        QueryRule(Targets, (Addresses, )),
        QueryRule(Addresses, (Specs, OptionsBootstrapper)),
        *collect_rules(),
    ]
Ejemplo n.º 10
0
def rule_runner() -> RuleRunner:
    return RuleRunner(rules=[
        *filter_empty_sources_rules(),
        QueryRule(FieldSetsWithSources, (FieldSetsWithSourcesRequest,
                                         OptionsBootstrapper)),
        QueryRule(TargetsWithSources, (TargetsWithSourcesRequest,
                                       OptionsBootstrapper)),
    ])
Ejemplo n.º 11
0
 def rules(cls):
     return (
         *super().rules(),
         *isort_rules(),
         QueryRule(LintResults, (IsortRequest, OptionsBootstrapper)),
         QueryRule(FmtResult, (IsortRequest, OptionsBootstrapper)),
         QueryRule(SourceFiles, (SourceFilesRequest, OptionsBootstrapper)),
     )
Ejemplo n.º 12
0
 def rules(cls):
     return (
         *super().rules(),
         *docformatter_rules(),
         QueryRule(LintResults, (DocformatterRequest, OptionsBootstrapper)),
         QueryRule(FmtResult, (DocformatterRequest, OptionsBootstrapper)),
         QueryRule(SourceFiles, (SourceFilesRequest, OptionsBootstrapper)),
     )
Ejemplo n.º 13
0
def rules():
    return [
        *collect_rules(),
        *system_binaries.rules(),
        QueryRule(RenderedClasspath, (Classpath, )),
        QueryRule(RenderedClasspath, (ClasspathEntry, )),
        QueryRule(CoarsenedTargets, (Addresses, )),
    ]
Ejemplo n.º 14
0
 def rules(cls):
     return (
         *super().rules(),
         *pex_rules(),
         QueryRule(Pex, (PexRequest, OptionsBootstrapper)),
         QueryRule(Process, (PexProcess, OptionsBootstrapper)),
         QueryRule(ProcessResult, (Process,)),
     )
Ejemplo n.º 15
0
def rule_runner() -> RuleRunner:
    return RuleRunner(
        target_types=[],
        rules=[
            *chart_metadata.rules(),
            QueryRule(Digest, (HelmChartMetadata,)),
            QueryRule(HelmChartMetadata, (ParseHelmChartMetadataDigest,)),
        ],
    )
Ejemplo n.º 16
0
 def rules(cls):
     return (
         *super().rules(),
         *python_sources_rules(),
         QueryRule(PythonSourceFiles,
                   (PythonSourceFilesRequest, OptionsBootstrapper)),
         QueryRule(StrippedPythonSourceFiles,
                   (PythonSourceFilesRequest, OptionsBootstrapper)),
     )
Ejemplo n.º 17
0
def rule_runner() -> RuleRunner:
    return RuleRunner(rules=[
        *system_binaries.rules(),
        python_binary_version,
        QueryRule(PythonBinaryVersion, []),
        QueryRule(BinaryPaths, [BinaryPathRequest]),
        QueryRule(BinaryShims, [BinaryShimsRequest]),
        QueryRule(DigestContents, [Digest]),
    ])
Ejemplo n.º 18
0
 def rules(cls):
     return (
         *super().rules(),
         get_javac_version_output,
         *cat_stdout_rules(),
         *javac_compile_rules(),
         QueryRule(ProcessResult, (Process,)),
         QueryRule(FallibleProcessResult, (Process,)),
     )
Ejemplo n.º 19
0
def rules():
    return (
        *collect_rules(),
        UnionRule(UvicornServerSetupRequest, GraphQLUvicornServerSetupRequest),
        # Root query data rules for graphql.
        QueryRule(AllUnexpandedTargets, ()),
        QueryRule(TargetDatas, (UnexpandedTargets,)),
        QueryRule(UnexpandedTargets, (Specs,)),
    )
Ejemplo n.º 20
0
def rule_runner() -> RuleRunner:
    return RuleRunner(
        target_types=[HelmArtifactTarget, HelmChartTarget],
        rules=[
            *artifacts_rules(),
            *target_types_rules(),
            QueryRule(AllHelmArtifactTargets, ()),
            QueryRule(ThirdPartyHelmArtifactMapping, ()),
        ],
    )
Ejemplo n.º 21
0
 def rules(cls):
     return (
         *super().rules(),
         a_typecheck_fail_test,
         c_unhashable,
         nested_raise,
         QueryRule(A, (TypeCheckFailWrapper,)),
         QueryRule(A, (B,)),
         QueryRule(C, (CollectionType,)),
     )
Ejemplo n.º 22
0
 def rules(cls):
     return (
         *super().rules(),
         *pex.rules(),
         *external_tool.rules(),
         *archive.rules(),
         QueryRule(Pex, (PexRequest, OptionsBootstrapper)),
         QueryRule(Process, (PexProcess, OptionsBootstrapper)),
         QueryRule(ProcessResult, (Process, )),
     )
Ejemplo n.º 23
0
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],
    )
Ejemplo n.º 24
0
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
Ejemplo n.º 25
0
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
Ejemplo n.º 26
0
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],
    )
Ejemplo n.º 27
0
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
Ejemplo n.º 28
0
 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)),
     )
Ejemplo n.º 29
0
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],
    )
Ejemplo n.º 30
0
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, )),
        ],
    )