MCPcopy
hub / github.com/pex-tool/pex / configure

Method configure

pex/dependency_manager.py:70–114  ·  view source on GitHub ↗
(
        self,
        pex_builder,  # type: PEXBuilder
        dependency_configuration=DependencyConfiguration(),  # type: DependencyConfiguration
    )

Source from the content-addressed store, hash-verified

68 self.add_distribution(resolved_dist.fingerprinted_distribution)
69
70 def configure(
71 self,
72 pex_builder, # type: PEXBuilder
73 dependency_configuration=DependencyConfiguration(), # type: DependencyConfiguration
74 ):
75 # type: (...) -> None
76
77 dependency_configuration.configure(pex_builder.info)
78
79 root_requirements_by_project_name = defaultdict(
80 OrderedSet
81 ) # type: DefaultDict[ProjectName, OrderedSet[Requirement]]
82 for root_req in self._requirements:
83 root_requirements_by_project_name[root_req.project_name].add(root_req)
84
85 for fingerprinted_dist in self._distributions:
86 excluded_by = dependency_configuration.excluded_by(fingerprinted_dist.distribution)
87 if excluded_by:
88 excludes = " and ".join(map(str, excluded_by))
89 root_reqs = root_requirements_by_project_name[fingerprinted_dist.project_name]
90 production_assert(
91 len(root_reqs) > 0,
92 "The deep --exclude mechanism failed to exclude {dist} from transitive "
93 "requirements. It should have been excluded by configured excludes: "
94 "{excludes} but was not.",
95 dist=fingerprinted_dist.distribution,
96 excludes=excludes,
97 )
98 pex_warnings.warn(
99 "The distribution {dist} was required by the input {requirements} "
100 "{root_reqs} but ultimately excluded by configured excludes: "
101 "{excludes}".format(
102 dist=fingerprinted_dist.distribution,
103 requirements=pluralize(root_reqs, "requirement"),
104 root_reqs=" and ".join(map(str, root_reqs)),
105 excludes=excludes,
106 )
107 )
108 continue
109 pex_builder.add_distribution(
110 dist=fingerprinted_dist.distribution, fingerprint=fingerprinted_dist.fingerprint
111 )
112
113 for requirement in self._requirements:
114 pex_builder.add_requirement(requirement)

Callers 15

build_pexFunction · 0.95
test_exclude_root_reqsFunction · 0.95
runMethod · 0.45
_parse_optionsMethod · 0.45
_resolve_pylockMethod · 0.45
_resolve_toolMethod · 0.45
_resolve_targetsMethod · 0.45
_createMethod · 0.45
_exportMethod · 0.45
_export_subsetMethod · 0.45

Calls 8

production_assertFunction · 0.90
pluralizeFunction · 0.90
excluded_byMethod · 0.80
addMethod · 0.45
joinMethod · 0.45
add_distributionMethod · 0.45
add_requirementMethod · 0.45

Tested by 6

test_exclude_root_reqsFunction · 0.76
test_clp_preamble_fileFunction · 0.36
build_prerelease_pexFunction · 0.36