[Documentation] [TitleIndex] [WordIndex

Only released in EOL distros:  

rosjava: rosjava_bootstrap | rosjava_build_tools | rosjava_core | rosjava_extras | rosjava_messages | zeroconf_jmdns_suite

Package Summary

Simple tools and catkin modules for rosjava development.

Package Summary

Simple tools and catkin modules for rosjava development.

  • Maintainer status: maintained
  • Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
  • Author: Daniel Stonier
  • License: BSD

Not supported - please refer to the depracated rosjava_tools package.

Documentation

This package contains cmake modules to provide a thin catkinization layer around the rosjava and android gradle builds. The main purpose of this is to provide the glue between multiple rosjava/android gradle repos so they can be built in sequence and in one-shot. It also has a few convenience command line tools.

A Catkin Rosjava/Android Repo

Using these tools, the natural rosjava/android repo will be a multi-project gradle repository with a root gradle project controlling the build of several projects underneath.

Rather than trying to install a catkin package.xml for each sub-project, we just define the entire repository as a single catkin package (much, much simpler) and call out to gradle underneath for compiling while catkin handles the dependency sequencing. This seems to be the most optimal way to avoid alot of repetitive constructs.

Installation

At a very minimum, for these scripts, you will need:

> sudo apt-get install ros-hydro-rosjava-build-tools ros-hydro-rosjava-bootstrap

Command Line Tools

Package creators

These don't actually add projects with code, they just set up the skeleton for a multi-project repo. Typically this will be the init for your github repo.

  • catkin_create_rosjava_pkg

  • catkin_create_android_pkg

Project Creators

  • catkin_create_rosjava_project : application rosjava project that creates executables.

  • catkin_create_rosjava_library_project : library rosjava project that deploys a .jar archive.

  • catkin_create_rosjava_msg_project : do code generation on existing msg packages.

  • catkin_create_android_project : standard android 'app'

  • catkin_create_android_library_project : android library project that deploys a .aar archive.

Refer to the rosjava_build_tools/Tutorials/hydro for example usage.

CMake Module

This provides a simple catkin api that relays jobs out to gradle. This means your CMakeLists.txt for any package has a java specific format. e.g. for java:

cmake_minimum_required(VERSION 2.8.3)
project(rosjava_core)
find_package(catkin REQUIRED rosjava_build_tools)
# replace argument with another gradle target of your choice
catkin_rosjava_setup(publishMavenJavaPublicationToMavenRepository)
catkin_package()

and for android:

cmake_minimum_required(VERSION 2.8.3)
project(android_extras)
find_package(catkin REQUIRED rosjava_build_tools)
catkin_android_setup(assembleRelease uploadArchives)
catkin_package()

If you want to clean all your gradle packages, then simply:

> cd build
> make clean-gradle


2022-05-28 12:58