-
Notifications
You must be signed in to change notification settings - Fork 20
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
Static plugins #97
Static plugins #97
Conversation
Signed-off-by: Shameek Ganguly <[email protected]>
Signed-off-by: Shameek Ganguly <[email protected]>
…d in Signed-off-by: Shameek Ganguly <[email protected]>
Signed-off-by: Shameek Ganguly <[email protected]>
Signed-off-by: Shameek Ganguly <[email protected]>
Signed-off-by: Shameek Ganguly <[email protected]>
Signed-off-by: Shameek Ganguly <[email protected]>
…lly linked plugin lib Signed-off-by: Shameek Ganguly <[email protected]>
Signed-off-by: Shameek Ganguly <[email protected]>
291a75f
to
d4961fc
Compare
Signed-off-by: Shameek Ganguly <[email protected]>
ea2e25d
to
89ac288
Compare
Signed-off-by: Shameek Ganguly <[email protected]>
Signed-off-by: Shameek Ganguly <[email protected]>
Codecov Report
@@ Coverage Diff @@
## main #97 +/- ##
==========================================
- Coverage 99.35% 98.25% -1.10%
==========================================
Files 17 23 +6
Lines 617 745 +128
==========================================
+ Hits 613 732 +119
- Misses 4 13 +9
Continue to review full report at Codecov.
|
I am continuing to investigate the windows failures here in a local VM. |
Signed-off-by: Michael Carroll <[email protected]>
Thanks for the clean up and Windows fixes Michael! |
Signed-off-by: Michael Carroll <[email protected]>
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.
I'm happy with this. Thanks for following style as much as possible.
I think this will be a very helpful improvement, interested to try it specifically with testing in gz-sim testing plugins.
I made a sketch of how this can be used in gz-sim, to be fleshed out after feature freeze (for first Garden minor release): gazebosim/gz-sim#1623 |
🎉 New feature
Summary
This change adds support to register plugins statically and load them from a library that is directly linked into the main program. Two new macros are added for static plugin registration: GZ_ADD_STATIC_PLUGIN and GZ_ADD_STATIC_PLUGIN_ALIAS which are functionally identical to their runtime-loading equivalents GZ_ADD_PLUGIN and GZ_ADD_PLUGIN_ALIAS respectively. Users can use this feature by invoking the static registration macros to register their plugin, and force-linking the plugin library into the program where they wish to load the plugin. The existing Loader class can be used to load plugins that have been linked in statically (see test/integration/static_plugins.cc for example).
Note that this change refactors the implementation of the following:
Test it
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.