"Official" Java Client Library

@niels It would be awesome to see contributions to rcljava actions. I also have an interest in adding support for actions. I’ve added items for it in this meta-ticket: https://github.com/ros2-java/ros2_java/issues/82
I haven’t had time to put into it yet, but we should coordinate to avoid duplication of work. When you’re ready to start working on it, please comment here or on the meta-ticket. I’m happy to help any way I can.

1 Like

@jacob From now on, I’m fully available to work on rcljava action support.
I wrote a comment on the meta ticket.

1 Like

As we are trying to port everything to ROS 2 Foxy, it would be interesting to know the state of rcljava in Foxy. Based on the docker repo from @jacob I expect that it is working in Foxy.

I am wondering if others already have some experience with rcljava in Foxy.

Moreover, the previous version we used in Dashing only supported Java 8. Is that still the case? I noticed that OpenTCS has moved to Java 13.

I’m working on getting the Dashing branch merged into master ASAP, all works except the Gradle plugin, but think I’ll put that on hold so as to move forward and get the ball rolling. In any case, any help will definitely be appreciated.

rcljava should work with Java 13, it does not use any feature from Java 8 or higher so as to support Android.

Does merging the Dashing branch into master mean that the features from Dashing are included in Foxy? For me it is not clear if the Foxy docker image can be used already. I think I don’t have enough experience with rcljava and all the generators to actually help you.

I was mixing up things. OpenTCS had constraints on the Java version, not rcljava.

That docker image on my GitHub is to help prove to myself that my development branches for rcljava Foxy support are working. It’s not meant to be a stable image.

AFAIK, this development branch should work with Foxy and depends on this change in ament_java. The plan is to start merging changes from my dev branch to the default branch as soon as the changes for Dashing have been merged.

1 Like

Thank you for the update @jacob. We will not use the docker image, but use your development branch first.

1 Like

I am trying to build on an intel Ubuntu 20 installation and have been running into issues. I suspect that the foxy src used with the ros2_java build may be different from the most recent foxy src I have installed. As an example, I ran into:

/home/kevin/Projects/ros2_java_ws/build_isolated/action_msgs/rosidl_generator_c/action_msgs/msg/goal_info__struct.h:18:10: fatal error: unique_identifier_msgs/msg/uuid__struct.h: No such file or directory

I found that the foxy src now is organized as:

unique_identifier_msgs/msg/detail/uuid__struct.h

and there is some note on git about recently moving code to a detail folder.

First any suggestions for some basic obvious thing that may fix this? If not, is someone available to work with me on resolving it?

Regards, Kevin.

There’s no official support for Foxy at the moment, though if you’re adventurous you can try my development branches (not stable). Here’s a repos file with development branches and interface packages. You should be able to overlay a workspace with those packages on top of a Foxy installation.

Hello Jacob,

is there an official support for Foxy yet?
It seems also that your foxy development branches has been removed!

Regards,
Ahmed

Due to limited resources, we’ve decided to only support the latest ROS release (currently Galactic). We’ve updated the default branch and README to be compatible with Galactic:

Though we won’t explicitly develop for Foxy, you may find that some point in the recent commit history may work with Foxy. I’m also happy to review patches for a version specific to Foxy and put them on a branch, if there are contributions from the community.