Created
May 10, 2020 21:12
-
-
Save stertingen/ca18e1eb8cdfd53b67dd966be2300f48 to your computer and use it in GitHub Desktop.
Generate topology order for ROS packages
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -x | |
for target in ros ros_comm ros_core ros_base robot viz desktop perception simulators desktop_full; do | |
if ! [ -r $target/topology.txt ]; then | |
mkdir -p $target | |
pushd $target | |
mkdir -p src | |
rosinstall_generator $target --rosdistro melodic --deps --tar | vcs import src | |
colcon list -t -n > topology.txt | |
popd | |
fi | |
done | |
makepreq() { | |
target=$1/preq.txt | |
shift | |
echo > $target | |
for pre in "$@"; do | |
cat $pre/topology.txt >> $target | |
done | |
} | |
makepreq ros | |
makepreq ros_comm ros | |
makepreq ros_core ros_comm ros | |
makepreq ros_base ros_core ros_comm ros | |
makepreq robot ros_base ros_core ros_comm ros | |
makepreq viz robot ros_base ros_core ros_comm ros | |
makepreq desktop viz robot ros_base ros_core ros_comm ros | |
makepreq perception desktop viz robot ros_base ros_core ros_comm ros | |
makepreq simulators perception desktop viz robot ros_base ros_core ros_comm ros | |
makepreq desktop_full simulators perception desktop viz robot ros_base ros_core ros_comm ros | |
removelines() ( | |
awk 'NR==FNR{a[$0];next} !($0 in a)' $2 $1 > $3 | |
) | |
i=01 | |
for target in ros ros_comm ros_core ros_base robot viz desktop perception simulators desktop_full; do | |
removelines $target/topology.txt $target/preq.txt $(printf "%02d" $i)_${target} | |
((i++)) | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment