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
Make ament_python_install_package() install a flat Python egg #316
Conversation
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking pretty good to me!
I've left some minimal comments
@@ -13,14 +13,18 @@ | |||
# limitations under the License. | |||
|
|||
# | |||
# Install a Python package (and its recursive subpackages). | |||
# Install a Python package (and its recursive subpackages) as a flat Python .egg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Install a Python package (and its recursive subpackages) as a flat Python .egg | |
# Install a Python package (and its recursive subpackages) as a flat Python egg. |
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
It fails on Windows otherwise Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
@ivanpauno @sloretz PTAL! |
where=os.path.normpath('${source_dir}/..'), | ||
include=('${package_name}', '${package_name}.*')), | ||
package_dir={'${package_name}': '${source_dir}'}, | ||
package_data={'': ['*.*']} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is mimicking the install rule copying the entire package dir, then it seems like the pattern should be *
instead of *.*
to include files without dots.
Might need something like exclude_package_data={'': ['*.pyc', '__pycache__']}
to avoid copying any byte code files in the source directory like the install()
rule's EXCLUDE
patterns, though it seems like that might not be enough if there are byte code files in a subdirectory and exclude_package_data
also doesn't support recursive glob patterns pypa/setuptools#1806 . I don't have any ideas on how to fix it, but I'm fine with not fixing it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approach LGTM, just some nitpick comments |
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
- Handle files with no extension - Handle arbitrarily nested subdirectories Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with green CI (can't currently see CI badges because ci.ros2.org is under maintenance)
CI's is completely green, merging ! |
Precisely what the title says. A first stab at addressing #213 and #156.
Also connected to ros2/rosidl#565.