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:12 UTC
[maven-dependency-analyzer] 01/01: Require Maven 3.2.5+
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 );