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]
