There's a reason for that. :-) I revised the script following your email. Rev 1 used reflection to construct a new RegionConfiguration using the BundleContext.
On Mon, Aug 23, 2021, 3:04 AM David Bosschaert <david.bosscha...@gmail.com> wrote: > Hi Daniel, > > Only looked at your groovy script after I wrote the mail and I see that it > does pretty much exactly what I described :) > The RegionConfiguration class also allows dynamic changes to the > configuration which can be found via ConfigAdmin. > > Cheers, > > David > > On Sun, 22 Aug 2021 at 22:49, David Bosschaert <david.bosscha...@gmail.com> > wrote: > >> Hi Daniel, >> >> You can find the API Regions definitions via the ResolverHookFactory >> service that implements the API Regions at runtime. Just look for the >> ResolverHookFactory service and then check its *.properties service >> registration properties. They contain the full path of the associated files: >> >> [org.osgi.framework.hooks.resolver.ResolverHookFactory] >> bundles.properties=.../bundles.properties >> features.properties=.../features.properties >> idbsnver.properties=.../idbsnver.properties >> regions.properties=.../regions.properties >> >> These files are the definition of the API Regions behaviour, so you can >> use them to generate a report, or look at them to see how the service is >> configured. >> >> Kind regards, >> >> David >> >> >> On Sun, 22 Aug 2021 at 18:49, Daniel Klco <dk...@apache.org> wrote: >> >>> All, >>> >>> Is there a way to see a report on the API regions for an instance as a >>> consumer / extender of Sling? >>> >>> It seems like all of the information you'd need is in the API Regions >>> Runtime RegionConfiguration[1] class, but that's not in an exposed >>> package. >>> >>> The case I'm thinking of is if you are a customizer of a Sling-based app >>> and are importing a package that was not exposed in the API region of >>> your >>> bundle, how would you diagnose why the package is not resolving even >>> though >>> it is exported? If you don't have direct access to the model used to >>> create >>> that app (or if you aren't familiar with reading model files), I can't >>> see >>> how you could diagnose the issue. >>> >>> I wrote up a groovy script to dump this configuration, but, it's more >>> than >>> a little hack-y: >>> https://gist.github.com/klcodanr/28385db0ce6df72be36a4f60b433a8ec >>> >>> If there's not a good way currently, would others see value in having a >>> status web console to dump this information? >>> >>> -Dan >>> >>> [1] >>> >>> https://github.com/apache/sling-org-apache-sling-feature-apiregions/blob/master/src/main/java/org/apache/sling/feature/apiregions/impl/RegionConfiguration.java >>> >>