-
Notifications
You must be signed in to change notification settings - Fork 73
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
Drop architecture_independent from rqt_py_common #214
Conversation
When this flag was added back in 2014, the package was indeed architecture-independent. Now that there is C++ code being compiled as part of message generation, this package includes shared object libraries, making it architecture-specific.
The messages seem to be only used for the tests. Therefore I think their installation should be skipped using the option |
I agree, that's a better option. It looks like I also need to figure out how to make the messages discoverable to the tests when they're not installed. Directly dependent packages seem to compile and test fine without the messages, which seems to confirm your analysis. Stay tuned - I'll try to figure out how to make |
If the package doesn't install the interface files it neither needs to be part of the |
This doesn't appear to be a trivial change.
I also can't reference by going up one directory because the parent directory is called So unless we plumb through a way to tell It doesn't look like I'm open to suggestions, but it might be worth just removing the |
Have you checked how other packages which use interfaces only in their tests use them? Why do the approaches used in the existing cases not work here? |
Here are all of the uses of
Unfortunately, that breaks the other test that references the real module. So I'd guess splitting the tests up into ones that require the messages and ones that require the real module will work in this case, but only because there is no intersection between those. So to answer your question, none of the other approaches work here, but I think it's possible to change this package so that one of the patterns will work here (at least for now). |
Nope, I was wrong, the message tests also reference the module itself. Nix that idea. rqt/rqt_py_common/test/test_rqt_common_unit.py Lines 40 to 41 in 5549d88
|
@dirk-thomas, do you have any suggestions for how to make the tests work without installing the messages? If not, I'd like to proceed with dropping |
@dirk-thomas ping.
|
Resolved by #228. |
When this flag was added back in 2014 (ros-visualization/rqt_common_plugins#254), the package was indeed architecture-independent. Now this package includes shared object libraries which were created as part of message generation, making it architecture-specific.
I'm not sure if these messages need to be distributed with the package, but if they are only used for tests, we should find a way to remove them from installation. That would make this package architecture-independent once again.