Closed xela-95 closed 7 months ago
CC @traversaro
See the docs in https://github.com/robotology/robotology-superbuild/blob/master/doc/developers-faqs.md#how-to-add-a-new-package . As we plan to add the package in conda-forge, notice that we need to let know that to the robotology-superbuild by setting the gz-sim-yarp-plugins_CONDA_PKG_CONDA_FORGE_OVERRIDE
option, see https://github.com/robotology/robotology-superbuild/blob/master/doc/developers-faqs.md#how-to-ensure-that-binary-packages-are-correctly-generated-for-a-new-package . This is useful to ensure that no gz-sim-yarp-plugins
package is added in the robotology conda channel.
According to https://github.com/robotology/robotology-superbuild/blob/master/doc/cmake-options.md#profile-specific-documentation, should gz-sim-yarp-plugins be part of the profile CORE
and have a custom CMake dependency option like ROBOTOLOGY_USES_GZ_SIM
?
Moreover, if I recall well, we should check that the options ROBOTOLOGY_USES_GAZEBO
and ROBOTOLOGY_USES_GZ_SIM
are mutually exclusive, otherwise log a an error.
According to https://github.com/robotology/robotology-superbuild/blob/master/doc/cmake-options.md#profile-specific-documentation, should gz-sim-yarp-plugins be part of the profile
CORE
and have a custom CMake dependency option likeROBOTOLOGY_USES_GZ_SIM
?
Yes.
Moreover, if I recall well, we should check that the options ROBOTOLOGY_USES_GAZEBO and ROBOTOLOGY_USES_GZ_SIM are mutually exclusive, otherwise log a an error.
Yes, I remember mentioning this, but perhaps this is not strictly necessary in the long term. We can document how install a gz-sim compatible build of gazebo (on apt) and build a gz-sim compaible build of gazebo-classic in conda-forge (for conda). Anyhow, we can probably leave this aside for the first PR.
Where I should put the dependencies of the package? The DEPENDS
field of ycm_ep_helper
is only for packages inside the superbuild? https://github.com/xela-95/robotology-superbuild/blob/056c18b2c0ca5e953705870b278463bdd1415eb2/cmake/Buildgz-sim-yarp-plugins.cmake#L15-L16
In general what other files should I modify other than the Buildgz-sim-yarp-plugins.cmake?
Where I should put the dependencies of the package? The
DEPENDS
field ofycm_ep_helper
is only for packages inside the superbuild? https://github.com/xela-95/robotology-superbuild/blob/056c18b2c0ca5e953705870b278463bdd1415eb2/cmake/Buildgz-sim-yarp-plugins.cmake#L15-L16
Yes. Other dependencies go in the documentation and in the ci script (unfortunately duplicated).
In general what other files should I modify other than the Buildgz-sim-yarp-plugins.cmake?
I would say:
ROBOTOLOGY_USES_GAZEBO
is used (as you should have ROBOTOLOGY_USES_GZ_SIM
instead (see https://github.com/search?q=repo%3Arobotology%2Frobotology-superbuild%20ROBOTOLOGY_USES_GAZEBO&type=code)GazeboYARPPlugins
is used (see https://github.com/search?q=repo%3Arobotology%2Frobotology-superbuild+GazeboYarpPlugins&type=code), except old releases files, for what regards releases you only need to modify latest.releases.yaml
In order to test if I made all the necessary updates, is it sufficient to check the CI is passing or should I try some of the methods in which the robotology can be installed?
In order to test if I made all the necessary updates, is it sufficient to check the CI is passing or should I try some of the methods in which the robotology can be installed?
I guess CI is enough, as long as you check that CI actually enables the option you want to test.
To avoid the mutual exclusivity between gazebo-classic and gz-sim8, we can use the following changes:
https://github.com/robotology/robotology-superbuild/pull/1628 has been merged. Closing!
Robotology superbuild: https://github.com/robotology/robotology-superbuild
PR: https://github.com/robotology/robotology-superbuild/pull/1628