Skip to content
This repository was archived by the owner on Jan 14, 2023. It is now read-only.

Fix unofficial message dependency generation. #13

Merged
merged 0 commits into from
Mar 20, 2014

Conversation

stonier
Copy link
Contributor

@stonier stonier commented Dec 8, 2013

Cherry picked fixes from hydro to bugfix #12 and #14.

@ghost ghost assigned damonkohler Dec 8, 2013
@stonier
Copy link
Contributor Author

stonier commented Dec 26, 2013

The last commit moves to handling message artifact generation with a single api and is now able to properly detect message packages - it checks for build_depends on message_generation instead of the weak check for xxx_msgs/xxx_srvs naming convention which isn't strictly followed by many.

@stonier
Copy link
Contributor Author

stonier commented Dec 26, 2013

Tacked on the android plugin upgrade requirement by android studio (just a one liner).

@stonier
Copy link
Contributor Author

stonier commented Feb 9, 2014

And a very simple bugfix to remove some warnings and partially handle an esoteric use case: rosjava/rosjava_core#186.

@stonier stonier added the bug label Feb 9, 2014
@@ -159,6 +159,15 @@ public static void main(String[] args) {
arguments.add(".");
}
String rosPackagePath = System.getenv(ROS_PACKAGE_PATH);
// Overwrite with a supplied package path if specified (--package-path=)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I understand the motivation here. ROS_PACKAGE_PATH is required for all sort of things to work. In fact, the CatkinPlugin uses it in the constructor to find all workspaces. As far as I can tell, replacing it here is no-op.

Am I missing something?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comes from this commit: 0857890
This was to solve the following use case.

Often you will have a msg package deb installed and a source workspace running on top which is working on a development (bumped) version of the sources. In this case the java generation code is going to find two packages with the same name and it has no intelligent heuristic for choosing which package will be selected (I can't recall off the top of my head, but it ignores the ROS_PACKAGE_PATH sequence as well). This often results in generation of the deb message package, not the new sources. With the gradle plugin telling it where to look it can guarantee we get the new sources. It also provides a considerable speedup when calling the generator on a single package or a subset of a very large suite of packages.

This is pretty important for us - otherwise we have to uninstall debs to do development on unstable sources, and then install the debs to do development on release resources. Very impractical and annoying.

damonkohler added a commit that referenced this pull request Feb 14, 2014
Adds more robust message package detection from PR #13
@stonier stonier mentioned this pull request Feb 18, 2014
4 tasks
@stonier stonier merged commit 78056d1 into rosjava:master Mar 20, 2014
@damonkohler
Copy link
Member

I actually made use of the --package-path flag myself the other day. It's a nice addition :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants