[
https://issues.apache.org/jira/browse/SLING-9999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17261222#comment-17261222
]
Radu Cotescu commented on SLING-9999:
-------------------------------------
bq. Radu Cotescu, I don't get your point regarding server-side scripts.
Servlets (javax.servlet) are always server-side but Scripting (javax.script)
works in any context (yes, Sling is tightly coupled to Servlet API). Therefore
I moved the dependecy in Scripting Core from Servlet Resolver to Scripting API
(b2f368a). Why do you think it should be the other way round?
I only said that with this change -
https://github.com/apache/sling-org-apache-sling-servlets-resolver/commit/8262ce63725b9ab93c1d3eb07ace6b02d79acc65
- the Servlets Resolver will always require Scripting API. However, IMO the
Servlets Resolver should very well work without the Scripting API around.
bq. The additional bundle Scripting Bundle Tracker was quickly deprecated after
I brought up the dependency topic on dev@ (I guess it is my preferred solution
but the current works for me also).
The reason for that was that we wanted the ability to run a Sling web-app with
bundled scripts (precompiled or not) a core feature, rather than an add-on.
Adding this functionality in the servlets resolver was also important regarding
the performance aspects, since in a system with thousands of component scripts
the previous solution was also generating thousands of Servlet Resource
Providers, which made the startup process of such a system terribly slow.
> 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)