Giter VIP home page Giter VIP logo

rosjava_mvn_repo's Introduction

The RosJava Maven Repo

Maven artifact repository for rosjava dependencies and builds.

Contents

From Dependent Repositories

Many of the artifacts here are collected from a variety of other repositories to provide a single stable source of artifacts for development of the rosjava/android core stacks. This list (hopefully relatively complete) includes:

Official RosJava Artifacts

All official rosjava artifacts that are generated have their official maven home here.

Interesting 3rd Party Dependencies

We also include some esoteric, but useful 3rd party dependencies here that the community may find useful. Some of these are custom built and added here. Others come from the following list of repositories:

Other Maven Repositories

Some other maven repositories that may be of interest to ros users:

rosjava_mvn_repo's People

Contributors

adamantivm avatar fredpraca avatar stonier avatar talregev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rosjava_mvn_repo's Issues

Clean the repo

many files can be download from central maven. need to delete it from here,
and make sure all other project will download them from maven central.

@stonier want we do it together?

Where is message_runtime for ROSJava without ROS Installation?

Hi, I'm new to ROSJava and I want to use ROSJava without ROS Installation to make a server and client just like in the rosjava tutorial, but it seems there's no message_runtime artificate in repository. Does it work still? Does anyone have experience of converting gradle project into maven? Since ROSJava uses gradle but I have to use Rosjava with maven.
Thanks in advance!

Packaging sources for indexing

I'm not sure how this is possible yet, just know that android studio has an option for going to the internet to associate classes with sources for indexing.

Perhaps if we package our sources in some ways in or with the jars, you get that indexing for free.

Please provide a basic Maven example

Please provide basic Maven (and/or Gradle) code for including some or all artifacts in this project, in the README.md. This is what I came up with (I'm not submitting it as a PR since it works, but I want to verify that this is the right way to do things):

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>GROUP_ID</groupId>
	<artifactId>ARTIFACT_ID</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<repositories>
		<repository>
			<id>ros</id>
			<name>ros</name>
			<url>https://github.com/rosjava/rosjava_mvn_repo/raw/master</url>
		</repository>
		<repository>
			<id>repository.spring.libs-release</id>
			<name>Spring Libs Repository</name>
			<url>https://repo.spring.io/libs-release</url>
		</repository>
	</repositories>
	<dependencies>
		<dependency>
			<groupId>org.ros.rosjava_core</groupId>
			<artifactId>rosjava</artifactId>
			<version>0.3.6</version>
		</dependency>
		<dependency>
			<groupId>org.ros.rosjava_messages</groupId>
			<artifactId>std_msgs</artifactId>
			<version>0.5.11</version>
		</dependency>
		<dependency>
			<groupId>org.ros.rosjava_messages</groupId>
			<artifactId>sensor_msgs</artifactId>
			<version>1.12.7</version>
		</dependency>
		<dependency>
			<groupId>org.ros.rosjava_messages</groupId>
			<artifactId>sensor_msgs</artifactId>
			<version>1.12.7</version>
		</dependency>
		<dependency>
			<groupId>org.ros.rosjava_bootstrap</groupId>
			<artifactId>message_generation</artifactId>
			<version>0.3.3</version>
		</dependency>
	</dependencies>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.0</version>
				<configuration>
					<release>11</release>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

Probably you should have an example containing all current artifacts and versions, so users can easy select just the packages they need by deleting the ones they don't need.

Conflict due to outdated Junit testing version

Hi,

and first of all, thank you for all your hard work ...

I am using the stand alone (NO ROS installation .. but when i add the android core dependencies, and build i get the following error:

"WARNING: Conflict with dependency 'junit:junit'. Resolved versions for app (3.8.2) and test app (4.12) differ"

if u build in gradle from the command line ... it is just a warning but the build is successful .. but if u run it from Android Studio then it will complain and throw an error.

i think this is happening Junit in the repo is still using the older version for testing, other changes might also involve dnsjava ... I coudn't do it myself as im still new to all of this ... just letting u know that an update is in order i guess ... thanks again

Move to Sonatype

A final move to sonatype would be the ideal place for a ros maven repository. Benefits:

  • Long term it forces us to sync with mavencentral.(the ultimate repository of all things java)
  • We can scale (this git repo will quickly becoming too big)
  • People can manage their own uploads and contributions
    • No human intensive bottleneck at the pull request stage here.

For now though this would be a big job. Areas that need to be worked on:

  • Upgrade the gradle logic for signed, automated publication to sonatype.
  • Our rosjava 3rd party dependencies need to become mavencentral dependencies
    • we have quite a few custom artifacts in here
    • lots of testing!
    • Perhaps recreate some artifacts ourselves and push that to sonatype.

Update cv_bridge_javacv and add cv_bridge to this repo

Can you update cv_bridge_javacv from rosjava_extras,
and add cv_bridge from android_extras to this repository?
For people write ros application to easy use these libraries for easy convert from ros msgs and opencv imgs and vice versa.

Error with std_msgs package, :package std_msgs does not exist

I get this error, im trying to follow a basic tutorial but i cant seem to import std_msgs? Heres my code in full https://github.com/FRC-1721/pre2020season/tree/rosjava
I poked around on the ROS discord nobody really had this problem, i dont know where to start in debugging this.

    final Publisher<std_msgs.String> publisher =
                            ^
D:\GitHub\pre2020season\src\main\java\frc\robot\ROSAdvanced.java:51: error: package std_msgs does not exist
        connectedNode.newPublisher(topic_name, std_msgs.String._TYPE);
                                                       ^
D:\GitHub\pre2020season\src\main\java\frc\robot\ROSAdvanced.java:64: error: package std_msgs does not exist
        std_msgs.String str = publisher.newMessage();```
I think this may be similar to #46?

Version of org.ros.rosjava_messages:ur_msgs is behind current official version (Indigo)

I've installed ros-indigo-ur-msgs and it's current version it 1.1.11.
Current version in the repo appears to be org.ros.rosjava_messages:ur_msgs:1.0.5 which is behind.
The rosjava message generator cannot be used to build a package which depends on ur_msgs due to the version mismatch (it tries to download the 1.1.11 version which is not available).

Clean the repository.

We should delete:
commons-pool/commons-pool/1.6
dnsjava/dnsjava/2.1.1
io/netty/netty/3.5.2.Final
junit/junit
com/google/guava/
com/google/code/findbugs/jsr305/1.3.9
org/apache/
org/sonatype/oss/oss-parent/
xml-apis/xml-apis/1.0.b2

And make sure all the projects take it from original maven repro:
http://central.maven.org/maven2/commons-pool/commons-pool/
http://central.maven.org/maven2/dnsjava/dnsjava/
http://central.maven.org/maven2/io/netty/netty/
http://repo1.maven.org/maven2/junit/junit/
http://central.maven.org/maven2/com/google/guava/guava/
http://central.maven.org/maven2/com/google/code/findbugs/jsr305/
http://repo.jfrog.org/artifactory/libs-releases/org/apache/
http://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/
http://central.maven.org/maven2/xml-apis/xml-apis/

That it make this repository smaller, cleaner, and can easily can use other project more versions of this libraries.

Add this information to README, use with Maven/Gradle

Repositories have to be properly configured in order to work with Maven. It would be nice to have this information in the README. New users could easily configure the pom.xml file:

<!-- Configure respositories -->
<repositories>
    <repository>
        <id>rosjava</id>
        <url>https://github.com/rosjava/rosjava_mvn_repo/raw/master/</url>
    </repository>
    <repository>
        <id>jfrog</id>
        <url>http://repo.jfrog.org/artifactory/libs-releases/</url>
    </repository>
</repositories>

<dependencies>
    <!-- ROSJAVA Core-->
    <dependency>
        <groupId>org.ros.rosjava_core</groupId>
        <artifactId>rosjava</artifactId>
        <version>0.3.5</version>
    </dependency>
    <!-- Example: std_msgs -->
    <dependency>
        <groupId>org.ros.rosjava_messages</groupId>
        <artifactId>std_msgs</artifactId>
        <version>0.5.11</version>
    </dependency>
</dependencies>

Also, not sure about the Gradle info, but I understand that the jfrog repository has to be declared too to resolve all dependencies.

Regards,

Update my roscore jar from 0.2.2

Good evening :)
I am trying to understand how the whole thing implements the rosjava core.

1)How can i see which prebuilt rosjava version i use ?
2)How can i update it ?

EDIT:
i edited my build script to:

buildscript {

apply from: "https://github.com/rosjava/android_core/raw/kinetic/buildscript.gradle"

//it was:
//apply from: "https://github.com/rosjava/android_core/raw/indigo/buildscript.gradle"
dependencies {
//Add this to fix the gradle plugin issues
classpath 'com.android.tools.build:gradle:1.5.0'

    // TEST
    classpath 'junit:junit:4.12'
    classpath 'org.mockito:mockito-core:1.10.19'
}

}
and removed ~/.gradle/caches just in case but still ...it downloads the 0.2.2 version
PS
i dont want to built rosjava lib.i just use the features in an android app
PS2
there might me an answer at ros website but for a strange reason i cant enter to website (down?)

thanks in advance!

how to add rosjava_core 0.3.7 to android project

Hi, nowdays I make a ros android app which used rosjava_core 0.3.5, with these lines in my build.gradle:
dependencies {
implementation 'org.ros.rosjava_core:rosjava:0.3.5'
//implementation 'org.ros.rosjava_core:rosjava:0.3.6'
//implementation 'org.ros.rosjava_core:rosjava:0.3.7'
implementation 'org.ros.rosjava_messages:geometry_msgs:1.12.7'
implementation 'org.ros.rosjava_bootstrap:message_generation:0.3.3'
implementation 'org.ros.rosjava_messages:std_msgs:0.5.11'
}
Now I want to update the version of rosjava_core to 0.3.6 or 0.3.7. When building the project errors come out as can not find them. So I download the rosjava-0.3.6.jar and rosjava-0.3.7.jar and mkdir a folder named "libs" under app folder, building is ok. But when install error comes again: Invalid APK file: app-debug.apk. I am using arm64-v8a platform.

Gradle uses ivy open ranges, not official maven ranges

The Gradle Maven plugin simply copies the version string from the Gradle build files to the Maven pom.xml files. This breaks the repository when using purely with Maven and there are version ranges in the build files.
Gradle follows the Apache Ivy scheme of version numbering, detailed at http://ant.apache.org/ivy/history/2.3.0/settings/version-matchers.html .
Maven has its own scheme, detailed at http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+Resolution#DependencyMediationandConflictResolution-DependencyVersionRanges .

This repository in particular uses the "X.Y.+" notation, which causes Maven to look for packages with version "X.Y.+" which don't exist.

I worked around this by using a regex to replace X.Y.+ with [X.Y,) but it probably would be closer to the original intent to replace X.Y.+ with [X.Y,X.Y+1) (so 1.2.+ becomes [1.2, 1.3) ). I can correct my fixup script to do this and submit a PR.

Any feedback? While this would be best fixed in Gradle (most likely in https://github.com/gradle/gradle/blob/master/subprojects/maven/src/main/groovy/org/gradle/api/publish/maven/internal/publication/DefaultMavenProjectIdentity.java ), I'm not familiar with Gradle and it fails tests when building on my system.

http://issues.gradle.org/browse/GRADLE-1578 is the upstream ticket in Gradle.
http://jira.grails.org/browse/GRAILS-7559 is a bug in Grails which was caused by this issue but that has been worked around.

Update repository with new actionlib 1.11.6

Hi,

could you please update the repository as to contain the new actionlib 1.11.6?

I get the following error when trying to generate java packages that include actions:

Could not resolve all dependencies for configuration ':runtime'.
Could not find org.ros.rosjava_messages:actionlib:1.11.6.
Searched in the following locations:
https://github.com/rosjava/rosjava_mvn_repo/raw/master/org/ros/rosjava_messages/actionlib/1.11.6/actionlib-1.11.6.pom

Many thanks.

Easy way to host my own ros maven repo or am I being stupid?

Problem

I've created two repos
https://github.com/WPIRoboticsProjects/gripjava_messages
and
https://github.com/WPIRoboticsProjects/grip_msgs

I would like to publish java artifacts that are created by the gripjava_messages project so that I can use them as a gradle dependency in my core (non ros built) application GRIP

Am I better off opening a PR to try to add the grip_msgs project to this repository or should I try to host them on my own.

Both routes I'd be really grateful for some guidance. I'm running against brick walls in my search across the internet on how to do this correctly.

Other details

I'm using a customized docker container to pull those two repos together into ROS on my system. (That all works on my end). I can get the messages to generate as expected. The files end up in the $ROS_MAVEN_DEPLOYMENT_REPOSITORY as I expect them to.

I was planning on doing the same thing with travis when I built the project.

Version Conflict

Some old messages depend on an older version of message_generation.
Example:

org.ros.rosjava_bootstrap:message_generation:jar:[0.2,0.3), org.ros.rosjava_messages:people_msgs:jar:1.0.4 -> 
org.ros.rosjava_bootstrap:message_generation:jar:[0.1,0.2), org.ros.rosjava_core:rosjava:jar:0.2.1 -> org.ros.rosjava_bootstrap:message_generation:jar:[0.2,0.3), org.ros.rosjava_core:rosjava:jar:0.2.1 -> 

Makes it impossible to include newest version of some messages with maven.

Missing std_msgs version 0.5.11

The latest ROS Kinetic rosjava Ubuntu packages generate maven artifacts that depend on std_msgs version 0.5.11 in their POM files. However, the rosjava maven repo only exposes std_msgs versions up to 0.5.10. This breaks non-catkin-based gradle rosjava projects.

For now, I needed to manually downgrade the std_msgs dependency to 0.5.10 to successfully import them into a gradle project.

Can't find package org.ros.message used by tutorial

I'm trying to reproduce the rosjava tutorial. I have most pieces in place but I can't find the package org.ros.message; it contains the class MessageListener that is used by the tutorial code:

@Override
public void onStart(ConnectedNode connectedNode) {
    final Log log = connectedNode.getLog();
    Subscriber<String> subscriber = connectedNode.newSubscriber("chatter", std_msgs.String._TYPE);
    subscriber.addMessageListener(new MessageListener<std_msgs.String>() {
        @Override
        public void onNewMessage(std_msgs.String message) {
            log.info("I heard: \"" + message.getData() + "\"");
        }
    });
}

It doesn't appear to be in rosjava core; where does it reside?

Missing actionlib:1.11.13 (ROS Indigo)

On attempting to add a dependency in my rosjava package to another local package with a dependency on actionlib, the following error was seen on my gradle build:

Could not find org.ros.rosjava_messages:actionlib:1.11.13

I am relatively new to rosjava and to the gradle build system, but I was not able to find the version stated above in the repo. The latest seems to be 1.11.9

Missing bundle headers and maven metadata capabilities in Manifest of org.ros.rosjava_bootstrap.message_generation artifacts

I am using this repository in a maven project for building bnd maven bundles, but the resolution of my bundle which depends on this artifact will be failed, I found that the content of all versions of the org.ros.rosjava_bootstrap.message_generation artifacts are empty, is there any problem or not, maybe it needs to be updated?

Another question is all artifacts in the ros maven repository don't have a pom file included in the jars, will it affects the use in maven project? And to use the repository, I followed the solution proposed at issue#50, is it correct or not?

In addition, is it possible to release the artifacts in Githun Maven package repository?

Please document which classes are in which Maven artifacts

Please provide an index for which Java classes are in which Maven artifacts. For example, I was trying to compile some code that used org.ros.message.MessageListener, and I assumed it would be part of org.ros.rosjava_core:rosjava, but it was actually part of org.ros.rosjava_bootstrap:message_generation. I had to do the following to figure that out, which is a bit of a pain:

for i in `find ~/.m2/repository/org/ros | grep '.*\.jar$'` ; do echo $i ; unzip -l $i | grep MessageListener ; done

Version conflict - Rosjava core / message generation

Maven complains when adding rosjava as a dependency in a POM file.
Apparently, rosjava_core:rosjava depends on a certain version of rosjava_bootstrap:message_generation, but some dependencies of rosjava depend on other versions and this causes a conflict (I only saw this when using Maven, not Gradle).
A complete list of the messages causing the conflict can be seen here.
One option to fix this issue is to re-release those messages with proper dependencies.

octomap_msgs, version conflict with message_generation

Hi:

I've tried to use the latest version of octomap_msgs (0.3.2), but it seems to be an issue with the dependency message_generation which results in a conflict.

This is declared in the pom.xml of 0.3.2:

<dependency>
      <groupId>org.ros.rosjava_bootstrap</groupId>
      <artifactId>message_generation</artifactId>
      <version>[0.1,0.2)</version>
      <scope>runtime</scope>
</dependency>

Since latest version of message_generation is 0.3.0, it is impossible to use this package. However, when looking into version 0.3.1 of octomap_msgs, the dependency has no upper limit:

<version>[0.1,)</version>

If there is no reason for it, I think the upper limit should be removed from the pom.xml file in version 0.3.2 too.

Regards,

Security Policy violation Binary Artifacts

This issue was automatically created by Allstar.

Security Policy Violation
Project is out of compliance with Binary Artifacts policy: binaries present in source code

Rule Description
Binary Artifacts are an increased security risk in your repository. Binary artifacts cannot be reviewed, allowing the introduction of possibly obsolete or maliciously subverted executables. For more information see the Security Scorecards Documentation for Binary Artifacts.

Remediation Steps
To remediate, remove the generated executable artifacts from the repository.

First 10 Artifacts Found

  • com/github/robotics_in_concert/rocon_rosjava_core/master_info/0.1.0/master_info-0.1.0.jar
  • com/github/robotics_in_concert/rocon_rosjava_core/master_info/0.2.0/master_info-0.2.0.jar
  • com/github/robotics_in_concert/rocon_rosjava_core/rocon_interactions/0.1.0/rocon_interactions-0.1.0.jar
  • com/github/robotics_in_concert/rocon_rosjava_core/rocon_interactions/0.2.0/rocon_interactions-0.2.0.jar
  • com/github/robotics_in_concert/rocon_rosjava_core/rosjava_utils/0.1.0/rosjava_utils-0.1.0.jar
  • com/github/robotics_in_concert/rocon_rosjava_core/rosjava_utils/0.2.0/rosjava_utils-0.2.0.jar
  • com/github/rosjava/rosjava_extras/cv_bridge_javacv/0.3.2/cv_bridge_javacv-0.3.2.jar
  • com/github/rosjava/rosjava_extras/cv_bridge_javacv/0.3.3/cv_bridge_javacv-0.3.3.jar
  • com/github/rosjava/rosjava_extras/hokuyo/0.1.5/hokuyo-0.1.5.jar
  • com/github/rosjava/rosjava_extras/hokuyo/0.2.0/hokuyo-0.2.0.jar
  • Run a Scorecards scan to see full list.

Additional Information
This policy is drawn from Security Scorecards, which is a tool that scores a project's adherence to security best practices. You may wish to run a Scorecards scan directly on this repository for more details.


Allstar has been installed on all Google managed GitHub orgs. Policies are gradually being rolled out and enforced by the GOSST and OSPO teams. Learn more at http://go/allstar

This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.