You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2022/02/18 16:26:11 UTC
[maven-dependency-analyzer] branch MSHARED-916 created (now 8fa184b)
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a change to branch MSHARED-916
in repository https://gitbox.apache.org/repos/asf/maven-dependency-analyzer.git.
at 8fa184b Require Maven 3.2.5+
This branch includes the following new commits:
new 8fa184b Require Maven 3.2.5+
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[maven-dependency-analyzer] 01/01: Require Maven 3.2.5+
Posted by sj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch MSHARED-916
in repository https://gitbox.apache.org/repos/asf/maven-dependency-analyzer.git
commit 8fa184b4b0869cd82ed9c9108267cb439fc5c8fe
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Fri Feb 18 17:24:40 2022 +0100
Require Maven 3.2.5+
- use Maven 3.2.5 api
- migrate plexus annotation to JSR330
---
pom.xml | 57 +++++++++++-----------
.../dependency/analyzer/DefaultClassAnalyzer.java | 8 +--
.../analyzer/DefaultProjectDependencyAnalyzer.java | 31 ++++++------
.../analyzer/asm/ASMDependencyAnalyzer.java | 7 ++-
.../analyzer/asm/DependencyClassFileVisitor.java | 12 ++---
5 files changed, 62 insertions(+), 53 deletions(-)
diff --git a/pom.xml b/pom.xml
index 936827c..3a0aea5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,51 +59,50 @@
</distributionManagement>
<properties>
- <mavenVersion>2.0.5</mavenVersion>
- <surefire.version>2.22.2</surefire.version>
+ <mavenVersion>3.2.5</mavenVersion>
<javaVersion>8</javaVersion>
<project.build.outputTimestamp>2022-01-24T19:57:26Z</project.build.outputTimestamp>
</properties>
<dependencies>
+
<dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
- <version>9.2</version>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${mavenVersion}</version>
</dependency>
<dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- <version>1.5.1</version>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>${mavenVersion}</version>
</dependency>
+
<dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-annotations</artifactId>
- <version>2.1.1</version>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
</dependency>
+
<dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
- <version>${mavenVersion}</version>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>3.4.1</version>
</dependency>
+
<dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-model</artifactId>
- <version>${mavenVersion}</version>
+ <groupId>org.ow2.asm</groupId>
+ <artifactId>asm</artifactId>
+ <version>9.2</version>
</dependency>
+
+
+ <!-- testing support -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
+ <scope>test</scope>
</dependency>
-
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
- <version>${mavenVersion}</version>
- </dependency>
-
- <!-- testing support -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
@@ -134,12 +133,14 @@
<plugins>
<plugin>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-component-metadata</artifactId>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
+ <version>0.3.5</version>
<executions>
<execution>
+ <id>index-project</id>
<goals>
- <goal>generate-metadata</goal>
+ <goal>main-index</goal>
</goals>
</execution>
</executions>
diff --git a/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzer.java b/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzer.java
index 52ecd18..6a79d4d 100644
--- a/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzer.java
+++ b/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzer.java
@@ -19,19 +19,21 @@ package org.apache.maven.shared.dependency.analyzer;
* under the License.
*/
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import java.io.IOException;
import java.net.URL;
import java.util.Set;
import java.util.zip.ZipException;
-import org.codehaus.plexus.component.annotations.Component;
-
/**
* <p>DefaultClassAnalyzer class.</p>
*
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
*/
-@Component( role = ClassAnalyzer.class )
+@Named
+@Singleton
public class DefaultClassAnalyzer
implements ClassAnalyzer
{
diff --git a/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java b/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java
index 6e704c4..dc0c6a2 100644
--- a/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java
+++ b/src/main/java/org/apache/maven/shared/dependency/analyzer/DefaultProjectDependencyAnalyzer.java
@@ -19,6 +19,10 @@ package org.apache.maven.shared.dependency.analyzer;
* under the License.
*/
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import java.io.File;
import java.io.IOException;
import java.net.URL;
@@ -35,28 +39,27 @@ import java.util.jar.JarFile;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
/**
* <p>DefaultProjectDependencyAnalyzer class.</p>
*
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
*/
-@Component( role = ProjectDependencyAnalyzer.class )
+@Named
+@Singleton
public class DefaultProjectDependencyAnalyzer
implements ProjectDependencyAnalyzer
{
/**
* ClassAnalyzer
*/
- @Requirement
+ @Inject
private ClassAnalyzer classAnalyzer;
/**
* DependencyAnalyzer
*/
- @Requirement
+ @Inject
private DependencyAnalyzer dependencyAnalyzer;
/** {@inheritDoc} */
@@ -75,9 +78,9 @@ public class DefaultProjectDependencyAnalyzer
Set<Artifact> declaredArtifacts = buildDeclaredArtifacts( project );
Map<Artifact, Set<String>> usedArtifacts = buildUsedArtifacts( artifactClassMap, dependencyClasses );
- Set<Artifact> mainUsedArtifacts = buildUsedArtifacts( artifactClassMap, mainDependencyClasses ).keySet();
+ Set<Artifact> mainUsedArtifacts = buildUsedArtifacts( artifactClassMap, mainDependencyClasses ).keySet();
- Set<Artifact> testArtifacts = buildUsedArtifacts( artifactClassMap, testOnlyDependencyClasses ).keySet();
+ Set<Artifact> testArtifacts = buildUsedArtifacts( artifactClassMap, testOnlyDependencyClasses ).keySet();
Set<Artifact> testOnlyArtifacts = removeAll( testArtifacts, mainUsedArtifacts );
Set<Artifact> usedDeclaredArtifacts = new LinkedHashSet<>( declaredArtifacts );
@@ -85,7 +88,7 @@ public class DefaultProjectDependencyAnalyzer
Map<Artifact, Set<String>> usedUndeclaredArtifactsWithClasses = new LinkedHashMap<>( usedArtifacts );
Set<Artifact> usedUndeclaredArtifacts = removeAll(
- usedUndeclaredArtifactsWithClasses.keySet(), declaredArtifacts );
+ usedUndeclaredArtifactsWithClasses.keySet(), declaredArtifacts );
usedUndeclaredArtifactsWithClasses.keySet().retainAll( usedUndeclaredArtifacts );
Set<Artifact> unusedDeclaredArtifacts = new LinkedHashSet<>( declaredArtifacts );
@@ -94,7 +97,7 @@ public class DefaultProjectDependencyAnalyzer
Set<Artifact> testArtifactsWithNonTestScope = getTestArtifactsWithNonTestScope( testOnlyArtifacts );
return new ProjectDependencyAnalysis( usedDeclaredArtifacts, usedUndeclaredArtifactsWithClasses,
- unusedDeclaredArtifacts, testArtifactsWithNonTestScope );
+ unusedDeclaredArtifacts, testArtifactsWithNonTestScope );
}
catch ( IOException exception )
{
@@ -105,8 +108,8 @@ public class DefaultProjectDependencyAnalyzer
/**
* This method defines a new way to remove the artifacts by using the conflict id. We don't care about the version
* here because there can be only 1 for a given artifact anyway.
- *
- * @param start initial set
+ *
+ * @param start initial set
* @param remove set to exclude
* @return set with remove excluded
*/
@@ -231,9 +234,9 @@ public class DefaultProjectDependencyAnalyzer
return dependencyClasses;
}
-
+
private Set<String> buildMainDependencyClasses( MavenProject project )
- throws IOException
+ throws IOException
{
String outputDirectory = project.getBuild().getOutputDirectory();
@@ -263,7 +266,7 @@ public class DefaultProjectDependencyAnalyzer
}
private Map<Artifact, Set<String>> buildUsedArtifacts( Map<Artifact, Set<String>> artifactClassMap,
- Set<String> dependencyClasses )
+ Set<String> dependencyClasses )
{
Map<Artifact, Set<String>> usedArtifacts = new HashMap<>();
diff --git a/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ASMDependencyAnalyzer.java b/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ASMDependencyAnalyzer.java
index 2836c4d..ebe2738 100644
--- a/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ASMDependencyAnalyzer.java
+++ b/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/ASMDependencyAnalyzer.java
@@ -19,20 +19,23 @@ package org.apache.maven.shared.dependency.analyzer.asm;
* under the License.
*/
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import java.io.IOException;
import java.net.URL;
import java.util.Set;
import org.apache.maven.shared.dependency.analyzer.ClassFileVisitorUtils;
import org.apache.maven.shared.dependency.analyzer.DependencyAnalyzer;
-import org.codehaus.plexus.component.annotations.Component;
/**
* ASMDependencyAnalyzer
*
* @author <a href="mailto:markhobson@gmail.com">Mark Hobson</a>
*/
-@Component( role = DependencyAnalyzer.class )
+@Named
+@Singleton
public class ASMDependencyAnalyzer
implements DependencyAnalyzer
{
diff --git a/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DependencyClassFileVisitor.java b/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DependencyClassFileVisitor.java
index c6f3afc..f8a1e79 100644
--- a/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DependencyClassFileVisitor.java
+++ b/src/main/java/org/apache/maven/shared/dependency/analyzer/asm/DependencyClassFileVisitor.java
@@ -19,8 +19,12 @@ package org.apache.maven.shared.dependency.analyzer.asm;
* under the License.
*/
-import org.apache.commons.io.IOUtils;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Set;
+
import org.apache.maven.shared.dependency.analyzer.ClassFileVisitor;
+import org.codehaus.plexus.util.IOUtil;
import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassVisitor;
@@ -28,10 +32,6 @@ import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.MethodVisitor;
import org.objectweb.asm.signature.SignatureVisitor;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Set;
-
/**
* Computes the set of classes referenced by visited class files, using
* <a href="DependencyVisitor.html">DependencyVisitor</a>.
@@ -56,7 +56,7 @@ public class DependencyClassFileVisitor
{
try
{
- byte[] byteCode = IOUtils.toByteArray( in );
+ byte[] byteCode = IOUtil.toByteArray( in );
ClassReader reader = new ClassReader( byteCode );
final Set<String> constantPoolClassRefs = ConstantPoolParser.getConstantPoolClassReferences( byteCode );