gtristan commented on issue #1385:
URL: https://github.com/apache/buildstream/issues/1385#issuecomment-808637821


   > @gtristan what exactly does this now mean when majority of plugins are 
migrated to bst-plugins-experimental? Are these in scope? If yes, are they all 
or just a sub-set?
   
   Insightful question thanks.
   
   We will not be guaranteeing plugin API or cache key stability for plugins in 
the non-core repositories at this time, and various plugins still need to be 
migrated outside of BuildStream as per #1224, migration of the remaining 
non-core plugins is currently blocking on the testing story both for 
BuildStream and for plugin repositories:
   * The API in `buildstream.testing` is not really satisfactory or stable, we 
need to provide a more solid API for external repos to have a clearer API for 
testing their plugins against the core.
   * Many *core* tests currently depend on plugins which need to be 
externalized... these tests need to be rewritten with test specific plugins 
used to exercise the core in interesting ways (some core functionalities cannot 
be exercised without plugins to specifically test these aspects).
   
   Back to your question, some things to keep in mind:
   * We consider the urgency for stable APIs in plugins to be lowered 
significantly by the introduction of [the `junction` plugin 
origin](https://docs.buildstream.build/master/format_project.html#junction-plugins),
 this allows a project to be very explicit about exactly which version of a 
plugin to use.
   * We *do* have plans to eventually create new plugin repositories under the 
apache github namespace which will need to be explicitly maintained, licensed 
under the ALv2 license, and will be required to have stable APIs (including 
cache keys), these will eventually be more suitable to install systemwide with 
pip. *However*, it is agreed that BuildStream 2.0 does *not* block on the 
creation of these stable plugin repositories.
   * We also expect the [the `buildstream` gitlab 
namespace](https://gitlab.com/BuildStream/) to be a location where people can 
develop and distribute plugins with varying guarantees of stability, depending 
on who maintains them and how they are maintained - this is convenient because 
it avoids some hassle in creating repositories under the ASF namespace on 
github (which has certain formalities and requirements for releases and such 
which are just not necessary for general plugin maintenance and code sharing).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to