Also, now that the current REP127 version has materialized in the source, it seems to force to give a lot of redundant information such as:
<build_depend>catkin</build_depend>
<build_depend>cpp_common</build_depend>
<run_depend>cpp_common</run_depend>
That a catkin package depends on catkin for build should be implicit, and having to specify build+run dependencies like cpp_common twice also looks bad to me. As an example, in actionlib.package.xml or roscpp/package.xml, this causes a long list of entries making it difficult to find duplictate, missing or obsolete entries.
This has been proposed and discussed before on this mailing list and the majority of people decided that these attributes are not a preferred/desired solution.
<build_depend version="1.1">...</build_depend>
<build_depend version="1.1" version_lower_than="2.1">...</build_depend>
<build_depend version_exact="1.1">...</build_depend>
It sounds like Dirk's suggestion of having a tag <depends> without build or run specification could be a solution to the verbosity of having to describe packages that are both build and run deps.
Also, I don't see any justification here for the attributeless schema. Why are we making it so dramatically different from the dependency schema in rosbuild manifests?
--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To post to this group, send email to ros-sig-b...@googlegroups.com.
To unsubscribe from this group, send email to ros-sig-buildsy...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/ros-sig-buildsystem/-/h6WxDR4FeyEJ.
For more options, visit https://groups.google.com/groups/opt_out.
On Oct 17, 2012 5:44 AM, "tkruse" <tibo...@googlemail.com> wrote:
>
> You mean, instead of
> <build_depend>actionlib_msgs</build_depend>
> <build_depend>boost</build_depend>
> <build_depend>catkin</build_depend>
> we could go back to
> <build_depend name="actionlib_msgs" />
> <build_depend name="boost" />
> <build_depend name="catkin" />
>
> Or even
> <build_depend name="actionlib_msgs boost catkin"/>
>
> The justification is that XML standard usage is using tag values for content, and attributes for metadata. Whether this is good or not is a dilemma as old as XML, see http://www.ibm.com/developerworks/xml/library/x-eleatt/index.html
Well this document does literally say " On the other hand: If the information is expressed as an atomic token, use attributes. "
When I see elements in an XML schema, it doesn't feel as solid as putting something in a qouted string. It looks like there can be other sub-elements.
>
> I agree that in just the 3 lines above, the attribute notation is easier on the eye for me.
> However you also have to compare this to the versioned dependency notation (which seems not to be used yet):
>
> <build_depend version_gte="1.1" version_lt="2.0">actionlib_msgs</build_depend>
> <build_depend version_gte="1.3">boost</build_depend>
> <build_depend version_gte="0.5" version_lt="0.6">catkin</build_depend>
>
> vs.
>
> <build_depend version_gte="1.1" version_lt="2.0" name="actionlib_msgs" />
> <build_depend version_gte="1.3" name="boost" />
> <build_depend version_gte="0.5" version_lt="0.6" name="catkin" />
>
> Maybe with this, the element notation has a slight advantage. In particular since the attribute order may be jumbled for auto-generated output.
>
So why not:
<build_depend name="actionlib_msgs" >
<version gte="1.1" lt="2.0"/>
</build_depend>
This also gives us room to put more extensible information about a given dep.
So why not:
<build_depend name="actionlib_msgs" >
<version gte="1.1" lt="2.0"/>
</build_depend>This also gives us room to put more extensible information about a given dep.
<build_depend version_gte="1.3">boost</build_depend>
<build_depend version_gte="0.5" version_lt="0.6">catkin</build_depend>
vs
--
You received this message because you are subscribed to the Google Groups "ROS Buildsystem Special Interest Group" group.
To post to this group, send email to ros-sig-b...@googlegroups.com.
To unsubscribe from this group, send email to ros-sig-buildsy...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/ros-sig-buildsystem/-/go7RwV0_OhEJ.