Metapackage for the official rosjava repositories.
See the rosjava_core readme for more details.
Build tools for rosjava repositories.
License: Other
Metapackage for the official rosjava repositories.
See the rosjava_core readme for more details.
I'm having an issue when create an android project. It shows the following error:
`~/Workspaces/ros/arduino_p1/src/p1_remote$ catkin_create_android_project -t 25 -p lan.robonet.p1_remote.remote remote
Creating android project
Name : remote
Target Ver: 25
Java Name : lan.robonet.p1_remote.remote
Activity : Remote
Command: ['android', 'create', 'project', '-n', 'remote', '-p', '/home/randy/Workspaces/ros/arduino_p1/src/p1_remote/remote', '-k', 'lan.robonet.p1_remote.remote', '-t', 'android-25', '-a', 'Remote']
The android command is no longer available.
For manual SDK and AVD management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
Error
[error] init() takes at least 3 arguments (2 given) : <type 'exceptions.TypeError'>`
Any idea how to solve it would be greatly appreciated!
Hi,
I've tried to follow the install instructions of the README.md file in an Ubuntu 14.04 with Indigo.
I've seen that the wstool
command instructions point to hydro-devel
git-branches instead of indigo
. Since I've thought that this should be an error, I used indigo
instead and executed the wstool
commands sucessfully downloading the code.
However, when executing the catkin_make
I've got the following error:
-- catkin 0.6.9
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 2 packages in topological order:
-- ~~ - rosjava_build_tools
-- ~~ - rosjava_core
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'rosjava_build_tools'
-- ==> add_subdirectory(rosjava_build_tools)
-- +++ processing catkin package: 'rosjava_core'
-- ==> add_subdirectory(rosjava_core)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mbotuser/rosjava/build
####
#### Running command: "make -j4 -l4" in "/home/mbotuser/rosjava/build"
####
Scanning dependencies of target gradle-rosjava_core
[100%] Gradling tasks for rosjava_core
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'rosjava_core'.
> Could not resolve all dependencies for configuration ':classpath'.
> Could not find any version that matches org.ros.rosjava_bootstrap:gradle_plugins:[0.2,0.3).
Required by:
:rosjava_core:unspecified
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
make[2]: *** [rosjava_core/CMakeFiles/gradle-rosjava_core] Error 1
make[1]: *** [rosjava_core/CMakeFiles/gradle-rosjava_core.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed
Is it anything more that should be take into account to install it?
Thanks!
General preference is to have it somewhere else.
I understand the first option is a guaranteed no-maintenance way of doing it (no moving url's) even if it does make the python files noisy.
See
http://answers.ros.org/question/89011/catkin_create_rosjava_pkg/
Also to reproduce:
$ catckin_create_rosjava_pkg rosjava_foo [error] [Errno 2] No such file or directory: '/opt/ros/hydro/lib/python2.7/dist-packages/rosjava_build_tools/templates/rosjava_package/CMakeLists.txt.in' : <type 'exceptions.ioerror'="">
$ dpkg -L ros-hydro-rosjava-build-tools | grep templates
/opt/ros/hydro/lib/python2.7/dist-packages/rosjava_build_tools/templates
/opt/ros/hydro/lib/python2.7/dist-packages/rosjava_build_tools/templates/android_package
....
but no .../templates/rosjava_package/
Backport #5 to the hydro branch after some testing.
See also rosjava/rosjava_bootstrap#7
Hello,
I have installed rosjava from deb and from source (not knowing if this could case any issues) I've also installed android core but I have an error because I don't have the android 10 nor android 15 sdks. I would like to use rosjava with Ros Indigo on Ubuntu 14.04 on an android 19 (KitKat), is this possible? is there another option to connect a rosnode with android? for all I've seen it's only usable with Android 10 and android 15 but I have android v19.
Thanks in advance
In attempting to build a rosjava package with dependency on a custom msg which in turn has dependencies on other standard ROS messages (e.g. sensor_msgs
, std_msgs
etc), the build is seen to fail (~90% of the time) the first time a catkin build --this
command is run for the package. All subsequent builds will execute successfully.
The build failure reports the absence of the java binaries for the custom_msg package, which indeed seems to be the case (I can see that no binaries are generated for it in the devel/share/maven
space). However, the java binaries for its dependencies are generated (i.e. the standard ROS message) and seen in the folder stated above. Hence, I am not quite sure why the java binaries for the custom msg package are not generated.
Upon executing another catkin build, the java binaries are now generated for the custom msg package (probably because the java binaries for its dependencies already exist from the previous build operation) and the build executes successfully.
Note that I have cloned the source of standard ROS messages to my ROS workspace, in order to build the jars for these messages on the fly.
Another interesting item of note is that running the same operation on another system with similar specs shows a higher success rate (~90% success) on the first build but does occasionally fail (on the first build after a catkin clean
).
I noticed that currently there is no "standard" way of calling a rosjava node in the regular ROS way (i.e. rosrun [package] [node] [params]
).
After trying this out a little bit, I figured that we are just one step away from there (I updated the tutorials a bit). Basically, after following the standard steps to create a package, you can use rosrun
like this:
# rosrun [package] [rosjava project] [node class full name]
rosrun rosjava_catkin_package_a my_pub_sub_tutorial com.github.rosjava.rosjava_catkin_package_a.my_pub_sub_tutorial.Talker
Because Gradle creates an executable script which calls RosRun
class in rosjava, with the class to execute as its parameter.
The problem is that the task installApp
actually creates two executable scripts inside the package. rosrun
will then ask the user which one to execute instead of executing it directly.
[rosrun] You have chosen a non-unique executable, please pick one of the following:
1) /home/juan/rosjava_test_ws/src/package/project/build/scripts/project
2) /home/juan/rosjava_test_ws/src/package/project/build/install/project/bin/project
3) /home/juan/rosjava_test_ws/src/package/project/build/scripts/project
4) /home/juan/rosjava_test_ws/src/package/project/build/install/project/bin/project
If we could just eliminate the scripts under scripts
directory, rosrun
would work right away.
Two quick solutions come to my mind. The first one is to tweak the rosjava project template to delete them, adding something like this:
installApp.doLast {
file('build/scripts').deleteDir()
}
The second one would be to use a custom plugin instead of application
(i.e. ros-java-application
), which would add the application plugin and a new task ("cleanup" or something like that). Then, tweak the CMakeLists
to call this new cleanup task after installApp
.
Perhaps there is a better option to tweak installApp
directly from a plugin instead of using the project level build.gradle
, but I really don't know how to do that in a clean way.
To sum up, this would allow using rosrun
just like a regular ROS package right after using catkin_make
and sourcing the workspace.
If this sounds good, I offer myself to create a PR with the fixes. Thoughts?
/cc @adamantivm @ernestmc
This is just simple cmake code, so possibilities for problems are pretty small. The only thing I can think of right now is that gradlew
is simply nonexistant at the root of a catkin_create_rosjava_package
'd package.
This would imply the code used to generate gradlew may not be working.
Louise
can you confirm that there is no gradlew there after you catkin_create_rosjava_package
?
Default template should be an app, create a catkin_create_rosjava_library_project to still do library projects.
Using this old readme as a starting point, add developer instructions in the repository.
If I git clone
the rosjava packages into ~/catkin_ws/src
then do catkin_make
, I get several errors of the following form:
Traceback (most recent call last):
File "/home/luke/catkin_ws/src/genjava/scripts/genjava_gradle_project.py", line 11, in <module>
import genjava
File "/home/luke/catkin_ws/devel/lib/python3.7/site-packages/genjava/__init__.py", line 35, in <module>
exec(__fh.read())
File "<string>", line 39, in <module>
File "/home/luke/catkin_ws/src/genjava/src/genjava/genjava_main.py", line 45, in <module>
import rosjava_build_tools
File "/home/luke/catkin_ws/devel/lib/python3.7/site-packages/rosjava_build_tools/__init__.py", line 35, in <module>
exec(__fh.read())
File "<string>", line 7, in <module>
ModuleNotFoundError: No module named 'console'
What seems to be happening is that ~/catkin_ws/devel/lib/python3.7/site-packages/rosjava_build_tools/__init__.py
is calling exec(__fh.read())
on the file ~/catkin_ws/src/rosjava_build_tools/src/rosjava_build_tools/__init__.py
, which includes the line import console
, which is supposed to import ~/catkin_ws/src/rosjava_build_tools/src/rosjava_build_tools/console.py
. However, console.py
is not found, because the Python package path doesn't include ~/catkin_ws/src/rosjava_build_tools/src/rosjava_build_tools
.
To confound things, Python includes a (non-default) package console
, which if installed, will trigger errors of the following form instead when import console
is invoked:
Traceback (most recent call last):
File "/home/luke/catkin_ws/src/genjava/scripts/genjava_gradle_project.py", line 11, in <module>
import genjava
File "/home/luke/catkin_ws/devel/lib/python3.7/site-packages/genjava/__init__.py", line 35, in <module>
exec(__fh.read())
File "<string>", line 39, in <module>
File "/home/luke/catkin_ws/src/genjava/src/genjava/genjava_main.py", line 45, in <module>
import rosjava_build_tools
File "/home/luke/catkin_ws/devel/lib/python3.7/site-packages/rosjava_build_tools/__init__.py", line 35, in <module>
exec(__fh.read())
File "<string>", line 7, in <module>
File "/home/luke/.local/lib/python3.7/site-packages/console/__init__.py", line 36, in <module>
_CHOSEN_PALETTE = _choose_palette()
File "/home/luke/.local/lib/python3.7/site-packages/console/detection.py", line 90, in choose_palette
result, pal = detect_palette_support(basic_palette=pal)
File "/home/luke/.local/lib/python3.7/site-packages/console/detection.py", line 207, in detect_palette_support
result, pal_name, basic_palette = _find_basic_palette(result)
File "/home/luke/.local/lib/python3.7/site-packages/console/detection.py", line 252, in _find_basic_palette
if get_terminal_color('index', 2)[0][:2] == '4e':
File "/home/luke/.local/lib/python3.7/site-packages/console/detection.py", line 481, in get_terminal_color
with TermStack() as fd:
File "/home/luke/.local/lib/python3.7/site-packages/console/detection.py", line 52, in __enter__
self.orig_attrs = self.termios.tcgetattr(self.fd)
termios.error: (25, 'Inappropriate ioctl for device')
Need what we have for android in rosjava.
Get this task added to CMakeLists.txt when an app project is created by catkin_create_rosjava_project.
repro:
sudo apt-get install ros-DISTRO-rosjava-build-tools
source /opt/ros/hydro/setup.zsh
mkdir /tmp/ws\ with\ spaces
cd /tmp/ws\ with\ spaces
mkdir src
cd src
catkin_create_pkg --rosdistro DISTRO foo
cd ..
catkin_make
Move the info from wiki.ros.org/rosjava_build_tools and leave a pointer there.
Starting with version 25.3.1, the Android SDK Tools has deprecated the android
command, used by i.e.: catkin_create_android_package
.
These commands need to be updated to use the new available commands.
See #31
Hello,
On this website there is a command that is using link from this repository.
=====================command========================
wstool init -j4 ~/rosjava/src https://raw.github.com/rosjava/rosjava_tools/hydro-devel/rosjava.rosinstall
but i am unable to execute this command i am getting the following error.
ERROR in config: Unable to download URL [https://raw.github.com/rosjava/rosjava_tools/hydro-devel/rosjava.rosinstall]: HTTP Error 404: Not Found
Kindly let me know is the following link still correct or not??
https://raw.github.com/rosjava/rosjava_tools/hydro-devel/rosjava.rosinstall
Thanks
The rosjava_build_tools package in the ROS apt repositories is missing nearly all of the templates, making it impossible to create a new package or project. I "patched" around this issue by copying the templates from the 0.1.23 release to the appropriate location.
Default catkin_create_rosjava_project should create talker/listener as everyone seems to have trouble with this.
This also means converting this into an app template.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.