Skip to content

Future of ament_build_type_gradle #9

@jacobperron

Description

@jacobperron

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions