-
Notifications
You must be signed in to change notification settings - Fork 281
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
catkin_make_isolated should provide rosbuild parallelity #330
Conversation
This is not schedule to be implemented (assinged to milestone "untargeted"). Anyway patches implementing this feature are welcome. |
Pass to @wjwwood. |
Upgraded to a pull request. |
This pull request is still a work in progress, I have chosen to rewrite the command from scratch, not reusing (by importing) anything used in the current Some high level concepts I have been using:
Some things I had to address:
Currently I can build almost the entire hydro-desktop-full workspace on my mac, and the remaining build errors do not appear to be related to this command (they fail in This is what remains to be done from my point of view:
These are some additional TODO's, which would be nice to have, but not strictly necessary:
|
Ok, 86a89b2 seems to work for me too. |
@dirk-thomas can you look at this commit 0548d50? Does that make sense as a better default? |
Yeah, that looks much more straight forward. |
Ok, I address the comments and I removed the last |
this single implementation in the catkin.cmi.common module also can cache the result because calculating it is expensive and done each time a job finishes
you can now: - build explicit packages in the workspace - choose to not build deps with --no-deps - passing arbitrary cmake/make args now works - only list the packages to be built, do not build These options were add but are not implemented: - skip packages up to a certain pkg, --start-with - order the output of commands into blocks
pcmi now outputs delayed, ordered output by default, and you can instruct it to output interleaved data without a delay. It will also printout data without delay when only one executor is being used.
this might not be needed
This also removes duplicates
This should allow better capture of `\r`'s
I am going to close this pull request in favor of the implementation in the new https://github.com/catkin/catkin_tools I'll leave the branch around for people who might be using it. |
Thanks for the update, Will. First glance at the docs and this is looking pretty awesome! |
Sure, I'm hoping to get this into a good state for Indigo. |
I just downloaded and installed it from source. I ran |
Colors man, colors. |
well done |
I see no reason to not parallelize project builds of projects without dependencies between them. Code can be reused from rosmake or from rosinstall.
This might require changing the catkin_pkg API not just to return a topologically ordered list of packages, but a dependency graph (maybe without transitive dependencies)