Skip to content

Commit

Permalink
Add plugin deprecation procedure
Browse files Browse the repository at this point in the history
  • Loading branch information
parejkoj committed Apr 2, 2024
1 parent a869840 commit c3dc198
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions stack/deprecating-interfaces.rst
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,14 @@ This can be achieved via preprocessor directives::

Note that this works for ``clang`` as well as ``gcc``, despite the pragma name.

Measurement Plugin Deprecation
------------------------------

Some of our measurement plugins are written in C++, as subclasses of :external+pipelines:doc:`SimpleAlgorithm <py-api/lsst.meas.base.SimpleAlgorithm>`.
To deprecate such a C++ plugin, follow the C++ deprecation procedure above for the C++ header declaration, being sure to catch each of the ``Control``, ``Algorithm``, and ``Transform`` classes.
In addition, where ever the plugin is registered to the plugin algorithm registry via :external+pipelines:doc:`lsst.meas.base.wrapSimpleAlgorithm` (called from ``plugins.py`` in ``meas_base`` for plugins defined in that package), add a ``deprecated="Plugin 'XXXX' is deprecated and will be removed after vXX."`` kwarg to the ``wrapSimpleAlgorithm`` call.
This will ensure that any pipeline that is configured to use this plugin will emit a deprecation warning about the plugin during initialization.

Config Deprecation
==================

Expand Down

0 comments on commit c3dc198

Please sign in to comment.