43 lines
2.6 KiB
TOML
43 lines
2.6 KiB
TOML
[workspace]
|
|
name = "blockly-ros2-controller"
|
|
version = "0.1.0"
|
|
channels = ["conda-forge", "robostack-jazzy"]
|
|
platforms = ["linux-64", "linux-aarch64"]
|
|
|
|
# Shared conda dependencies — available on both x86_64 and aarch64
|
|
[dependencies]
|
|
python = ">=3.11"
|
|
ros-jazzy-rclpy = "*"
|
|
ros-jazzy-rosidl-default-runtime = "*"
|
|
ros-jazzy-rosidl-default-generators = "*"
|
|
ros-jazzy-action-msgs = "*"
|
|
colcon-common-extensions = "*"
|
|
pytest = "*"
|
|
|
|
# Desktop-only conda dependencies (not available / not needed on aarch64)
|
|
# pyqtwebengine provides the Qt backend that pywebview needs on Linux.
|
|
[target.linux-64.dependencies]
|
|
ros-jazzy-desktop = "*"
|
|
nodejs = ">=18"
|
|
pyqtwebengine = "*"
|
|
qtpy = "*"
|
|
|
|
[target.linux-aarch64.dependencies]
|
|
ros-jazzy-ros-base = "*"
|
|
|
|
# pywebview is only on PyPI, not conda-forge.
|
|
# Desktop-only — Raspberry Pi only runs Executor Node.
|
|
[target.linux-64.pypi-dependencies]
|
|
pywebview = "*"
|
|
|
|
[tasks]
|
|
build-interfaces = "colcon build --symlink-install --packages-select blockly_interfaces"
|
|
build-executor = { cmd = "colcon build --symlink-install --packages-select blockly_executor", depends-on = ["build-interfaces"] }
|
|
build-app = { cmd = "colcon build --symlink-install --packages-select blockly_app", depends-on = ["build-interfaces"] }
|
|
build = { cmd = "colcon build --symlink-install", depends-on = ["build-interfaces"] }
|
|
executor = { cmd = "bash -c 'source install/setup.bash && ros2 run blockly_executor executor_node'", depends-on = ["build-executor"] }
|
|
executor-hw = { cmd = "bash -c 'source install/setup.bash && ros2 run blockly_executor executor_node --ros-args -p use_real_hardware:=true'", depends-on = ["build-executor"] }
|
|
app = { cmd = "bash -c 'source install/setup.bash && python -m blockly_app.app'", depends-on = ["build-app"] }
|
|
test = { cmd = "bash -c 'source install/setup.bash && PYTHONPATH=$PYTHONPATH:src/blockly_executor pytest src/blockly_executor/test/ -v'", depends-on = ["build-interfaces"] }
|
|
setup-ui = "npm install blockly && mkdir -p src/blockly_app/blockly_app/ui/vendor && cp node_modules/blockly/blockly.min.js src/blockly_app/blockly_app/ui/vendor/ && cp node_modules/blockly/javascript_compressed.js src/blockly_app/blockly_app/ui/vendor/ && cp node_modules/blockly/blocks_compressed.js src/blockly_app/blockly_app/ui/vendor/ && cp node_modules/blockly/msg/en.js src/blockly_app/blockly_app/ui/vendor/"
|