You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by kw...@apache.org on 2023/06/13 13:53:20 UTC

[jackrabbit-filevault] 01/01: JCRVLT-708 Increase runtime requirements for JR2/Oak

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

kwin pushed a commit to branch feature/raise-min-runtime-requirements
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git

commit 432fb9585aa0c1d8a6313bc8eaf0a2ca1a11d3ee
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Tue Jun 13 15:53:11 2023 +0200

    JCRVLT-708 Increase runtime requirements for JR2/Oak
    
    Manage minimum versions and maximum versions separately
    Minimum dependency versions are used for calculating the import-package
    version range used in OSGi containers.
    Maximum dependency versions are used for running tests and for embedded
    dependencies
---
 parent/pom.xml                                     |  39 +++--
 .../max-target.bndrun}                             |   3 +-
 .../{ => max-target-osgi-environment}/pom.xml      | 134 +++++---------
 .../min-target.bndrun                              |   1 -
 .../{ => min-target-osgi-environment}/pom.xml      | 134 +++++---------
 target-osgi-environment/pom.xml                    | 192 +--------------------
 vault-core/bnd.bnd                                 |   2 -
 vault-core/min-target.bndrun                       |   2 +-
 vault-core/pom.xml                                 |  33 +++-
 .../packaging/integration/CugHandlingTest.java     |   2 +-
 vault-rcp/bnd.bnd                                  |   5 +-
 vault-rcp/min-target.bndrun                        |   4 +-
 vault-rcp/pom.xml                                  |   3 +
 vault-sync/min-target.bndrun                       |   4 +-
 vault-validation/min-target.bndrun                 |   2 +-
 vault-validation/pom.xml                           |   6 +-
 16 files changed, 163 insertions(+), 403 deletions(-)

diff --git a/parent/pom.xml b/parent/pom.xml
index c234714a..a072f609 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -48,8 +48,14 @@ Apache Jackrabbit FileVault is a project of the Apache Software Foundation.
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <jackrabbit.version>2.20.8</jackrabbit.version>
-        <oak.version>1.48.0</oak.version>
+        <!-- for dependencies used for calculating OSGi import-package version ranges the minimally supported version should be used to be backwards compatible in OSGi containers -->
+        <jackrabbit.min.version>2.20.8</jackrabbit.min.version>
+        <!-- for embedded/test dependencies the newest version should be used -->
+        <jackrabbit.max.version>2.20.10</jackrabbit.max.version>
+        <!-- for dependencies used for calculating OSGi import-package version ranges the minimally supported version should be used to be backwards compatible in OSGi containers -->
+        <oak.min.version>1.22.4</oak.min.version>
+        <!-- for embedded/test dependencies the newest version should be used -->
+        <oak.max.version>1.48.0</oak.max.version>
         <slf4j.version>1.7.25</slf4j.version>
         <test.oak>true</test.oak> <!-- passed to integration test as property "oak", set to true to test with Oak, false means test with Jackrabbit 2 -->
         <bnd.version>6.4.0</bnd.version>
@@ -369,46 +375,47 @@ Bundle-Category: jackrabbit
     <!-- ====================================================================== -->
     <dependencyManagement>
         <dependencies>
-            <!-- jackrabbit -->
+            <!-- jackrabbit dependencies usually provided as dedicated OSGi bundles (not embedded)-->
             <dependency>
                 <groupId>org.apache.jackrabbit</groupId>
                 <artifactId>oak-jackrabbit-api</artifactId>
-                <version>${oak.version}</version>
+                <version>${oak.min.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.jackrabbit</groupId>
-                <artifactId>jackrabbit-spi</artifactId>
-                <version>${jackrabbit.version}</version>
+                <artifactId>jackrabbit-jcr-commons</artifactId>
+                <version>${jackrabbit.min.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.jackrabbit</groupId>
-                <artifactId>jackrabbit-jcr-commons</artifactId>
-                <version>${jackrabbit.version}</version>
+                <artifactId>jackrabbit-spi</artifactId>
+                <version>${jackrabbit.min.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.jackrabbit</groupId>
                 <artifactId>jackrabbit-spi-commons</artifactId>
-                <version>${jackrabbit.version}</version>
+                <version>${jackrabbit.min.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.jackrabbit</groupId>
-                <artifactId>jackrabbit-jcr2spi</artifactId>
-                <version>${jackrabbit.version}</version>
+                <artifactId>jackrabbit-webdav</artifactId>
+                <version>${jackrabbit.min.version}</version>
             </dependency>
+            <!-- the following jackrabbit dependencies are usually not used on the server side, i.e. not available in OSGi containers -->
             <dependency>
                 <groupId>org.apache.jackrabbit</groupId>
-                <artifactId>jackrabbit-jcr-client</artifactId>
-                <version>${jackrabbit.version}</version>
+                <artifactId>jackrabbit-jcr2spi</artifactId>
+                <version>${jackrabbit.max.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.jackrabbit</groupId>
                 <artifactId>jackrabbit-spi2dav</artifactId>
-                <version>${jackrabbit.version}</version>
+                <version>${jackrabbit.max.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.jackrabbit</groupId>
-                <artifactId>jackrabbit-webdav</artifactId>
-                <version>${jackrabbit.version}</version>
+                <artifactId>jackrabbit-jcr-client</artifactId>
+                <version>${jackrabbit.max.version}</version>
             </dependency>
 
             <!-- JCR Stuff -->
diff --git a/target-osgi-environment/min-target.bndrun b/target-osgi-environment/max-target-osgi-environment/max-target.bndrun
similarity index 95%
copy from target-osgi-environment/min-target.bndrun
copy to target-osgi-environment/max-target-osgi-environment/max-target.bndrun
index bc0645e7..5a03fc29 100644
--- a/target-osgi-environment/min-target.bndrun
+++ b/target-osgi-environment/max-target-osgi-environment/max-target.bndrun
@@ -16,10 +16,9 @@
 -standalone: ${fileuri;${.}/target/index.xml}
 
 -runfw: org.apache.felix.framework
--runee: JavaSE-1.8
+-runee: JavaSE-11
 
 -resolve.effective: active
-
 # workaround for https://issues.apache.org/jira/browse/SLING-7608 and https://issues.apache.org/jira/browse/SLING-7604
 -runsystemcapabilities: osgi.service;objectClass=org.apache.sling.commons.classloader.DynamicClassLoaderManager,\
 osgi.service;objectClass:List<String>="javax.jcr.Repository,org.apache.sling.jcr.api.SlingRepository"
\ No newline at end of file
diff --git a/target-osgi-environment/pom.xml b/target-osgi-environment/max-target-osgi-environment/pom.xml
similarity index 67%
copy from target-osgi-environment/pom.xml
copy to target-osgi-environment/max-target-osgi-environment/pom.xml
index a35a4a4c..0a0ff447 100644
--- a/target-osgi-environment/pom.xml
+++ b/target-osgi-environment/max-target-osgi-environment/pom.xml
@@ -21,100 +21,62 @@
     <!-- ====================================================================== -->
     <parent>
         <groupId>org.apache.jackrabbit.vault</groupId>
-        <artifactId>parent</artifactId>
-        <relativePath>../parent/pom.xml</relativePath>
+        <artifactId>org.apache.jackrabbit.vault.target-osgi-environment</artifactId>
+        <relativePath>../pom.xml</relativePath>
         <version>3.6.9-SNAPSHOT</version>
     </parent>
 
     <!-- ====================================================================== -->
     <!-- P R O J E C T D E S C R I P T I O N -->
     <!-- ====================================================================== -->
-    <artifactId>org.apache.jackrabbit.vault.target-osgi-environment</artifactId>
+    <artifactId>org.apache.jackrabbit.vault.max-target-osgi-environment</artifactId>
     <packaging>pom</packaging>
-    <name>Apache Jackrabbit FileVault Target OSGi Environment</name>
-    <description>The bndrun files and the used bundles for resolving all FileVault bundles in the minimum support OSGi container</description>
+    <name>Apache Jackrabbit FileVault Maximum Target OSGi Environment</name>
+    <description>The bndrun files referencing a repository index (containing all bundles with their metadata) for resolving all FileVault bundles in the maximum support OSGi container</description>
 
     <properties>
-        <jackrabbit.version>2.16.0</jackrabbit.version>
-        <jackson.version>2.8.4</jackson.version>
+        <jackrabbit.version>2.20.10</jackrabbit.version>
+        <oak.version>1.52.0</oak.version>
+        <jackson.version>2.13.4</jackson.version>
     </properties>
-    <!-- ====================================================================== -->
-    <!-- B U I L D -->
-    <!-- ====================================================================== -->
-    <build>
-        <plugins>
-            <!-- exclude test resources from rat-check -->
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>src/test/resources/*.json</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
 
-            <!-- create OSGi repo index for target container -->
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-indexer-maven-plugin</artifactId>
-                <version>${bnd.version}</version>
-                <executions>
-                    <execution>
-                        <id>index</id>
-                        <goals>
-                            <goal>index</goal>
-                        </goals>
-                        <configuration>
-                            <attach>false</attach>
-                            <includeGzip>false</includeGzip>
-                            <scopes>provided</scopes>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- never do vulnerabilities check for any surrounding OSGi bundles provided by a distribution -->
-            <plugin>
-                <groupId>org.owasp</groupId>
-                <artifactId>dependency-check-maven</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <!-- the following dependencies are provided by AEM 6.4, all must have scope "provided" to prevent them polluting referencing modules -->
+    <!-- the following dependencies are provided by AEM 6.5.16, all must have scope "provided" to prevent them polluting referencing modules -->
     <dependencies>
-        <!-- older FileVault shipped with AEM, necessary for non-core bundles which should work without updating vault core -->
-        <dependency>
-            <groupId>org.apache.jackrabbit.vault</groupId>
-            <artifactId>org.apache.jackrabbit.vault</artifactId>
-            <version>3.1.38</version>
-            <scope>provided</scope>
-        </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.framework</artifactId>
-            <version>5.6.10</version>
+            <version>6.0.2</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.scr</artifactId>
-            <version>2.1.0</version>
+            <version>2.1.20</version>
+            <scope>provided</scope>
+        </dependency>
+        <!-- transitive deps of felix.scr -->
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.function</artifactId>
+            <version>1.1.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.promise</artifactId>
+            <version>1.1.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.configadmin</artifactId>
-            <version>1.9.0</version>
+            <version>1.9.12</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.http.servlet-api</artifactId>
-            <version>1.1.2</version>
+            <version>1.2.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -129,6 +91,13 @@
             <version>1.7.25</version>
             <scope>provided</scope>
         </dependency>
+        <!-- required SLF4J Impl capability -->
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.log</artifactId>
+            <version>5.1.10</version>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpcore-osgi</artifactId>
@@ -138,43 +107,31 @@
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient-osgi</artifactId>
-            <version>4.5.4</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>15.0</version>
+            <version>4.5.13</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
-            <version>2.5</version>
+            <version>2.8.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
-            <version>3.6</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <version>3.2.2</version>
+            <version>3.12.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-collections4</artifactId>
-            <version>4.1</version>
+            <version>4.4</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
-            <version>1.10</version>
+            <version>1.14</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -186,13 +143,14 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.16.4</version>
+            <version>2.22.0</version>
             <scope>provided</scope>
         </dependency>
+        <!--transitive dep of sling.api -->
         <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.commons.log</artifactId>
-            <version>5.1.0</version>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.converter</artifactId>
+            <version>1.0.2</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -203,8 +161,8 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
-            <version>${jackrabbit.version}</version>
+            <artifactId>oak-jackrabbit-api</artifactId>
+            <version>${oak.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -234,7 +192,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.base</artifactId>
-            <version>3.0.4</version>
+            <version>3.1.6</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/target-osgi-environment/min-target.bndrun b/target-osgi-environment/min-target-osgi-environment/min-target.bndrun
similarity index 96%
rename from target-osgi-environment/min-target.bndrun
rename to target-osgi-environment/min-target-osgi-environment/min-target.bndrun
index bc0645e7..fd4b33d9 100644
--- a/target-osgi-environment/min-target.bndrun
+++ b/target-osgi-environment/min-target-osgi-environment/min-target.bndrun
@@ -19,7 +19,6 @@
 -runee: JavaSE-1.8
 
 -resolve.effective: active
-
 # workaround for https://issues.apache.org/jira/browse/SLING-7608 and https://issues.apache.org/jira/browse/SLING-7604
 -runsystemcapabilities: osgi.service;objectClass=org.apache.sling.commons.classloader.DynamicClassLoaderManager,\
 osgi.service;objectClass:List<String>="javax.jcr.Repository,org.apache.sling.jcr.api.SlingRepository"
\ No newline at end of file
diff --git a/target-osgi-environment/pom.xml b/target-osgi-environment/min-target-osgi-environment/pom.xml
similarity index 67%
copy from target-osgi-environment/pom.xml
copy to target-osgi-environment/min-target-osgi-environment/pom.xml
index a35a4a4c..2910e1db 100644
--- a/target-osgi-environment/pom.xml
+++ b/target-osgi-environment/min-target-osgi-environment/pom.xml
@@ -21,100 +21,62 @@
     <!-- ====================================================================== -->
     <parent>
         <groupId>org.apache.jackrabbit.vault</groupId>
-        <artifactId>parent</artifactId>
-        <relativePath>../parent/pom.xml</relativePath>
+        <artifactId>org.apache.jackrabbit.vault.target-osgi-environment</artifactId>
+        <relativePath>../pom.xml</relativePath>
         <version>3.6.9-SNAPSHOT</version>
     </parent>
 
     <!-- ====================================================================== -->
     <!-- P R O J E C T D E S C R I P T I O N -->
     <!-- ====================================================================== -->
-    <artifactId>org.apache.jackrabbit.vault.target-osgi-environment</artifactId>
+    <artifactId>org.apache.jackrabbit.vault.min-target-osgi-environment</artifactId>
     <packaging>pom</packaging>
-    <name>Apache Jackrabbit FileVault Target OSGi Environment</name>
-    <description>The bndrun files and the used bundles for resolving all FileVault bundles in the minimum support OSGi container</description>
+    <name>Apache Jackrabbit FileVault Minimum Target OSGi Environment</name>
+    <description>The bndrun files referencing a repository index (containing all bundles with their metadata) for resolving all FileVault bundles in the minimum support OSGi container</description>
 
     <properties>
-        <jackrabbit.version>2.16.0</jackrabbit.version>
-        <jackson.version>2.8.4</jackson.version>
+        <jackrabbit.version>2.20.8</jackrabbit.version>
+        <oak.version>1.22.14</oak.version>
+        <jackson.version>2.13.4</jackson.version>
     </properties>
-    <!-- ====================================================================== -->
-    <!-- B U I L D -->
-    <!-- ====================================================================== -->
-    <build>
-        <plugins>
-            <!-- exclude test resources from rat-check -->
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>src/test/resources/*.json</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
 
-            <!-- create OSGi repo index for target container -->
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-indexer-maven-plugin</artifactId>
-                <version>${bnd.version}</version>
-                <executions>
-                    <execution>
-                        <id>index</id>
-                        <goals>
-                            <goal>index</goal>
-                        </goals>
-                        <configuration>
-                            <attach>false</attach>
-                            <includeGzip>false</includeGzip>
-                            <scopes>provided</scopes>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <!-- never do vulnerabilities check for any surrounding OSGi bundles provided by a distribution -->
-            <plugin>
-                <groupId>org.owasp</groupId>
-                <artifactId>dependency-check-maven</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <!-- the following dependencies are provided by AEM 6.4, all must have scope "provided" to prevent them polluting referencing modules -->
+    <!-- the following dependencies are provided by AEM 6.5.16, all must have scope "provided" to prevent them polluting referencing modules -->
     <dependencies>
-        <!-- older FileVault shipped with AEM, necessary for non-core bundles which should work without updating vault core -->
-        <dependency>
-            <groupId>org.apache.jackrabbit.vault</groupId>
-            <artifactId>org.apache.jackrabbit.vault</artifactId>
-            <version>3.1.38</version>
-            <scope>provided</scope>
-        </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.framework</artifactId>
-            <version>5.6.10</version>
+            <version>6.0.2</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.scr</artifactId>
-            <version>2.1.0</version>
+            <version>2.1.20</version>
+            <scope>provided</scope>
+        </dependency>
+        <!-- transitive deps of felix.scr -->
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.function</artifactId>
+            <version>1.1.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.util.promise</artifactId>
+            <version>1.1.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.configadmin</artifactId>
-            <version>1.9.0</version>
+            <version>1.9.12</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.felix</groupId>
             <artifactId>org.apache.felix.http.servlet-api</artifactId>
-            <version>1.1.2</version>
+            <version>1.2.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -129,6 +91,13 @@
             <version>1.7.25</version>
             <scope>provided</scope>
         </dependency>
+        <!-- required SLF4J Impl capability -->
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.log</artifactId>
+            <version>5.1.10</version>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpcore-osgi</artifactId>
@@ -138,43 +107,31 @@
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient-osgi</artifactId>
-            <version>4.5.4</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>15.0</version>
+            <version>4.5.13</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>commons-io</groupId>
             <artifactId>commons-io</artifactId>
-            <version>2.5</version>
+            <version>2.8.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
-            <version>3.6</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <version>3.2.2</version>
+            <version>3.12.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-collections4</artifactId>
-            <version>4.1</version>
+            <version>4.4</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>commons-codec</groupId>
             <artifactId>commons-codec</artifactId>
-            <version>1.10</version>
+            <version>1.14</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -186,13 +143,14 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.api</artifactId>
-            <version>2.16.4</version>
+            <version>2.22.0</version>
             <scope>provided</scope>
         </dependency>
+        <!--transitive dep of sling.api -->
         <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.commons.log</artifactId>
-            <version>5.1.0</version>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.converter</artifactId>
+            <version>1.0.2</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -203,8 +161,8 @@
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
-            <version>${jackrabbit.version}</version>
+            <artifactId>oak-jackrabbit-api</artifactId>
+            <version>${oak.version}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -234,7 +192,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.base</artifactId>
-            <version>3.0.4</version>
+            <version>3.1.6</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/target-osgi-environment/pom.xml b/target-osgi-environment/pom.xml
index a35a4a4c..bad82fcd 100644
--- a/target-osgi-environment/pom.xml
+++ b/target-osgi-environment/pom.xml
@@ -31,13 +31,7 @@
     <!-- ====================================================================== -->
     <artifactId>org.apache.jackrabbit.vault.target-osgi-environment</artifactId>
     <packaging>pom</packaging>
-    <name>Apache Jackrabbit FileVault Target OSGi Environment</name>
-    <description>The bndrun files and the used bundles for resolving all FileVault bundles in the minimum support OSGi container</description>
-
-    <properties>
-        <jackrabbit.version>2.16.0</jackrabbit.version>
-        <jackson.version>2.8.4</jackson.version>
-    </properties>
+    <name>Apache Jackrabbit FileVault Target OSGi Environments</name>
     <!-- ====================================================================== -->
     <!-- B U I L D -->
     <!-- ====================================================================== -->
@@ -83,184 +77,8 @@
             </plugin>
         </plugins>
     </build>
-
-    <!-- the following dependencies are provided by AEM 6.4, all must have scope "provided" to prevent them polluting referencing modules -->
-    <dependencies>
-        <!-- older FileVault shipped with AEM, necessary for non-core bundles which should work without updating vault core -->
-        <dependency>
-            <groupId>org.apache.jackrabbit.vault</groupId>
-            <artifactId>org.apache.jackrabbit.vault</artifactId>
-            <version>3.1.38</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.framework</artifactId>
-            <version>5.6.10</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.scr</artifactId>
-            <version>2.1.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.configadmin</artifactId>
-            <version>1.9.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.http.servlet-api</artifactId>
-            <version>1.1.2</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.25</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>jcl-over-slf4j</artifactId>
-            <version>1.7.25</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpcore-osgi</artifactId>
-            <version>4.4.8</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient-osgi</artifactId>
-            <version>4.5.4</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>15.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.5</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <version>3.6</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <version>3.2.2</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-collections4</artifactId>
-            <version>4.1</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>1.10</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.daisy.libs</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <version>3.1.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.api</artifactId>
-            <version>2.16.4</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.commons.log</artifactId>
-            <version>5.1.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>javax.jcr</groupId>
-            <artifactId>jcr</artifactId>
-            <version>2.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-api</artifactId>
-            <version>${jackrabbit.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-webdav</artifactId>
-            <version>${jackrabbit.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-jcr-commons</artifactId>
-            <version>${jackrabbit.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.jackrabbit</groupId>
-            <artifactId>jackrabbit-spi-commons</artifactId>
-            <version>${jackrabbit.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.jcr.api</artifactId>
-            <version>2.4.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.jcr.base</artifactId>
-            <version>3.0.4</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.jcr.oak.server</artifactId>
-            <version>1.2.0</version> <!-- uses Oak 1.8 -->
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>${jackson.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${jackson.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-annotations</artifactId>
-            <version>${jackson.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        
-    </dependencies>
+    <modules>
+        <module>max-target-osgi-environment</module>
+        <module>min-target-osgi-environment</module>
+    </modules>
 </project>
diff --git a/vault-core/bnd.bnd b/vault-core/bnd.bnd
index 5f1c8459..e6699041 100644
--- a/vault-core/bnd.bnd
+++ b/vault-core/bnd.bnd
@@ -13,10 +13,8 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-# JR2 packages not semantically versioned
 Import-Package: org.apache.jackrabbit.spi2dav;resolution:=optional,\
                             org.apache.sling.jcr.api;resolution:=optional,\
-                            org.apache.jackrabbit.*;version=!,\
                             *
 # include complete packages (all transitive dependencies lead to Import-Package instructions)
 -conditionalpackage: org.apache.jackrabbit.jcr2spi.*
diff --git a/vault-core/min-target.bndrun b/vault-core/min-target.bndrun
index 5359b89e..fc3c42a0 100644
--- a/vault-core/min-target.bndrun
+++ b/vault-core/min-target.bndrun
@@ -12,4 +12,4 @@
 #  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.
--include ../target-osgi-environment/min-target.bndrun
\ No newline at end of file
+-include ../target-osgi-environment/min-target-osgi-environment/min-target.bndrun
\ No newline at end of file
diff --git a/vault-core/pom.xml b/vault-core/pom.xml
index bd0de6e1..db9416ca 100644
--- a/vault-core/pom.xml
+++ b/vault-core/pom.xml
@@ -79,6 +79,25 @@
                 <groupId>biz.aQute.bnd</groupId>
                 <artifactId>bnd-maven-plugin</artifactId>
             </plugin>
+            <!-- create OSGi repo index for target container -->
+            <plugin>
+                <groupId>biz.aQute.bnd</groupId>
+                <artifactId>bnd-indexer-maven-plugin</artifactId>
+                <version>${bnd.version}</version>
+                <executions>
+                    <execution>
+                        <id>index</id>
+                        <goals>
+                            <goal>local-index</goal>
+                        </goals>
+                        <phase>verify</phase>
+                        <configuration>
+                            <inputDir>${project.build.directory}</inputDir>
+                            <includeGzip>false</includeGzip>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>biz.aQute.bnd</groupId>
                 <artifactId>bnd-baseline-maven-plugin</artifactId>
@@ -303,7 +322,7 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>jackrabbit-core</artifactId>
-            <version>${jackrabbit.version}</version>
+            <version>${jackrabbit.max.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
@@ -315,26 +334,26 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-core</artifactId>
-            <version>${oak.version}</version>
+            <version>${oak.max.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-core</artifactId>
-            <version>${oak.version}</version>
+            <version>${oak.max.version}</version>
             <classifier>tests</classifier>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-jcr</artifactId>
-            <version>${oak.version}</version>
+            <version>${oak.max.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-segment-tar</artifactId>
-            <version>${oak.version}</version>
+            <version>${oak.max.version}</version>
             <scope>test</scope>
         </dependency>
         <!-- transitive dependency of oak-segment-tar, necessary for filedatastore (https://issues.apache.org/jira/browse/OAK-6542) -->
@@ -347,13 +366,13 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-authorization-principalbased</artifactId>
-            <version>${oak.version}</version>
+            <version>${oak.max.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-authorization-cug</artifactId>
-            <version>1.16.0</version>
+            <version>${oak.max.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/CugHandlingTest.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/CugHandlingTest.java
index 4064ce26..7432cd0a 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/CugHandlingTest.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/CugHandlingTest.java
@@ -183,7 +183,7 @@ public final class CugHandlingTest {
     }
 
     public static void assertProperty(Node node, String name, Set<String> values) throws RepositoryException {
-        Set<String> strings = new HashSet();
+        Set<String> strings = new HashSet<String>();
         for (Value v: node.getProperty(name).getValues()) {
             strings.add(v.getString());
         }
diff --git a/vault-rcp/bnd.bnd b/vault-rcp/bnd.bnd
index d3c13e49..f5454301 100644
--- a/vault-rcp/bnd.bnd
+++ b/vault-rcp/bnd.bnd
@@ -13,13 +13,10 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 -includeresource: @vault-davex-[0-9.]*(-SNAPSHOT)?.jar,\
-                  @jackrabbit-webdav-[0-9.]*(-SNAPSHOT)?.jar,\
-                  @jackrabbit-spi-[0-9.]*(-SNAPSHOT)?.jar,\
-                  @jackrabbit-spi-commons-[0-9.]*(-SNAPSHOT)?.jar,\
                   @jackrabbit-spi2dav-[0-9.]*(-SNAPSHOT)?.jar,\
                   @jackrabbit-jcr-client-[0-9.]*(-SNAPSHOT)?.jar,\
                   @jackrabbit-jcr2spi-[0-9.]*(-SNAPSHOT)?.jar
--conditionalpackage: org.apache.jackrabbit.util,org.apache.jackrabbit.api.security.*,org.apache.felix.utils.json
+-conditionalpackage: org.apache.felix.utils.json
 # make sure to only export the relevant packages (https://github.com/bndtools/bnd/issues/4219)
 -exportcontents: org.apache.jackrabbit.vault.rcp
 # due to Jackrabbit2 JARs poorly designed for OSGi, only export the class used in the API from package "org.apache.jackrabbit.spi2dav", as the other classes in that package have lots of private references
diff --git a/vault-rcp/min-target.bndrun b/vault-rcp/min-target.bndrun
index 5359b89e..f548966a 100644
--- a/vault-rcp/min-target.bndrun
+++ b/vault-rcp/min-target.bndrun
@@ -12,4 +12,6 @@
 #  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.
--include ../target-osgi-environment/min-target.bndrun
\ No newline at end of file
+-include ~../target-osgi-environment/min-target-osgi-environment/min-target.bndrun
+# due to https://github.com/bndtools/bnd/issues/5673 we have to override the standalone instruction
+-standalone: ../vault-core/target/index.xml,../target-osgi-environment/min-target-osgi-environment/target/index.xml
diff --git a/vault-rcp/pom.xml b/vault-rcp/pom.xml
index 3326e15c..ab263eff 100644
--- a/vault-rcp/pom.xml
+++ b/vault-rcp/pom.xml
@@ -74,6 +74,9 @@
             <plugin>
                 <groupId>biz.aQute.bnd</groupId>
                 <artifactId>bnd-baseline-maven-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
diff --git a/vault-sync/min-target.bndrun b/vault-sync/min-target.bndrun
index 5359b89e..f548966a 100644
--- a/vault-sync/min-target.bndrun
+++ b/vault-sync/min-target.bndrun
@@ -12,4 +12,6 @@
 #  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.
--include ../target-osgi-environment/min-target.bndrun
\ No newline at end of file
+-include ~../target-osgi-environment/min-target-osgi-environment/min-target.bndrun
+# due to https://github.com/bndtools/bnd/issues/5673 we have to override the standalone instruction
+-standalone: ../vault-core/target/index.xml,../target-osgi-environment/min-target-osgi-environment/target/index.xml
diff --git a/vault-validation/min-target.bndrun b/vault-validation/min-target.bndrun
index 5359b89e..fc3c42a0 100644
--- a/vault-validation/min-target.bndrun
+++ b/vault-validation/min-target.bndrun
@@ -12,4 +12,4 @@
 #  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.
--include ../target-osgi-environment/min-target.bndrun
\ No newline at end of file
+-include ../target-osgi-environment/min-target-osgi-environment/min-target.bndrun
\ No newline at end of file
diff --git a/vault-validation/pom.xml b/vault-validation/pom.xml
index b96f38cb..d85b88d5 100644
--- a/vault-validation/pom.xml
+++ b/vault-validation/pom.xml
@@ -213,7 +213,7 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-core</artifactId>
-            <version>${oak.version}</version>
+            <version>${oak.max.version}</version>
             <optional>true</optional>
             <scope>provided</scope>
             <exclusions>
@@ -226,7 +226,7 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-security-spi</artifactId>
-            <version>${oak.version}</version>
+            <version>${oak.max.version}</version>
             <optional>true</optional>
             <scope>provided</scope>
             <exclusions>
@@ -239,7 +239,7 @@
         <dependency>
             <groupId>org.apache.jackrabbit</groupId>
             <artifactId>oak-core-spi</artifactId>
-            <version>${oak.version}</version>
+            <version>${oak.max.version}</version>
             <optional>true</optional>
             <scope>provided</scope>
             <exclusions>