Ejemplo n.º 1
0
 def add_constraint(self, requirement: Requirement) -> None:
     if requirement.name() in self.requirements:
         self.add(requirement)
     elif requirement.name() in self.constraints:
         self.constraints[requirement.name()] = self.constraints[
             requirement.name()].add(requirement, self.target_platform)
     else:
         self.constraints[requirement.name()] = requirement
Ejemplo n.º 2
0
def test_can_retriev_all_runtime_dependency_names(
    package_a: Requirement,
    package_b: Requirement,
    package_c: Requirement,
    dependency_graph: DependencyGraph,
) -> None:
    dependency_graph.set_runtime_dependency(dependent=package_a,
                                            dependency=package_b)
    dependency_graph.set_runtime_dependency(dependent=package_b,
                                            dependency=package_c)
    assert dependency_graph.get_all_runtime_dependency_names(package_a) == {
        package_a.name(),
        package_b.name(),
        package_c.name(),
    }
Ejemplo n.º 3
0
 def get_all_external_dependencies(
         self, package: Requirement) -> Set[ExternalDependency]:
     found_dependencies: Set[ExternalDependency] = set()
     for package_name in self._get_python_children(package.name()):
         found_dependencies.update(
             self._external_dependencies[package_name])
     return found_dependencies
Ejemplo n.º 4
0
 def get_all_runtime_dependency_names(self,
                                      package: Requirement) -> Set[str]:
     return set(self._get_runtime_children(package.name()))
Ejemplo n.º 5
0
 def get_all_build_dependency_names(self, package: Requirement) -> Set[str]:
     return set(self._get_python_children(package.name()))
Ejemplo n.º 6
0
 def is_buildtime_dependency(self, dependent: Requirement,
                             dependency: Requirement) -> bool:
     return self._is_python_child(dependent.name(), dependency.name())
Ejemplo n.º 7
0
 def set_external_dependency(self, dependent: Requirement,
                             dependency: ExternalDependency) -> None:
     self._external_dependencies[dependent.name()].add(dependency)
Ejemplo n.º 8
0
 def set_buildtime_dependency(self, dependent: Requirement,
                              dependency: Requirement) -> None:
     self._raise_on_cyclic_dependency(dependent, dependency)
     self._buildtime_dependencies[dependent.name()].add(dependency.name())