I am developing a plugin (name X), which provides different services for other plugins. I developed 2 other plugins (name Y and Z), which want to use X. The dependency scope of X is “provided” in the pom.xml of the 2 other plugins (it means, X should be installed before Y and Z will be installed). If I develop a new version of plugin X (v2.0) only for plugin Y and install it, then plugin Y and Z (although Z is not compatible to the new version) will use the new version of X as well as X v1.0 will be removed. Is it possible to make both of the versions X available in the container?
As I know in an OSGi container it is possible to keep multiple versions of components, but how do Atlassians products (like Bitbucket) support it?