1.3 KiB
1.3 KiB
rws
rws manages a ROS workspace by registering external packages, linking them
into src/, and generating a root justfile that exposes each package as a
module. You can also provide a envrc that will be exposed at the root of the
workspace.
The final workspace layout is:
workspace/
src/
.rws/
rws.toml
justfile.common
envrc
justfile
.envrc
Each package can provide its own justfile at .rws/justfile:
camera/
package.xml
.rws/
justfile
Install
cargo install --branch main --git https://noa.mornie.org/eriol/rws
Usage
rws init --workspace ~/ws/my_robot
rws update --workspace ~/ws/my_robot --common-justfile path/to/common.just --envrc path/to/.envrc
rws package add --workspace ~/ws/my_robot ~/dev/robot/camera
rws package add --workspace ~/ws/my_robot ~/dev/robot/lidar
rws sync --workspace ~/ws/my_robot
just camera start
just lidar start
To remove managed workspace files later:
rws update --workspace ~/ws/my_robot --no-common-justfile
rws update --workspace ~/ws/my_robot --no-envrc
The generated root justfile imports .rws/justfile.common when configured
and adds one module per package:
import '.rws/justfile.common'
mod camera 'src/camera/.rws/justfile'
mod lidar 'src/lidar/.rws/justfile'