I'm trying to wrap my head around these two annotations and I'm struggling a bit. Is the perspective of the provider and consumer roles from a bundle perspective or an application perspective? I've read the Semantic Versioning whitepaper a number of times and it doesn't really clear things up for me definitely.
If an application has an API bundle that only exposes Interfaces and Abstract classes, and those interfaces are implemented by other bundles in the app, are those bundles providers or consumers? My inclination is that they're providers but then when does a bundle become a consumer? Given that API bundles are compile only (this is the rule right?), would a good rule be that if you implement the interface and export the package it's in, that type would be @ProviderType, if you don't implement it it's @ConsumeType? It would seem to me that @ProviderType would be the default using this logic, as opposed to @ConsumerType, which leads me to believe that I'm thinking about this wrong. Any help appreciated as always. Regards, Scott Leschke
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev