Skip to content
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

use format 3 #32

Merged
merged 1 commit into from
Nov 14, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions rmw_implementation/package.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="2">
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
Copy link
Member

Choose a reason for hiding this comment

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

When is it necessary for this file to exist? Which tools use it?

Copy link
Member

Choose a reason for hiding this comment

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

I think right now nothing in the ROS eco-system (1 or 2) requires it. Actually tinyxml(2) just ignores any <?...?> tag.
More advanced parsers can use it and complain if the following xml string doesn't validate the provided schema.

Copy link
Member Author

Choose a reason for hiding this comment

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

If you have your editor configured to lint xml files (e.g. in Atom using linter-xmllint) it will use the referenced schema. Since the schema is not yet final it isn't available through that URL but you can reference the file with a local file:// to point to the current version in the branch on the REP repo.

<package format="3">
<name>rmw_implementation</name>
<version>0.0.3</version>
<description>The decision which ROS middleware implementation should be used for C++.</description>
Expand All @@ -15,14 +15,13 @@
<depend>libpoco-dev</depend>
<depend>poco_vendor</depend>
<depend>rmw_implementation_cmake</depend>
<depend>rmw_connext_cpp</depend>
<depend>rmw_connext_dynamic_cpp</depend>
<depend>rmw_fastrtps_cpp</depend>
<depend>rmw_opensplice_cpp</depend>
Copy link
Member

Choose a reason for hiding this comment

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

Implicitly the decision here is to release with an explicit dependency on fastrtps only. I guess if we build binaries with support for more we'd add the keys back here?

Perhaps a comment on the fastrtps dependency, indicating that it is there for packaging purposes and is redundant with the group dependency when building from source, would help people interpreting the package.xml in the future.

Copy link
Member

Choose a reason for hiding this comment

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

👍 the absence of comment here is what led to my question of "if a user want to modify the defaut rmw_imp and build only for that one, do they need to modify this manifest?"

Copy link
Member Author

Choose a reason for hiding this comment

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

Implicitly the decision here is to release with an explicit dependency on fastrtps only. I guess if we build binaries with support for more we'd add the keys back here?

Yes, this reflects what we did release in the past betas.

Perhaps a comment on the fastrtps dependency, indicating that it is there for packaging purposes and is redundant with the group dependency when building from source, would help people interpreting the package.xml in the future.

Can you please either propose a wording or commit the comment directly. Thanks.

if a user want to modify the defaut rmw_imp and build only for that one, do they need to modify this manifest

Nothing has changed here. The user places whatever rmw impl he wants to build into the workspace and if it is more than one and he doesn't use the default (which is FastRTPS if present otherwise the first in alphabetical order) it can be overridden by specifying the environment variable RMW_IMPLEMENTATION.


<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>

<group_depend>rmw_implementations</group_depend>
Copy link
Member Author

Choose a reason for hiding this comment

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

The group name was changed later in #36.


<export>
<build_type>ament_cmake</build_type>
</export>
Expand Down