As I understand it, ament_tools is deprecated having been replaced by colcon as the build tool for ROS distros newer than Bouncy. Further, ament_build_type_gradle depends on ament_tools. I'm opening this issue to start a discussion about how to proceed for later ROS releases (e.g. Dashing).
If I ignore ament_build_type_gradle, I'm able to build ROS 2 Dashing with Java support, except some runtime environment information is missing for gradle packages (e.g. CLASSPATH, AMENT_PREFIX_PATH) and the packages are not registered with the ament index. My main question is where should these things be handled?
Should we keep the logic in ament_build_type_gradle and refactor so it doesn't use ament_tools?
Or perhaps we can move all of the functionality into ament_gradle_plugin?
It seems like what we want is a new package ament_index_java (similar to the C++ and Python packages) that provides helpers for registering/querying entries in the ament index. Then this new Java API can be called from ament_gradle_plugin or directly by the gradle package.
I'm new to gradle, so I'm still doing some reading and experimenting.
As I understand it,
ament_toolsis deprecated having been replaced bycolconas the build tool for ROS distros newer than Bouncy. Further,ament_build_type_gradledepends onament_tools. I'm opening this issue to start a discussion about how to proceed for later ROS releases (e.g. Dashing).If I ignore
ament_build_type_gradle, I'm able to build ROS 2 Dashing with Java support, except some runtime environment information is missing for gradle packages (e.g.CLASSPATH,AMENT_PREFIX_PATH) and the packages are not registered with the ament index. My main question is where should these things be handled?Should we keep the logic in
ament_build_type_gradleand refactor so it doesn't useament_tools?Or perhaps we can move all of the functionality into ament_gradle_plugin?
It seems like what we want is a new package
ament_index_java(similar to the C++ and Python packages) that provides helpers for registering/querying entries in the ament index. Then this new Java API can be called fromament_gradle_pluginor directly by the gradle package.I'm new to gradle, so I'm still doing some reading and experimenting.