This is an automated email from the ASF dual-hosted git repository.

radu pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-servlets-resolver.git


The following commit(s) were added to refs/heads/master by this push:
     new e0dee1e  SLING-9999 - Remove cyclic dependency between scripting and 
servlets features
e0dee1e is described below

commit e0dee1e7d7f60f56cd8e03bc50b91a0cb3d19e48
Author: Radu Cotescu <[email protected]>
AuthorDate: Tue Mar 2 14:19:43 2021 +0100

    SLING-9999 - Remove cyclic dependency between scripting and servlets 
features
    
    * moved the o.a.s.servlets.resolver.bundle.tracker API to a dedicated bundle
---
 README.md                                          |  2 +-
 pom.xml                                            |  3 +-
 .../internal => internal/bundle}/BundledHooks.java |  2 +-
 .../bundle}/BundledRenderUnitCapabilityImpl.java   |  6 +-
 .../bundle}/BundledScriptServlet.java              |  9 +--
 .../bundle}/BundledScriptTracker.java              | 12 +--
 .../bundle}/RequestWrapper.java                    |  4 +-
 .../bundle}/TypeProviderImpl.java                  |  6 +-
 .../internal/resource/ServletResource.java         |  2 +-
 .../resolver/bundle/tracker/ResourceTypeTest.java  | 87 ----------------------
 .../bundle}/BundledHooksTest.java                  |  3 +-
 .../bundle}/BundledScriptTrackerTest.java          |  3 +-
 .../resolver/it/ServletResolverTestSupport.java    |  2 +-
 13 files changed, 28 insertions(+), 113 deletions(-)

diff --git a/README.md b/README.md
index 2726a91..a44958e 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ context. As such, scripts should be handled like code:
   3. they have a _developer audience_.
 
 ### How
-Being built around a `BundleTrackerCustomizer` [2], the 
`org.apache.sling.servlets.resolver.bundle.tracker.internal.BundledScriptTracker`
+Being built around a `BundleTrackerCustomizer` [2], the 
`org.apache.sling.servlets.resolver.internal.bundle.BundledScriptTracker`
 monitors the instance's bundles wired to the 
`org.apache.sling.servlets.resolver` bundle and scans the ones providing a 
`sling.servlet`
 capability [3]. The wiring is created by placing a `Require-Capability` header 
in the bundles that provide the `sling.servlet` capability:
 
diff --git a/pom.xml b/pom.xml
index bfb9f5a..74d51bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -181,8 +181,9 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.servlets.resolver.api</artifactId>
+            <artifactId>org.apache.sling.scripting.spi</artifactId>
             <version>1.0.0-SNAPSHOT</version>
+            <scope>provided</scope>
         </dependency>
 
         <dependency>
diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooks.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooks.java
similarity index 97%
rename from 
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooks.java
rename to 
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooks.java
index 49ce2a8..48c39d8 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooks.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooks.java
@@ -16,7 +16,7 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
 
 import java.util.Collection;
 import java.util.Iterator;
diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledRenderUnitCapabilityImpl.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledRenderUnitCapabilityImpl.java
similarity index 96%
rename from 
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledRenderUnitCapabilityImpl.java
rename to 
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledRenderUnitCapabilityImpl.java
index 1d68f8e..645d83e 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledRenderUnitCapabilityImpl.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledRenderUnitCapabilityImpl.java
@@ -16,7 +16,7 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
 
 import java.util.Arrays;
 import java.util.Collections;
@@ -28,8 +28,8 @@ import java.util.Set;
 
 import org.apache.sling.api.servlets.ServletResolverConstants;
 import org.apache.sling.commons.osgi.PropertiesUtil;
-import 
org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitCapability;
-import org.apache.sling.servlets.resolver.bundle.tracker.ResourceType;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnitCapability;
+import org.apache.sling.scripting.spi.bundle.ResourceType;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.osgi.framework.Version;
diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptServlet.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptServlet.java
similarity index 91%
rename from 
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptServlet.java
rename to 
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptServlet.java
index f8102b1..3d30662 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptServlet.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptServlet.java
@@ -16,7 +16,7 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -33,10 +33,9 @@ import javax.servlet.ServletResponse;
 import org.apache.sling.api.SlingConstants;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
-import org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnit;
-import org.apache.sling.servlets.resolver.bundle.tracker.ResourceType;
-import org.apache.sling.servlets.resolver.bundle.tracker.TypeProvider;
-import 
org.apache.sling.servlets.resolver.bundle.tracker.internal.request.RequestWrapper;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnit;
+import org.apache.sling.scripting.spi.bundle.ResourceType;
+import org.apache.sling.scripting.spi.bundle.TypeProvider;
 import org.jetbrains.annotations.NotNull;
 
 public class BundledScriptServlet extends GenericServlet {
diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTracker.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
similarity index 98%
rename from 
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTracker.java
rename to 
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
index 2831a23..6883088 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTracker.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTracker.java
@@ -16,7 +16,7 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
 
 import java.io.IOException;
 import java.lang.reflect.InvocationHandler;
@@ -56,11 +56,11 @@ import org.apache.sling.api.resource.ResourceUtil;
 import org.apache.sling.api.servlets.HttpConstants;
 import org.apache.sling.api.servlets.ServletResolverConstants;
 import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnit;
-import 
org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitCapability;
-import 
org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitFinder;
-import org.apache.sling.servlets.resolver.bundle.tracker.ResourceType;
-import org.apache.sling.servlets.resolver.bundle.tracker.TypeProvider;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnit;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnitCapability;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnitFinder;
+import org.apache.sling.scripting.spi.bundle.ResourceType;
+import org.apache.sling.scripting.spi.bundle.TypeProvider;
 import org.apache.sling.servlets.resolver.internal.resource.ServletMounter;
 import org.jetbrains.annotations.NotNull;
 import org.osgi.annotation.bundle.Capability;
diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/request/RequestWrapper.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/RequestWrapper.java
similarity index 96%
rename from 
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/request/RequestWrapper.java
rename to 
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/RequestWrapper.java
index 5e20069..5b1e24a 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/request/RequestWrapper.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/RequestWrapper.java
@@ -16,7 +16,7 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal.request;
+package org.apache.sling.servlets.resolver.internal.bundle;
 
 import java.util.Set;
 
@@ -27,7 +27,7 @@ import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.request.RequestDispatcherOptions;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.wrappers.SlingHttpServletRequestWrapper;
-import org.apache.sling.servlets.resolver.bundle.tracker.ResourceType;
+import org.apache.sling.scripting.spi.bundle.ResourceType;
 
 public class RequestWrapper extends SlingHttpServletRequestWrapper {
 
diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/TypeProviderImpl.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/TypeProviderImpl.java
similarity index 91%
rename from 
src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/TypeProviderImpl.java
rename to 
src/main/java/org/apache/sling/servlets/resolver/internal/bundle/TypeProviderImpl.java
index 63c67cf..ca9fdd9 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/TypeProviderImpl.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/bundle/TypeProviderImpl.java
@@ -16,12 +16,12 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
 
 import java.util.Objects;
 
-import 
org.apache.sling.servlets.resolver.bundle.tracker.BundledRenderUnitCapability;
-import org.apache.sling.servlets.resolver.bundle.tracker.TypeProvider;
+import org.apache.sling.scripting.spi.bundle.BundledRenderUnitCapability;
+import org.apache.sling.scripting.spi.bundle.TypeProvider;
 import org.jetbrains.annotations.NotNull;
 import org.osgi.framework.Bundle;
 
diff --git 
a/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResource.java
 
b/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResource.java
index 883e40f..cf5112f 100644
--- 
a/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResource.java
+++ 
b/src/main/java/org/apache/sling/servlets/resolver/internal/resource/ServletResource.java
@@ -31,7 +31,7 @@ import org.apache.sling.api.resource.ResourceMetadata;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ValueMap;
 import org.apache.sling.api.wrappers.ValueMapDecorator;
-import 
org.apache.sling.servlets.resolver.bundle.tracker.internal.BundledScriptServlet;
+import org.apache.sling.servlets.resolver.internal.bundle.BundledScriptServlet;
 
 public class ServletResource extends AbstractResource {
 
diff --git 
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/ResourceTypeTest.java
 
b/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/ResourceTypeTest.java
deleted file mode 100644
index 5464bd1..0000000
--- 
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/ResourceTypeTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements.  See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership.  The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License.  You may obtain a copy of the License at
- ~
- ~   http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied.  See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker;
-
-import org.apache.commons.lang3.StringUtils;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-
-public class ResourceTypeTest {
-
-    @Test
-    public void testSlashNoVersion() {
-        ResourceType t1 = ResourceType.parseResourceType("a/b/c");
-        assertEquals("a/b/c", t1.getType());
-        assertEquals("c", t1.getResourceLabel());
-        assertNull(t1.getVersion());
-    }
-
-    @Test
-    public void testSlashVersion() {
-        ResourceType t1 = ResourceType.parseResourceType("a/b/c/1.0.0");
-        assertEquals("a/b/c", t1.getType());
-        assertEquals("c", t1.getResourceLabel());
-        assertEquals("1.0.0", t1.getVersion());
-    }
-
-    @Test
-    public void testOneSegmentNoVersion() {
-        ResourceType t1 = ResourceType.parseResourceType("a");
-        assertEquals("a", t1.getType());
-        assertEquals("a", t1.getResourceLabel());
-        assertNull(t1.getVersion());
-    }
-
-    @Test
-    public void testOneSegmentVersion() {
-        ResourceType t1 = ResourceType.parseResourceType("a/1.2.3");
-        assertEquals("a", t1.getType());
-        assertEquals("a", t1.getResourceLabel());
-        assertEquals("1.2.3", t1.getVersion());
-    }
-
-    @Test
-    public void testDotNoVersion() {
-        ResourceType t1 = ResourceType.parseResourceType("a.b.c");
-        assertEquals("a.b.c", t1.getType());
-        assertEquals("c", t1.getResourceLabel());
-        assertNull(t1.getVersion());
-    }
-
-    @Test
-    public void testDotVersion() {
-        ResourceType t1 = ResourceType.parseResourceType("a.b.c/42.0.0");
-        assertEquals("a.b.c", t1.getType());
-        assertEquals("c", t1.getResourceLabel());
-        assertEquals("42.0.0", t1.getVersion());
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testEmptyString() {
-        ResourceType t1 = ResourceType.parseResourceType(StringUtils.EMPTY);
-    }
-
-    @Test(expected = IllegalArgumentException.class)
-    public void testNull() {
-        ResourceType t1 = ResourceType.parseResourceType(null);
-    }
-
-}
diff --git 
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooksTest.java
 
b/src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooksTest.java
similarity index 97%
rename from 
src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooksTest.java
rename to 
src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooksTest.java
index 95ea271..1b2f8ee 100644
--- 
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledHooksTest.java
+++ 
b/src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledHooksTest.java
@@ -16,7 +16,7 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -25,6 +25,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.sling.servlets.resolver.internal.bundle.BundledHooks;
 import org.junit.Assert;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
diff --git 
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTrackerTest.java
 
b/src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTrackerTest.java
similarity index 93%
rename from 
src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTrackerTest.java
rename to 
src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTrackerTest.java
index 429017b..198d04c 100644
--- 
a/src/test/java/org/apache/sling/servlets/resolver/bundle/tracker/internal/BundledScriptTrackerTest.java
+++ 
b/src/test/java/org/apache/sling/servlets/resolver/internal/bundle/BundledScriptTrackerTest.java
@@ -16,13 +16,14 @@
  ~ specific language governing permissions and limitations
  ~ under the License.
  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-package org.apache.sling.servlets.resolver.bundle.tracker.internal;
+package org.apache.sling.servlets.resolver.internal.bundle;
 
 import java.util.ArrayList;
 import java.util.List;
 
 import javax.servlet.Servlet;
 
+import org.apache.sling.servlets.resolver.internal.bundle.BundledScriptTracker;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
diff --git 
a/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
 
b/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
index 045654c..54a2269 100644
--- 
a/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
+++ 
b/src/test/java/org/apache/sling/servlets/resolver/it/ServletResolverTestSupport.java
@@ -91,7 +91,7 @@ public class ServletResolverTestSupport extends TestSupport {
                 slingServlets(),
                 
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.converter").version("1.0.12"),
 // new Sling API dependency
                 testBundle("bundle.filename"),
-                
mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlets.resolver.api").versionAsInProject(),
+                
mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.spi").versionAsInProject(),
                 
mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlet-helpers").versionAsInProject(),
                 junitBundles(),
                 newConfiguration("org.apache.felix.http")

Reply via email to