diff --git a/.devcontainer/humble/Dockerfile b/.devcontainer/humble/Dockerfile index 1fb014d..5f54bbc 100644 --- a/.devcontainer/humble/Dockerfile +++ b/.devcontainer/humble/Dockerfile @@ -36,11 +36,7 @@ RUN echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc # make sure folders exist WORKDIR /home/$USERNAME/colcon_ws/src -RUN git clone https://github.com/CollaborativeRoboticsLab/capabilities2.git -b develop -# RUN git clone --recurse-submodules https://github.com/CollaborativeRoboticsLab/prompt_tools.git -# RUN git clone https://github.com/CollaborativeRoboticsLab/prompt_capabilities.git -# RUN git clone https://github.com/CollaborativeRoboticsLab/fabric_capabilities.git - -# git clone --recurse-submodules https://github.com/CollaborativeRoboticsLab/prompt_tools.git -# git clone https://github.com/CollaborativeRoboticsLab/prompt_capabilities.git -# git clone https://github.com/CollaborativeRoboticsLab/fabric_capabilities.git \ No newline at end of file +RUN git clone https://github.com/CollaborativeRoboticsLab/capabilities2.git +RUN git clone --recurse-submodules https://github.com/CollaborativeRoboticsLab/prompt_tools.git +RUN git clone https://github.com/CollaborativeRoboticsLab/prompt_capabilities.git +RUN git clone https://github.com/CollaborativeRoboticsLab/fabric_capabilities.git \ No newline at end of file diff --git a/.devcontainer/jazzy/Dockerfile b/.devcontainer/jazzy/Dockerfile index f1e94be..eb0867e 100644 --- a/.devcontainer/jazzy/Dockerfile +++ b/.devcontainer/jazzy/Dockerfile @@ -33,11 +33,7 @@ RUN echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc # make sure folders exist WORKDIR /home/$USERNAME/colcon_ws/src -RUN git clone https://github.com/CollaborativeRoboticsLab/capabilities2.git -b develop -# RUN git clone --recurse-submodules https://github.com/CollaborativeRoboticsLab/prompt_tools.git -# RUN git clone https://github.com/CollaborativeRoboticsLab/prompt_capabilities.git -# RUN git clone https://github.com/CollaborativeRoboticsLab/fabric_capabilities.git - -# git clone --recurse-submodules https://github.com/CollaborativeRoboticsLab/prompt_tools.git -# git clone https://github.com/CollaborativeRoboticsLab/prompt_capabilities.git -# git clone https://github.com/CollaborativeRoboticsLab/fabric_capabilities.git \ No newline at end of file +RUN git clone https://github.com/CollaborativeRoboticsLab/capabilities2.git +RUN git clone --recurse-submodules https://github.com/CollaborativeRoboticsLab/prompt_tools.git +RUN git clone https://github.com/CollaborativeRoboticsLab/prompt_capabilities.git +RUN git clone https://github.com/CollaborativeRoboticsLab/fabric_capabilities.git \ No newline at end of file diff --git a/.github/workflows/doxygen-pages.yml b/.github/workflows/doxygen-pages.yml index 32f0222..a57e5ba 100644 --- a/.github/workflows/doxygen-pages.yml +++ b/.github/workflows/doxygen-pages.yml @@ -7,6 +7,7 @@ on: paths: - Doxygen - README.md + - '**/package.xml' - docs/** - '**/*.md' - '**/*.dox' @@ -26,6 +27,7 @@ on: paths: - Doxygen - README.md + - '**/package.xml' - docs/** - '**/*.md' - '**/*.dox' @@ -58,6 +60,61 @@ jobs: - name: Check out repository uses: actions/checkout@v4 + - name: Check package versions + run: | + python3 <<'PY' + import re + import sys + import xml.etree.ElementTree as ET + from pathlib import Path + + root = Path('.') + package_files = sorted(root.glob('**/package.xml')) + + if not package_files: + print('No package.xml files found.') + sys.exit(1) + + versions = {} + invalid = [] + semver_re = re.compile(r'^\d+\.\d+\.\d+$') + + for pkg_file in package_files: + tree = ET.parse(pkg_file) + package = tree.getroot() + name = package.findtext('name', '').strip() + version = package.findtext('version', '').strip() + + if not name or not version: + invalid.append((str(pkg_file), name or '', version or '')) + continue + + if not semver_re.match(version): + invalid.append((str(pkg_file), name, version)) + continue + + versions[name] = version + + if invalid: + print('Invalid package metadata found:') + for path, name, version in invalid: + print(f' - {path}: name={name}, version={version}') + sys.exit(1) + + unique_versions = sorted(set(versions.values())) + + print('Discovered package versions:') + for name, version in sorted(versions.items()): + print(f' - {name}: {version}') + + if len(unique_versions) != 1: + print('\nVersion mismatch detected across package.xml files.') + print('Unique versions found:', ', '.join(unique_versions)) + sys.exit(1) + + print(f'\nAll package.xml files use version {unique_versions[0]}.') + PY + - name: Install Doxygen run: sudo apt-get update && sudo apt-get install -y doxygen diff --git a/docs/readme.md b/docs/readme.md deleted file mode 100644 index b2836b4..0000000 --- a/docs/readme.md +++ /dev/null @@ -1,15 +0,0 @@ -# Docs - -The documentation site is generated with Doxygen from the existing Markdown in this `docs/` tree together with comments from the source code. The Doxygen configuration lives at the repository root in [`Doxygen`](../Doxygen). - -```bash -# install doxygen if it is not already available -sudo apt-get update && sudo apt-get install -y doxygen - -# from the repository root -doxygen Doxygen -``` - -The generated HTML site is written to `docs/html/` and the entry page is `docs/html/index.html`. - -For GitHub Pages, this repository can use GitHub Actions as both the build source and the deployment source. The workflow in `.github/workflows/doxygen-pages.yml` rebuilds the site whenever documentation or source files change and deploys the generated `docs/html/` artifact to Pages. \ No newline at end of file diff --git a/fabric_base/package.xml b/fabric_base/package.xml index 634b20f..0cd49f9 100644 --- a/fabric_base/package.xml +++ b/fabric_base/package.xml @@ -3,8 +3,15 @@ fabric_base 0.2.0 - TODO: Package description - ubuntu + + Shared base utilities and plugin interfaces for the Fabric stack. + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + Kalana Ratnayake + MIT ament_cmake diff --git a/fabric_msgs/package.xml b/fabric_msgs/package.xml index 8d9ead8..610138f 100644 --- a/fabric_msgs/package.xml +++ b/fabric_msgs/package.xml @@ -7,9 +7,10 @@ Kalana Ratnayake - Kalana Ratnayake + Kalana Ratnayake Kalana Ratnayake + Kalana Ratnayake MIT diff --git a/fabric_parser_xml/package.xml b/fabric_parser_xml/package.xml index 52b3140..941ba14 100644 --- a/fabric_parser_xml/package.xml +++ b/fabric_parser_xml/package.xml @@ -3,8 +3,14 @@ fabric_parser_xml 0.2.0 - TODO: Package description - ubuntu + XML parser plugins for Fabric execution plans. + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + Kalana Ratnayake + MIT ament_cmake diff --git a/fabric_server/package.xml b/fabric_server/package.xml index 3ce449f..57cad19 100644 --- a/fabric_server/package.xml +++ b/fabric_server/package.xml @@ -3,8 +3,14 @@ fabric_server 0.2.0 - TODO: Package description - ubuntu + Server package for coordinating capability execution in the Fabric stack. + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + Kalana Ratnayake + MIT ament_cmake diff --git a/fabric_validator/package.xml b/fabric_validator/package.xml index bf2b603..f28f9e8 100644 --- a/fabric_validator/package.xml +++ b/fabric_validator/package.xml @@ -3,8 +3,14 @@ fabric_validator 0.2.0 - TODO: Package description - ubuntu + Validation plugins for Fabric execution plans. + + Kalana Ratnayake + Kalana Ratnayake + + Kalana Ratnayake + Kalana Ratnayake + MIT ament_cmake