[ https://issues.apache.org/jira/browse/SLING-9999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17267234#comment-17267234 ]
Oliver Lietz commented on SLING-9999: ------------------------------------- [~radu], [~karlpauls], Again, the new dependency added prevents the update/upgrade of bundles in Sling's Karaf Features (the core features are stable for years and are live in production). Therefore I'm interested in getting it fixed in a timely manner. I did NOT change any implementation, just moved the API parts (mainly from Servlets Resolver to Scripting API) around and adjusted the imports – still I do not understand why you see an issue including the new Bundle API in Scripting API (as I said Sling API would also work – no additional dependencies – but the bundle is already "fat"). So we just have to find the final location for Bundle API and adjust the imports. When you look into the classes and javadoc it should be clear why I would locate the Bundle API below Scripting namespace, right? No references to servlet/script resolvers: {noformat} /** * <p> * A {@code BundledRenderUnit} represents a pre-packaged script or precompiled script (Java class) that will be executed in order to * render a {@link org.apache.sling.api.SlingHttpServletRequest}. * </p> * <p> * The {@code BundledRenderUnit} provider module is responsible for defining how a unit is executed. However, when executing the unit in the * context of a {@link javax.script.ScriptEngine}, the provider module should add the current executing unit into the {@link * javax.script.ScriptEngine}'s {@link javax.script.ScriptContext} using the {@link #VARIABLE} key. * </p> */ {noformat} So I suggest to have a new bundle/package {{o.a.s.scripting.bundle.spi}} or just {{o.a.s.scripting.bundle}}. But now after reading and reading your comments again and pushing for reverting keeping the (unfortunate) API namespace unchanged in the last comments... Does it mean you already depend in your product on the namespace and are not willing to change? And did I miss a discussion on dev@ around adding the new Bundle API to Servlets Resolver? > Remove cyclic dependency between scripting and servlets features > ---------------------------------------------------------------- > > Key: SLING-9999 > URL: https://issues.apache.org/jira/browse/SLING-9999 > Project: Sling > Issue Type: Improvement > Components: API, Karaf, Scripting, Servlets, Starter > Reporter: Oliver Lietz > Assignee: Oliver Lietz > Priority: Major > > Before {{org.apache.sling.scripting.core.impl.bundled}} and > {{org.apache.sling.servlets.resolver.bundle}} were added the dependency > chains were e.g. > {{sling-servlets}} → {{sling-scripting}} → {{sling}} > {{sling-scripting-jsp}} → {{sling-scripting}} → {{sling}} > Currently several _scripting_ modules depend on > {{org.apache.sling.servlets.resolver.bundle.tracker}}. > h2. Move _Bundle_ API to Scripting and Resource packages (modules) > ||Actual Package (Module)||Target Package (Module)|| > |*{{org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnit}}* > ({{org.apache.sling.servlets.resolver}})|*{{org.apache.sling.scripting.api.bundle.BundledRenderUnit}}* > ({{org.apache.sling.scripting.api}})| > |*{{org.apache.sling.servlets.resolver.bundle.tracker. > BundledRenderUnitCapability}}* > ({{org.apache.sling.servlets.resolver}})|*{{org.apache.sling.scripting.api.bundle.BundledRenderUnitCapability}}* > ({{org.apache.sling.scripting.api}})| > |*{{org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitFinder}}* > > ({{org.apache.sling.servlets.resolver}})|*{{org.apache.sling.scripting.api.bundle.BundledRenderUnitFinder}}* > ({{org.apache.sling.scripting.api}})| > |*{{org.apache.sling.servlets.resolver.bundle.tracker.ResourceType}}* > ({{org.apache.sling.servlets.resolver}})|*{{org.apache.sling.api.resource.type.ResourceType}}* > ({{org.apache.sling.api}})| > |*{{org.apache.sling.servlets.resolver.bundle.tracker.TypeProvider}}* > ({{org.apache.sling.servlets.resolver}})|*{{org.apache.sling.scripting.api.bundle.TypeProvider}}* > (_*{color:#ff8b00}class name?{color}*_) ({{org.apache.sling.scripting.api}})| > ---- > ||Module||Commits||Status|| > |{{org.apache.sling.api}}|[02cb7f1|https://github.com/apache/sling-org-apache-sling-api/commit/02cb7f1bbc4836865afd7e9964d3be1380daf734]|(/)| > |{{org.apache.sling.scripting.api}}|[d38759d|https://github.com/apache/sling-org-apache-sling-scripting-api/commit/d38759dbd3d4159f70ea54bff23b037be8d07cd6]|(/)| > |{{org.apache.sling.scripting.core}}|[b2f368a|https://github.com/apache/sling-org-apache-sling-scripting-core/commit/b2f368a90a087979c34d8072fe529675971234fe], > > [1467cfa|https://github.com/apache/sling-org-apache-sling-scripting-core/commit/1467cfa6a3fe4c77a628d078f9d944ce4cc42eb1]|(/)| > |{{org.apache.sling.scripting.jsp}}|[ccdb902|https://github.com/apache/sling-org-apache-sling-scripting-jsp/commit/ccdb90266f254bb2143a5d870725a8f4b28d4d8b]|(/)| > |{{org.apache.sling.scripting.sightly}}|[1567894|https://github.com/apache/sling-org-apache-sling-scripting-sightly/commit/1567894f6c1835a317c01e6c5b5987a260a74757], > > [b2f57cd|https://github.com/apache/sling-org-apache-sling-scripting-sightly/commit/b2f57cd43d7d961fcf194cf7bf61b1c79f343d44]|(/)| > |{{org.apache.sling.servlets.resolver}}|[8262ce6|https://github.com/apache/sling-org-apache-sling-servlets-resolver/commit/8262ce63725b9ab93c1d3eb07ace6b02d79acc65]|(!) > probably more classes which should be living in a scripting module| -- This message was sent by Atlassian Jira (v8.3.4#803005)