Bug report
Steps to reproduce
- Build wheel:
cd clients/python && python -m build
- Inspect contents:
python -m zipfile -l dist/*.whl
Expected behavior
Wheel contains ros2_medkit_client/_generated/ with all generated API and model code.
Actual behavior
Wheel is missing _generated/ entirely. The api/*.py modules import from _generated and fail with ModuleNotFoundError at runtime.
Root cause
_generated is a symlink (_generated -> ../../generated). Hatchling does not follow symlinks outside the package directory when building the wheel.
Fix
In the publish CI job, replace ln -sf with cp -r so the generated code is physically present inside the package directory before building.
Also in build-and-test job, use cp -r for consistency - symlink works for local dev but not for wheel builds.
Environment
Bug report
Steps to reproduce
cd clients/python && python -m buildpython -m zipfile -l dist/*.whlExpected behavior
Wheel contains
ros2_medkit_client/_generated/with all generated API and model code.Actual behavior
Wheel is missing
_generated/entirely. Theapi/*.pymodules import from_generatedand fail withModuleNotFoundErrorat runtime.Root cause
_generatedis a symlink (_generated -> ../../generated). Hatchling does not follow symlinks outside the package directory when building the wheel.Fix
In the publish CI job, replace
ln -sfwithcp -rso the generated code is physically present inside the package directory before building.Also in
build-and-testjob, usecp -rfor consistency - symlink works for local dev but not for wheel builds.Environment