FlexBE / flexbe_app

The classic user interface (editor + runtime control) for the FlexBE behavior engine. See the flexbe_webui for latest
BSD 3-Clause "New" or "Revised" License
48 stars 49 forks source link

Add 'flexbe_behavior_engine' to package.xml #39

Closed RhysMcK closed 4 years ago

RhysMcK commented 5 years ago

Helpfully as it allows rosdep install to resolve this dependency and automatically install the flexbe_behavior_engine package.

pschillinger commented 5 years ago

Thanks for adding, sounds generally reasonable. However, flexbe_behavior_engine is a metapackage, that means, other packages cannot depend on it (see REP127). The build currently fails due to this.

A workaround could be to list the FlexBE packages explicitly. Still, strictly speaking, the are no real dependencies in the sense that there are any imports. What do you think?

RhysMcK commented 5 years ago

ah right ofcourse, i was forgetting it was a meta!

Still, strictly speaking, the are no real dependencies in the sense that there are any imports.

Yeah I see your point. It is a little bit of semantics i guess if the flexbe_app has a run_time dependency on the flexbe_behavior_engine (well the individual packages). Although the flexbe_app doesn't error/complain, it still losses the 'Runtime control' functionality. And also, the launch files will all fail. I don't really have a strong opinion on the matter. Sounds like how it currently is best fits the ROS standard, so happy to close the PR.

StefanFabian commented 4 years ago

Checking in because switching the Team Hector workspace to a central debian package repository brought up a similar issue. In my opinion since the launch files are explicitly using these packages, there should be a run_depend. The packages that it would need a run depend on are: flexbe_onboard, flexbe_widget and flexbe_mirror.

PS: Greetings from Darmstadt @pschillinger

pschillinger commented 4 years ago

I now added the suggested run dependencies as well as the message dependencies in the above commit.

flexbe_core is an indirect dependency. flexbe_states is not part of the indirect dependencies, but it should be listed in the dependencies of a behavior package if used.

Will close here now since this update should fulfill the request.