nix-ros-overlay/maintainers/scripts/ament-vendor-update-order.nix
Michal Sojka e7a95d9aaa Add update-ament-vendor.sh maintainer script
This script automatically updates (or generates) all
vendored-source.json files.
2025-04-13 21:39:02 -04:00

8 lines
441 B
Nix

{ candidates }:
with import ../../. {};
let
updatable = lib.filter (pkg: if pkg ? updateAmentVendor then true else lib.warn "${pkg.pname} not updatable" false) candidates;
isDependent = a: b: builtins.elem a (b.buildInputs ++ b.propagatedBuildInputs ++ b.nativeBuildInputs);
sorted = (lib.toposort isDependent updatable).result;
in
map (p: let name = lib.removePrefix "ros-${p.rosDistro}-" p.pname; in "${p.rosDistro}.${name}") sorted