Comments (2)
[mquigley] I have implemented a good portion of this now. However, the lookup order I'm implementing is a bit different:
As you state, things would be cleaner if all code was in properly released stacks. That may happen for WG code, but I don't really see that happening for lab contributions without a sea change in the way labs operate IMHO.
In light of this, my current approach is to try to not force all repos to have stacks (even degenerate ones), but instead to follow this lookup order:
rosdep satisfy foo
- go to the "foo" package
- look up all its package dependencies.
- for each package dependency, go to its "owner", where "owner" is either the stack containing it, or a top-level entry in ROS_PACKAGE_PATH (e.g., a svn checkout of a repo).
- if its owner has a /rosdep.yaml, load and merge it with the working set of rosdeps.
- detect and abort on merge collisions, as you state.
The only change is that rosdep.yaml files living in top-level ROS_PACKAGE_PATH entries are treated as if they were stack-based rosdep.yaml files. This is purely so that people don't have to do stacks if they don't want to (e.g., sail-ros-pkg can have a rosdep.yaml in its /trunk)
OK by you?
from rosdep.
[kwc] Awesome, and OK by me. As you note, it's hard for external repos to stack everything and the fake stack.xml files for a repo seemed kludgey. I think you came up for a good "c" solution that circumvents the dependency issue well w/o requiring stack.xml files or additional rosdep.yaml syntax.
from rosdep.
Related Issues (20)
- Duplicate package name 'clpe' exists in repository 'clpe_sdk' as well as in repository 'clpe' HOT 8
- Rosdep broken after 0.22 release HOT 3
- Rosdep experienced an error: [Error 13] HOT 4
- problems running rosdep on raspberry pi HOT 3
- Interest in development of support for authentication in rosdep HOT 4
- ERROR: Rosdep experienced an error: [Errno 2] No such file or directory: '/home/rosdev/ws_moveit2/install/rviz_marker_tools/share/rviz_marker_tools/package.xml' HOT 6
- rosdep ignores version specified in package.xml HOT 1
- Multiple packages found with the same name "depthai_examples" HOT 1
- 'utf-8' codec can't decode byte 0xe0 in position 39: invalid continuation byte HOT 3
- rosdep update error --> unable to process source HOT 1
- rosdep unable to determine installation of pip packages with extras or versions HOT 1
- rosdep update turns error in ROS Noetic Ubuntu 20.04
- rosdep install should have an --update flag to refresh package cache before performing install HOT 4
- rosdep keys recursive HOT 3
- rosdep init time out HOT 2
- Error while building using colon - colcon build --symlink-install --cmake-args HOT 1
- flake8 line length linting error regression
- Unrecognized Version: 13 HOT 1
- Multiple packages found with the same name HOT 4
- -R flag in rosdep install does not work
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rosdep.