hydra.build.publishsets module
Publish-set dependency-closure guard and leaves-first ordering, shared by the publish drivers.
- hydra.build.publishsets.is_publish_set_closed(packages: Sequence[Package], publish_set: Sequence[PackageName], externally_satisfied: Sequence[PackageName]) bool
Whether the publish set is dependency-closed given the externally-satisfied set.
- hydra.build.publishsets.package_dep_names(pkg: Package) Sequence[PackageName]
The names of a package’s direct dependencies.
- hydra.build.publishsets.publish_set_topo_order(packages: Sequence[Package], publish_set: Sequence[PackageName]) Sequence[PackageName]
The publish set in leaves-first topological order.
- hydra.build.publishsets.requires_coders(pkg: PackageName) bool
Whether a package needs coders loaded during JSON->target transform (all but the baseline packages).
- hydra.build.publishsets.reverse_dep_closure(packages: Sequence[Package], root: PackageName) Sequence[PackageName]
Every package that transitively depends on the root (including the root), sorted.
- hydra.build.publishsets.stranded_deps(packages: Sequence[Package], publish_set: Sequence[PackageName], externally_satisfied: Sequence[PackageName]) Sequence[tuple[PackageName, PackageName]]
The (member, missingDep) pairs stranded by publishing the set (empty = closed).