Skip to content

Instantly share code, notes, and snippets.

@stuhood
Created August 25, 2020 00:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stuhood/5ee7d45d4f94674968e13b7fc34f9b6b to your computer and use it in GitHub Desktop.
Save stuhood/5ee7d45d4f94674968e13b7fc34f9b6b to your computer and use it in GitHub Desktop.
// strongly connected component:
digraph {
0 [label="@rule(pants.engine.internals.build_files:152:addresses_with_origins_from_address_specs(AddressSpecs, GlobalOptions, AddressSpecsFilter) -> AddressesWithOrigins, gets=[Get(Address, AddressInput), Get(TargetAdaptor, Address), Get(UnexpandedTargets, Addresses), Get(Snapshot, PathGlobs), Get(AddressFamily, Dir)])"]
1 [label="@rule(pants.engine.internals.graph:424:addresses_with_origins_from_filesystem_specs(FilesystemSpecs, GlobalOptions) -> AddressesWithOrigins, gets=[Get(Snapshot, PathGlobs), Get(Owners, OwnersRequest)])"]
2 [label="@rule(pants.engine.internals.graph:470:resolve_addresses_with_origins(Specs) -> AddressesWithOrigins, gets=[Get(AddressesWithOrigins, AddressSpecs), Get(AddressesWithOrigins, FilesystemSpecs)])"]
3 [label="@rule(pants.engine.internals.graph:172:resolve_unexpanded_targets(Addresses) -> UnexpandedTargets, gets=[Get(WrappedTarget, Address)])"]
4 [label="@rule(pants.engine.internals.build_files:221:strip_address_origins(AddressesWithOrigins) -> Addresses)"]
5 [label="@rule(pants.engine.internals.graph:719:resolve_dependencies(DependenciesRequest, UnionMembership, RegisteredTargetTypes, GlobalOptions) -> Addresses, gets=[Get(Address, AddressInput), Get(InjectedDependencies, InjectProtobufDependencies), Get(WrappedTarget, Address), Get(InferredDependencies, InferPythonDependencies), Get(InferredDependencies, InferInitDependencies), Get(InferredDependencies, InferConftestDependencies), Get(Subtargets, Address)])"]
6 [label="@rule(pants.engine.internals.graph:338:find_owners(OwnersRequest) -> Owners, gets=[Get(Snapshot, PathGlobs), Get(Targets, AddressSpecs), Get(UnexpandedTargets, AddressSpecs), Get(BuildFileAddress, Address)])"]
7 [label="@rule(pants.backend.python.dependency_inference.rules:100:infer_python_dependencies(InferPythonDependencies, PythonInference) -> InferredDependencies, gets=[Get(StrippedSourceFiles, SourceFilesRequest), Get(DigestContents, Digest), Get(PythonModuleOwner, PythonModule)])"]
8 [label="@rule(pants.backend.python.dependency_inference.rules:143:infer_python_init_dependencies(InferInitDependencies, PythonInference) -> InferredDependencies, gets=[Get(HydratedSources, HydrateSourcesRequest), Get(AncestorFiles, AncestorFilesRequest), Get(Owners, OwnersRequest)])"]
9 [label="@rule(pants.backend.python.dependency_inference.rules:172:infer_python_conftest_dependencies(InferConftestDependencies, PythonInference) -> InferredDependencies, gets=[Get(HydratedSources, HydrateSourcesRequest), Get(AncestorFiles, AncestorFilesRequest), Get(Owners, OwnersRequest)])"]
10 [label="@rule(pants.engine.internals.graph:141:resolve_targets(UnexpandedTargets) -> Targets, gets=[Get(Subtargets, Address)])"]
11 [label="@rule(pants.engine.internals.graph:284:transitive_targets(Targets) -> TransitiveTargets, gets=[Get(Targets, DependenciesRequest)])"]
12 [label="@rule(pants.engine.internals.graph:577:hydrate_sources(HydrateSourcesRequest, GlobalOptions, UnionMembership) -> HydratedSources, gets=[Get(Snapshot, PathGlobs), Get(WrappedTarget, Address), Get(GeneratedSources, GeneratePythonFromProtobufRequest)])"]
13 [label="@rule(pants.core.util_rules.source_files:53:determine_source_files(SourceFilesRequest) -> SourceFiles, gets=[Get(HydratedSources, HydrateSourcesRequest), Get(Snapshot, MergeDigests)])"]
14 [label="@rule(pants.core.util_rules.stripped_source_files:20:strip_source_roots(SourceFiles) -> StrippedSourceFiles, gets=[Get(Snapshot, DigestSubset), Get(SourceRootsResult, SourceRootsRequest), Get(Snapshot, RemovePrefix), Get(Digest, DigestSubset), Get(Digest, RemovePrefix), Get(Snapshot, MergeDigests)])"]
15 [label="@rule(pants.backend.python.dependency_inference.module_mapper:141:map_module_to_address(PythonModule, FirstPartyModuleToAddressMapping, ThirdPartyModuleToAddressMapping) -> PythonModuleOwner)"]
16 [label="@rule(pants.backend.python.dependency_inference.module_mapper:65:map_first_party_modules_to_addresses() -> FirstPartyModuleToAddressMapping, gets=[Get(Targets, AddressSpecs), Get(StrippedSourceFiles, SourceFilesRequest)])"]
17 [label="@rule(pants.backend.python.dependency_inference.module_mapper:106:map_third_party_modules_to_addresses() -> ThirdPartyModuleToAddressMapping, gets=[Get(Targets, AddressSpecs)])"]
18 [label="@rule(pants.backend.codegen.protobuf.python.rules:28:generate_python_from_protobuf(GeneratePythonFromProtobufRequest, Protoc) -> GeneratedSources, gets=[Get(DownloadedExternalTool, ExternalToolRequest), Get(ProcessResult, Process), Get(TransitiveTargets, Addresses), Get(StrippedSourceFiles, SourceFilesRequest), Get(Digest, MergeDigests), Get(Digest, RemovePrefix), Get(SourceRoot, SourceRootRequest), Get(Snapshot, AddPrefix), Get(Snapshot, Digest)])"]
12 -> 18 [label="Get(GeneratedSources, GeneratePythonFromProtobufRequest)"]
18 -> 11 [label="Get(TransitiveTargets, Addresses)"]
18 -> 14 [label="Get(StrippedSourceFiles, SourceFilesRequest)"]
14 -> 13 [label="SourceFiles"]
13 -> 12 [label="Get(HydratedSources, HydrateSourcesRequest)"]
11 -> 10 [label="Targets"]
11 -> 10 [label="Get(Targets, DependenciesRequest)"]
10 -> 3 [label="UnexpandedTargets"]
3 -> 4 [label="Addresses"]
3 -> 5 [label="Addresses"]
5 -> 7 [label="Get(InferredDependencies, InferPythonDependencies)"]
5 -> 8 [label="Get(InferredDependencies, InferPythonDependencies)"]
5 -> 9 [label="Get(InferredDependencies, InferPythonDependencies)"]
5 -> 7 [label="Get(InferredDependencies, InferInitDependencies)"]
5 -> 8 [label="Get(InferredDependencies, InferInitDependencies)"]
5 -> 9 [label="Get(InferredDependencies, InferInitDependencies)"]
5 -> 7 [label="Get(InferredDependencies, InferConftestDependencies)"]
5 -> 8 [label="Get(InferredDependencies, InferConftestDependencies)"]
5 -> 9 [label="Get(InferredDependencies, InferConftestDependencies)"]
9 -> 12 [label="Get(HydratedSources, HydrateSourcesRequest)"]
9 -> 6 [label="Get(Owners, OwnersRequest)"]
6 -> 10 [label="Get(Targets, AddressSpecs)"]
6 -> 3 [label="Get(UnexpandedTargets, AddressSpecs)"]
8 -> 12 [label="Get(HydratedSources, HydrateSourcesRequest)"]
8 -> 6 [label="Get(Owners, OwnersRequest)"]
7 -> 14 [label="Get(StrippedSourceFiles, SourceFilesRequest)"]
7 -> 15 [label="Get(PythonModuleOwner, PythonModule)"]
15 -> 16 [label="FirstPartyModuleToAddressMapping"]
15 -> 17 [label="ThirdPartyModuleToAddressMapping"]
17 -> 10 [label="Get(Targets, AddressSpecs)"]
16 -> 10 [label="Get(Targets, AddressSpecs)"]
16 -> 14 [label="Get(StrippedSourceFiles, SourceFilesRequest)"]
4 -> 0 [label="AddressesWithOrigins"]
4 -> 1 [label="AddressesWithOrigins"]
4 -> 2 [label="AddressesWithOrigins"]
2 -> 0 [label="Get(AddressesWithOrigins, AddressSpecs)"]
2 -> 1 [label="Get(AddressesWithOrigins, AddressSpecs)"]
2 -> 2 [label="Get(AddressesWithOrigins, AddressSpecs)"]
2 -> 0 [label="Get(AddressesWithOrigins, FilesystemSpecs)"]
2 -> 1 [label="Get(AddressesWithOrigins, FilesystemSpecs)"]
2 -> 2 [label="Get(AddressesWithOrigins, FilesystemSpecs)"]
1 -> 6 [label="Get(Owners, OwnersRequest)"]
0 -> 3 [label="Get(UnexpandedTargets, Addresses)"]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment