[ 
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)

Reply via email to