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 2022/06/13 08:13:05 UTC
[jackrabbit-filevault] branch master updated: JCRVLT-634 check shipped dependencies (#224)
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jackrabbit-filevault.git
The following commit(s) were added to refs/heads/master by this push:
new 424c8d98 JCRVLT-634 check shipped dependencies (#224)
424c8d98 is described below
commit 424c8d98e8ac5cdcc252cd7765a0a672e7781ad4
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Mon Jun 13 10:13:00 2022 +0200
JCRVLT-634 check shipped dependencies (#224)
Remove non necessary dependencies
Add missing transitive provided dependency
---
vault-cli/pom.xml | 49 +++++++++++++++++++++-
vault-core/pom.xml | 8 +++-
.../vault/packaging/integration/ImportIT.java | 2 +-
.../packaging/integration/IntegrationTestBase.java | 4 +-
.../ReferenceableIdentifiersImportIT.java | 2 +-
vault-sync/pom.xml | 6 ---
vault-vlt/pom.xml | 6 +--
7 files changed, 60 insertions(+), 17 deletions(-)
diff --git a/vault-cli/pom.xml b/vault-cli/pom.xml
index e501bbe6..ae288865 100644
--- a/vault-cli/pom.xml
+++ b/vault-cli/pom.xml
@@ -119,6 +119,47 @@
</excludes>
</configuration>
</plugin>
+ <!-- validate that all necessary dependencies are part of the application -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>maven-enforcer-rules</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>enforce-complete-runtime-classpath</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireProvidedDependenciesInRuntimeClasspath
+ implementation="org.apache.sling.maven.enforcer.RequireProvidedDependenciesInRuntimeClasspath">
+ <excludes>
+ <exclude>javax.servlet:javax.servlet-api</exclude><!-- not used in the CLI context -->
+ <exclude>*:txw2</exclude><!-- embedded in vault-core -->
+ <exclude>*:woodstox-core</exclude><!-- embedded in vault-core -->
+ <exclude>*:stax2-api</exclude><!-- embedded in vault-core -->
+ <exclude>*:maven-artifact</exclude><!-- embedded in vault-core -->
+ <exclude>*:h2</exclude><!-- embedded in vault-core -->
+ <!-- no annotations are evaluated at run time -->
+ <exclude>org.jetbrains:annotations</exclude>
+ <exclude>org.osgi:org.osgi.annotation</exclude>
+ <exclude>org.osgi:org.osgi.annotation.versioning</exclude>
+ <exclude>org.osgi:org.osgi.service.metatype.annotations</exclude>
+ <exclude>org.osgi:org.osgi.service.component.annotations</exclude>
+ </excludes>
+ </requireProvidedDependenciesInRuntimeClasspath>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
@@ -152,6 +193,12 @@
<artifactId>org.apache.jackrabbit.vault</artifactId>
<version>3.6.1-SNAPSHOT</version>
</dependency>
+ <!-- transitive (but with scope "provided") dependency of vault -->
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.framework</artifactId>
+ <scope>runtime</scope>
+ </dependency>
<dependency>
<groupId>org.apache.jackrabbit.vault</groupId>
<artifactId>vault-vlt</artifactId>
@@ -177,7 +224,7 @@
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
- <version>0.9.94</version>
+ <version>1.0</version>
</dependency>
<!-- JCR Stuff -->
diff --git a/vault-core/pom.xml b/vault-core/pom.xml
index 0a9f9193..f0ef1868 100644
--- a/vault-core/pom.xml
+++ b/vault-core/pom.xml
@@ -241,13 +241,19 @@
<optional>true</optional>
</dependency>
- <!-- for parsing Maven versions -->
+ <!-- for parsing Maven versions (org.apache.maven.artifact.versioning.ComparableVersion) -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>3.8.4</version>
<!-- embedded, therefore not transitively relevant -->
<scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <artifactId>*</artifactId>
+ <groupId>*</groupId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- for the https://github.com/h2database/h2database/blob/master/h2/src/main/org/h2/util/CloseWatcher.java -->
<dependency>
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/ImportIT.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/ImportIT.java
index bc8b2a8c..ed5b045e 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/ImportIT.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/ImportIT.java
@@ -31,6 +31,7 @@ import javax.jcr.SimpleCredentials;
import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.nodetype.NodeType;
+import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.jackrabbit.api.JackrabbitSession;
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
@@ -46,7 +47,6 @@ import org.apache.jackrabbit.vault.fs.io.JcrArchive;
import org.apache.jackrabbit.vault.fs.io.ZipArchive;
import org.apache.jackrabbit.vault.packaging.PackageException;
import org.apache.jackrabbit.vault.util.JcrConstants;
-import org.codehaus.plexus.util.ExceptionUtils;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.Before;
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java
index ade2f40e..416459a3 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/IntegrationTestBase.java
@@ -62,6 +62,7 @@ import javax.jcr.security.AccessControlPolicyIterator;
import javax.jcr.security.Privilege;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.SystemUtils;
import org.apache.jackrabbit.api.JackrabbitSession;
import org.apache.jackrabbit.api.security.JackrabbitAccessControlEntry;
import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
@@ -111,7 +112,6 @@ import org.apache.jackrabbit.vault.packaging.impl.ActivityLog;
import org.apache.jackrabbit.vault.packaging.impl.JcrPackageManagerImpl;
import org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage;
import org.apache.jackrabbit.vault.packaging.registry.impl.JcrPackageRegistry;
-import org.codehaus.plexus.util.Os;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -276,7 +276,7 @@ public class IntegrationTestBase {
FileUtils.deleteDirectory(directory);
} catch (IOException ioe) {
// retry after wait on Windows, as it may release file locks in a deferred manner
- if (Os.isFamily(Os.FAMILY_WINDOWS)) {
+ if (SystemUtils.IS_OS_WINDOWS) {
try {
Thread.sleep(100);
} catch (InterruptedException ie) {
diff --git a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/ReferenceableIdentifiersImportIT.java b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/ReferenceableIdentifiersImportIT.java
index 907fec4e..0cf5e2dc 100644
--- a/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/ReferenceableIdentifiersImportIT.java
+++ b/vault-core/src/test/java/org/apache/jackrabbit/vault/packaging/integration/ReferenceableIdentifiersImportIT.java
@@ -36,12 +36,12 @@ import javax.jcr.PropertyIterator;
import javax.jcr.ReferentialIntegrityException;
import javax.jcr.RepositoryException;
+import org.apache.commons.lang3.exception.ExceptionUtils;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.commons.JcrUtils;
import org.apache.jackrabbit.vault.fs.api.IdConflictPolicy;
import org.apache.jackrabbit.vault.fs.io.ImportOptions;
import org.apache.jackrabbit.vault.packaging.PackageException;
-import org.codehaus.plexus.util.ExceptionUtils;
import org.junit.Assert;
import org.junit.Test;
diff --git a/vault-sync/pom.xml b/vault-sync/pom.xml
index 6a646544..f9c48a4f 100644
--- a/vault-sync/pom.xml
+++ b/vault-sync/pom.xml
@@ -139,7 +139,6 @@
<artifactId>commons-jci-fam</artifactId>
<version>1.0</version>
</dependency>
-
<!-- OSGi Annotations: @Version -->
<dependency>
<groupId>org.osgi</groupId>
@@ -162,11 +161,6 @@
<artifactId>org.apache.sling.jcr.api</artifactId>
<version>2.0.6</version>
</dependency>
- <dependency>
- <groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.commons.osgi</artifactId>
- <version>2.0.6</version>
- </dependency>
<!-- SLF4j / Log4j -->
<dependency>
diff --git a/vault-vlt/pom.xml b/vault-vlt/pom.xml
index 37483933..99f27a05 100644
--- a/vault-vlt/pom.xml
+++ b/vault-vlt/pom.xml
@@ -72,11 +72,7 @@
<!-- SLF4j / Log4j -->
<dependency>
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
+ <artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>