AstroImageJ / astroimagej

http://astroimagej.com
GNU General Public License v3.0
15 stars 10 forks source link

Add stable API package for macros/plugins #28

Open keastrid opened 3 years ago

keastrid commented 3 years ago

This should precede #27.

Currently, AIJ make no separation between API surface and internals, making macros and plugins that depend on AIJ fragile to its updates, as any change in behavior or method signature could cause them to break. IJ's apparent solution to this is restricting macros to public static members, a restriction since removed by us to deal with lack of API surface in AIJ. AIJ internals are also largely undocumented, serving as a barrier to macro and plugin development, in addition to the limitation of only allowing static calls.

Creating a unified, mid- to long-term stable, and well documented API would greatly aid macro and plugin developers.

Proposal

This needs to be communicated with plugin/macro developers, and API additions will largely depend on what they need.