Skip to content

generate package.xml #18

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

Open
asmodehn opened this issue Jun 3, 2016 · 5 comments
Open

generate package.xml #18

asmodehn opened this issue Jun 3, 2016 · 5 comments
Milestone

Comments

@asmodehn
Copy link
Member

asmodehn commented Jun 3, 2016

We need a way to generate package.xml file, and avoid discrepancies between python package details and catkin package details...

@asmodehn asmodehn added this to the 0.2.0 milestone Jul 9, 2016
@asmodehn
Copy link
Member Author

asmodehn commented Jul 9, 2016

This is linked with the fact that we do NOT want to build install space (because of python intricacies when deploying installing packages).

The idea for the catkin_pip workflow is :

  1. work in devel space with catkin_pip and other ros components
  2. release the catkin_pip project as a pip package in pypi
  3. make install only generate an empty ros package, with dependency to the pip package (no other pippackage) + any required ros packages dependencies => package.xml needs to be crafted.
  4. That package could be release among ros packages, but would install just a package.xml to help rosdep satisfy dependencies and retrieve it s python code from pypi.

This should work fine as long as everyone uses rosdep for dependencies, and rosdep support pip (which I think it does).

@asmodehn
Copy link
Member Author

We should be careful to not break what already works though, and we should probably add this new package build as an extra feature : catkin_symbolic_package() building a deb package that just reference another package in another rosdep supported package manager.

@asmodehn
Copy link
Member Author

Not sure if this is really useful or not after all.
We still need to test the thirdparty package scenario, but if having it in the release repo only is working, then generating it is not really needed (and might be dropped, given the complexity of this).

In any case, the documentation in that package can refer tothe original package documentation.
Ref : http://wiki.ros.org/rosdoc_lite#Linking_to_External_Third_Party_Documentation

@asmodehn
Copy link
Member Author

This is still useful in case we want to use a python repository, in a catkin_pip environment => we do not need to store the package.xml in the repository to test our "development" (pure) python package with ROS.

So one would need only a CMakeLists.txt to get the pure python package to build with catkin_pip.

The release repo can set his own package.xml as with thirdparty release afterwards anyway regardless.

This is because currently, even using catkin_pip, catkin_package complains if there is no package.xml in the source repo:


CMake Error: File /home/alexv/Projects/catkin_ws/src/pyzmp/package.xml does not exist.
CMake Error at /opt/ros/indigo/share/catkin/cmake/stamp.cmake:10 (configure_file):
  configure_file Problem configuring file
Call Stack (most recent call first):
  /opt/ros/indigo/share/catkin/cmake/catkin_package_xml.cmake:61 (stamp)
  /opt/ros/indigo/share/catkin/cmake/catkin_package_xml.cmake:39 (_catkin_package_xml)
  /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:95 (catkin_package_xml)
  CMakeLists.txt:15 (catkin_package)


CMake Error at /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:112 (message):
  catkin_package() 'catkin' must be listed as a buildtool dependency in the
  package.xml
Call Stack (most recent call first):
  /opt/ros/indigo/share/catkin/cmake/catkin_package.cmake:98 (_catkin_package)
  CMakeLists.txt:15 (catkin_package)

@asmodehn asmodehn modified the milestones: Later, 0.2 Mar 14, 2017
@asmodehn
Copy link
Member Author

Already implemented there : https://github.com/mikepurvis/catkin_tools_python

Not sure how to integrate yet. delayed, not for release 0.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant