You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Radu Cotescu (Jira)" <ji...@apache.org> on 2021/01/05 16:45:00 UTC

[jira] [Commented] (SLING-9999) Remove cyclic dependency between scripting and servlets features

    [ https://issues.apache.org/jira/browse/SLING-9999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17259038#comment-17259038 ] 

Radu Cotescu commented on SLING-9999:
-------------------------------------

[~olli], with [https://github.com/apache/sling-org-apache-sling-servlets-resolver/commit/8262ce63725b9ab93c1d3eb07ace6b02d79acc65] we now have a forced dependency chain between {{o.a.s.servlets.resolver}} and {{o.a.s.scripting.api}}, where the former cannot be deployed without the latter. IMO, the {{o.a.s.servlets.resolver}} should still be deployable on its own, without scripting support, since one can very well develop a Sling App without any kind of server-side scripts.

Wouldn't we achieve what you want by rather making the {{o.a.s.servlets.resolver}} an optional import on all the scripting modules that could use that functionality, similarly to SLING-9693? I think that both the JSP engine and the HTL one could be slightly changed to work with an optional import (if they don't already).



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