testArtifactsWithNonTestScope;
/**
* Constructor for ProjectDependencyAnalysis.
*/
public ProjectDependencyAnalysis()
{
- this( null, (Map>) null, null, null );
+ this( null, (Map>) null, null, null );
}
/**
@@ -62,11 +64,12 @@ public ProjectDependencyAnalysis()
* @param usedUndeclaredArtifacts artifacts used but not declared
* @param unusedDeclaredArtifacts artifacts declared but not used
*/
- public ProjectDependencyAnalysis( Set usedDeclaredArtifacts, Set usedUndeclaredArtifacts,
- Set unusedDeclaredArtifacts )
+ public ProjectDependencyAnalysis( Set usedDeclaredArtifacts,
+ Set usedUndeclaredArtifacts,
+ Set unusedDeclaredArtifacts )
{
this( usedDeclaredArtifacts, usedUndeclaredArtifacts,
- unusedDeclaredArtifacts, Collections.emptySet() );
+ unusedDeclaredArtifacts, Collections.emptySet() );
}
/**
@@ -77,9 +80,10 @@ public ProjectDependencyAnalysis( Set usedDeclaredArtifacts, Set usedDeclaredArtifacts, Set usedUndeclaredArtifacts,
- Set unusedDeclaredArtifacts,
- Set testArtifactsWithNonTestScope )
+ public ProjectDependencyAnalysis( Set usedDeclaredArtifacts,
+ Set usedUndeclaredArtifacts,
+ Set unusedDeclaredArtifacts,
+ Set testArtifactsWithNonTestScope )
{
this( usedDeclaredArtifacts,
mapWithKeys( usedUndeclaredArtifacts ),
@@ -87,10 +91,10 @@ public ProjectDependencyAnalysis( Set usedDeclaredArtifacts, Set usedDeclaredArtifacts,
- Map> usedUndeclaredArtifacts,
- Set unusedDeclaredArtifacts,
- Set testArtifactsWithNonTestScope )
+ public ProjectDependencyAnalysis( Set usedDeclaredArtifacts,
+ Map> usedUndeclaredArtifacts,
+ Set unusedDeclaredArtifacts,
+ Set testArtifactsWithNonTestScope )
{
this.usedDeclaredArtifacts = safeCopy( usedDeclaredArtifacts );
this.usedUndeclaredArtifacts = safeCopy( usedUndeclaredArtifacts );
@@ -103,7 +107,7 @@ public ProjectDependencyAnalysis( Set usedDeclaredArtifacts,
*
* @return artifacts both used and declared
*/
- public Set getUsedDeclaredArtifacts()
+ public Set getUsedDeclaredArtifacts()
{
return safeCopy( usedDeclaredArtifacts );
}
@@ -113,7 +117,7 @@ public Set getUsedDeclaredArtifacts()
*
* @return artifacts used but not declared
*/
- public Set getUsedUndeclaredArtifacts()
+ public Set getUsedUndeclaredArtifacts()
{
return safeCopy( usedUndeclaredArtifacts.keySet() );
}
@@ -123,7 +127,7 @@ public Set getUsedUndeclaredArtifacts()
*
* @return artifacts used but not declared
*/
- public Map> getUsedUndeclaredArtifactsWithClasses()
+ public Map> getUsedUndeclaredArtifactsWithClasses()
{
return safeCopy( usedUndeclaredArtifacts );
}
@@ -133,7 +137,7 @@ public Map> getUsedUndeclaredArtifactsWithClasses()
*
* @return artifacts declared but not used
*/
- public Set getUnusedDeclaredArtifacts()
+ public Set getUnusedDeclaredArtifacts()
{
return safeCopy( unusedDeclaredArtifacts );
}
@@ -143,7 +147,7 @@ public Set getUnusedDeclaredArtifacts()
*
* @return artifacts only used in tests but not declared with test scope
*/
- public Set getTestArtifactsWithNonTestScope()
+ public Set getTestArtifactsWithNonTestScope()
{
return safeCopy( testArtifactsWithNonTestScope );
}
@@ -156,8 +160,8 @@ public Set getTestArtifactsWithNonTestScope()
*/
public ProjectDependencyAnalysis ignoreNonCompile()
{
- Set filteredUnusedDeclared = new HashSet<>( unusedDeclaredArtifacts );
- filteredUnusedDeclared.removeIf( artifact -> !artifact.getScope().equals( Artifact.SCOPE_COMPILE ) );
+ Set filteredUnusedDeclared = new HashSet<>( unusedDeclaredArtifacts );
+ filteredUnusedDeclared.removeIf( artifact -> !artifact.getScope().equals( Scope.COMPILE ) );
return new ProjectDependencyAnalysis( usedDeclaredArtifacts, usedUndeclaredArtifacts, filteredUnusedDeclared,
testArtifactsWithNonTestScope );
@@ -180,13 +184,13 @@ public ProjectDependencyAnalysis forceDeclaredDependenciesUsage( String[] forceU
{
Set forced = new HashSet<>( Arrays.asList( forceUsedDependencies ) );
- Set forcedUnusedDeclared = new HashSet<>( unusedDeclaredArtifacts );
- Set forcedUsedDeclared = new HashSet<>( usedDeclaredArtifacts );
+ Set forcedUnusedDeclared = new HashSet<>( unusedDeclaredArtifacts );
+ Set forcedUsedDeclared = new HashSet<>( usedDeclaredArtifacts );
- Iterator iter = forcedUnusedDeclared.iterator();
+ Iterator iter = forcedUnusedDeclared.iterator();
while ( iter.hasNext() )
{
- Artifact artifact = iter.next();
+ Dependency artifact = iter.next();
if ( forced.remove( artifact.getGroupId() + ':' + artifact.getArtifactId() ) )
{
@@ -314,21 +318,21 @@ public String toString()
// private methods --------------------------------------------------------
- private Set safeCopy( Set set )
+ private Set safeCopy( Set set )
{
return ( set == null ) ? Collections.emptySet() : Collections.unmodifiableSet( new LinkedHashSet<>( set ) );
}
- private static Map> safeCopy( Map> origMap )
+ private static Map> safeCopy( Map> origMap )
{
if ( origMap == null )
{
return Collections.emptyMap();
}
- Map> map = new HashMap<>();
+ Map> map = new HashMap<>();
- for ( Map.Entry> e : origMap.entrySet() )
+ for ( Map.Entry> e : origMap.entrySet() )
{
map.put( e.getKey(), Collections.unmodifiableSet( new LinkedHashSet<>( e.getValue() ) ) );
}
@@ -336,18 +340,18 @@ private static Map> safeCopy( Map> o
return map;
}
- private static Map> mapWithKeys( Set keys )
+ private static Map> mapWithKeys( Set keys )
{
if ( keys == null )
{
return Collections.emptyMap();
}
- Map> map = new HashMap<>();
+ Map> map = new HashMap<>();
- for ( Artifact k : keys )
+ for ( Dependency k : keys )
{
- map.put( k, Collections.emptySet() );
+ map.put( k, Collections.emptySet() );
}
return map;
diff --git a/src/main/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzer.java b/src/main/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzer.java
index ca7f4b8a..560f2294 100644
--- a/src/main/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzer.java
+++ b/src/main/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzer.java
@@ -19,7 +19,8 @@
* under the License.
*/
-import org.apache.maven.project.MavenProject;
+import org.apache.maven.api.Project;
+import org.apache.maven.api.Session;
/**
* Analyze a project's declared dependencies and effective classes used to find which artifacts are:
@@ -37,10 +38,10 @@ public interface ProjectDependencyAnalyzer
/**
* analyze.
*
- * @param project a {@link org.apache.maven.project.MavenProject} object
+ * @param project a {@link Project} object
* @return a {@link org.apache.maven.shared.dependency.analyzer.ProjectDependencyAnalysis} object
* @throws org.apache.maven.shared.dependency.analyzer.ProjectDependencyAnalyzerException if any
*/
- ProjectDependencyAnalysis analyze( MavenProject project )
+ ProjectDependencyAnalysis analyze( Session session, Project project )
throws ProjectDependencyAnalyzerException;
}
diff --git a/src/main/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzerException.java b/src/main/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzerException.java
index de7abaa1..8dc4cdf5 100644
--- a/src/main/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzerException.java
+++ b/src/main/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzerException.java
@@ -19,13 +19,15 @@
* under the License.
*/
+import org.apache.maven.api.services.MavenException;
+
/**
* ProjectDependencyAnalyzerException class.
*
* @author Mark Hobson
*/
public class ProjectDependencyAnalyzerException
- extends Exception
+ extends MavenException
{
/**
* The serialisation unique ID.
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 ebe27381..3a5f5c4b 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
@@ -24,6 +24,7 @@
import java.io.IOException;
import java.net.URL;
+import java.nio.file.Path;
import java.util.Set;
import org.apache.maven.shared.dependency.analyzer.ClassFileVisitorUtils;
@@ -49,4 +50,15 @@ public Set analyze( URL url )
return visitor.getDependencies();
}
+
+ /** {@inheritDoc} */
+ public Set analyze( Path path )
+ throws IOException
+ {
+ DependencyClassFileVisitor visitor = new DependencyClassFileVisitor();
+
+ ClassFileVisitorUtils.accept( path, visitor );
+
+ return visitor.getDependencies();
+ }
}
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 f8a1e795..e1f79b20 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
@@ -24,6 +24,7 @@
import java.util.Set;
import org.apache.maven.shared.dependency.analyzer.ClassFileVisitor;
+import org.apache.maven.shared.dependency.analyzer.ProjectDependencyAnalyzerException;
import org.codehaus.plexus.util.IOUtil;
import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.ClassReader;
@@ -52,9 +53,9 @@ public DependencyClassFileVisitor()
}
/** {@inheritDoc} */
- public void visitClass( String className, InputStream in )
+ public void visitClass( String className, InputStreamProvider provider )
{
- try
+ try ( InputStream in = provider.open() )
{
byte[] byteCode = IOUtil.toByteArray( in );
ClassReader reader = new ClassReader( byteCode );
@@ -76,7 +77,7 @@ public void visitClass( String className, InputStream in )
}
catch ( IOException exception )
{
- exception.printStackTrace();
+ throw new ProjectDependencyAnalyzerException( "Unable to process class " + className, exception );
}
catch ( IndexOutOfBoundsException e )
{
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtilsTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtilsTest.java
index e1d1f878..2b623c65 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtilsTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtilsTest.java
@@ -19,13 +19,7 @@
* under the License.
*/
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-import org.junit.Before;
-import org.junit.Test;
-
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
@@ -37,8 +31,13 @@
import java.util.jar.JarOutputStream;
import java.util.zip.ZipEntry;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.fail;
+import static org.junit.jupiter.api.Assertions.assertThrows;
/**
* Tests ClassFileVisitorUtils.
@@ -56,10 +55,10 @@ private static class MockVisitor implements ClassFileVisitor
final List data = new ArrayList<>();
@Override
- public void visitClass( String className, InputStream in )
+ public void visitClass( String className, InputStreamProvider provider )
{
classNames.add( className );
- try
+ try ( InputStream in = provider.open() )
{
List lines = IOUtils.readLines( in, StandardCharsets.UTF_8 );
data.addAll( lines );
@@ -71,7 +70,7 @@ public void visitClass( String className, InputStream in )
}
}
- @Before
+ @BeforeEach
public void setUp()
{
visitor = new MockVisitor();
@@ -83,7 +82,7 @@ public void testAcceptJar() throws IOException
File file = File.createTempFile( "test", ".jar" );
file.deleteOnExit();
- try ( JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) ) )
+ try ( JarOutputStream out = new JarOutputStream( Files.newOutputStream( file.toPath() ) ) )
{
addZipEntry( out, "a/b/c.class", "class a.b.c" );
addZipEntry( out, "x/y/z.class", "class x.y.z" );
@@ -103,7 +102,7 @@ public void testAcceptJarWithNonClassEntry() throws IOException
File file = File.createTempFile( "test", ".jar" );
file.deleteOnExit();
- try ( JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) ) )
+ try ( JarOutputStream out = new JarOutputStream( Files.newOutputStream( file.toPath() ) ) )
{
addZipEntry( out, "a/b/c.jpg", "jpeg a.b.c" );
}
@@ -157,15 +156,9 @@ public void testAcceptWithFile() throws IOException
URL url = file.toURI().toURL();
- try
- {
- ClassFileVisitorUtils.accept( url, visitor );
- fail( "expected IllegalArgumentException" );
- }
- catch ( IllegalArgumentException exception )
- {
- assertThat( exception ).hasMessage( "Cannot accept visitor on URL: " + url );
- }
+ IllegalArgumentException exception = assertThrows(
+ IllegalArgumentException.class, () -> ClassFileVisitorUtils.accept( url, visitor ) );
+ assertThat( exception ).hasMessage( "Cannot accept visitor on path: " + file );
}
@Test
@@ -173,15 +166,9 @@ public void testAcceptWithUnsupportedScheme() throws IOException
{
URL url = new URL( "http://localhost/" );
- try
- {
- ClassFileVisitorUtils.accept( url, visitor );
- fail( "expected IllegalArgumentException" );
- }
- catch ( IllegalArgumentException exception )
- {
- assertThat( exception ).hasMessage( "Cannot accept visitor on URL: " + url );
- }
+ IllegalArgumentException exception = assertThrows(
+ IllegalArgumentException.class, () -> ClassFileVisitorUtils.accept( url, visitor ) );
+ assertThat( exception ).hasMessage( "Cannot accept visitor on URL: " + url );
}
private void writeToFile( Path parent, String file, String data ) throws IOException
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/CollectorClassFileVisitorTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/CollectorClassFileVisitorTest.java
index 37579b17..5ccf9aa7 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/CollectorClassFileVisitorTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/CollectorClassFileVisitorTest.java
@@ -19,12 +19,13 @@
* under the License.
*/
-import org.junit.Before;
-import org.junit.Test;
import java.util.HashSet;
import java.util.Set;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
import static org.assertj.core.api.Assertions.assertThat;
/**
@@ -37,7 +38,7 @@ public class CollectorClassFileVisitorTest
{
private CollectorClassFileVisitor visitor;
- @Before
+ @BeforeEach
public void setUp()
{
visitor = new CollectorClassFileVisitor();
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzerTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzerTest.java
index 9bdfdb41..0e8e1cc2 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzerTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzerTest.java
@@ -19,11 +19,7 @@
* under the License.
*/
-import org.codehaus.plexus.util.IOUtil;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -31,14 +27,23 @@
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.nio.file.StandardCopyOption;
+import java.nio.file.StandardOpenOption;
import java.util.HashSet;
import java.util.Set;
import java.util.jar.JarOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
+import org.apache.maven.shared.dependency.analyzer.asm.ASMDependencyAnalyzer;
+import org.codehaus.plexus.util.IOUtil;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.fail;
+import static org.junit.jupiter.api.Assertions.assertThrows;
/**
* Tests DefaultClassAnalyzer.
@@ -50,7 +55,7 @@ public class DefaultClassAnalyzerTest
{
private Path file;
- @Before
+ @BeforeEach
public void setUp() throws IOException
{
file = Files.createTempFile( "test", ".jar" );
@@ -61,7 +66,7 @@ public void setUp() throws IOException
}
}
- @After
+ @AfterEach
public void cleanup() throws IOException
{
if ( file != null )
@@ -88,27 +93,19 @@ public void testAnalyzeBadJar() throws IOException
{
//to reproduce MDEP-143
// corrupt the jar file by altering its contents
- FileInputStream fis = new FileInputStream( file.toFile() );
ByteArrayOutputStream baos = new ByteArrayOutputStream( 100 );
- IOUtil.copy( fis, baos, 100 );
- fis.close();
+ Files.copy( file, baos );
byte[] ba = baos.toByteArray();
- ba[50] = 1;
- FileOutputStream fos = new FileOutputStream( file.toFile() );
- IOUtil.copy( ba, fos );
- fos.close();
+ ba[49] = 1;
+ Files.copy( new ByteArrayInputStream( ba ), file, StandardCopyOption.REPLACE_EXISTING );
- ClassAnalyzer analyzer = new DefaultClassAnalyzer();
+ DependencyAnalyzer analyzer = new ASMDependencyAnalyzer();
- try
- {
- analyzer.analyze( file.toUri().toURL() );
- fail( "Exception expected" );
- }
- catch ( ZipException e )
- {
- assertThat( e ).hasMessageStartingWith( "Cannot process Jar entry on URL:" );
- }
+ ProjectDependencyAnalyzerException exception = assertThrows( ProjectDependencyAnalyzerException.class, () -> analyzer.analyze( file.toUri().toURL() ) );
+ assertThat( exception ).hasMessageStartingWith( "Cannot process jar entry on path:" );
+ assertThat( exception.getCause() ).isInstanceOf( ProjectDependencyAnalyzerException.class )
+ .hasMessageStartingWith( "Unable to process class " );
+ assertThat( exception.getCause().getCause() ).isInstanceOf( ZipException.class );
}
private void addZipEntry( JarOutputStream out, String fileName, String content ) throws IOException
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalysisTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalysisTest.java
index 09e519dd..70a78e91 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalysisTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalysisTest.java
@@ -23,12 +23,13 @@
import java.util.HashSet;
import java.util.Set;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.junit.Test;
+import org.apache.maven.api.Dependency;
+import org.apache.maven.api.Scope;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.when;
/**
* Tests ProjectDependencyAnalysis.
@@ -41,10 +42,10 @@ public class ProjectDependencyAnalysisTest
@Test
public void testConstructor()
{
- Set usedDeclaredArtifacts = new HashSet<>();
- Set usedUndeclaredArtifacts = new HashSet<>();
- Set unusedDeclaredArtifacts = new HashSet<>();
- Set testArtifactsWithNonTestScope = new HashSet<>();
+ Set usedDeclaredArtifacts = new HashSet<>();
+ Set usedUndeclaredArtifacts = new HashSet<>();
+ Set unusedDeclaredArtifacts = new HashSet<>();
+ Set testArtifactsWithNonTestScope = new HashSet<>();
ProjectDependencyAnalysis analysis =
new ProjectDependencyAnalysis( usedDeclaredArtifacts, usedUndeclaredArtifacts, unusedDeclaredArtifacts,
@@ -58,9 +59,9 @@ public void testConstructor()
@Test
public void ignoreNonCompileShouldFilterOnlyUnusedDeclare()
{
- Artifact artifactCompile = aTestArtifact( "test1", Artifact.SCOPE_COMPILE );
- Artifact artifactProvided = aTestArtifact( "test2", Artifact.SCOPE_PROVIDED );
- Artifact artifactTest = aTestArtifact( "test3", Artifact.SCOPE_TEST );
+ Dependency artifactCompile = aTestArtifact( "test1", Scope.COMPILE );
+ Dependency artifactProvided = aTestArtifact( "test2", Scope.PROVIDED );
+ Dependency artifactTest = aTestArtifact( "test3", Scope.TEST );
ProjectDependencyAnalysis analysis = new ProjectDependencyAnalysis(
asSet( artifactCompile, artifactProvided, artifactTest ),
@@ -75,7 +76,7 @@ public void ignoreNonCompileShouldFilterOnlyUnusedDeclare()
assertThat( compileOnlyAnalysis.getUnusedDeclaredArtifacts() )
.hasSize( 1 )
- .allSatisfy( a -> assertThat( a.getScope() ).isEqualTo( Artifact.SCOPE_COMPILE ) );
+ .allSatisfy( a -> assertThat( a.getScope() ).isEqualTo( Scope.COMPILE ) );
assertThat( compileOnlyAnalysis.getTestArtifactsWithNonTestScope() )
.hasSize( 3 );
@@ -86,9 +87,13 @@ private Set asSet( T... items )
return new HashSet<>( Arrays.asList( items ) );
}
- private Artifact aTestArtifact( String artifactId, String scope )
+ private Dependency aTestArtifact( String artifactId, Scope scope )
{
- return new DefaultArtifact( "groupId", artifactId, VersionRange.createFromVersion( "1.0" ),
- scope, "jar", "", null );
+ Dependency dependency = Mockito.mock( Dependency.class );
+ when( dependency.getGroupId() ).thenReturn( "groupId" );
+ when( dependency.getArtifactId() ).thenReturn( artifactId );
+ when( dependency.getScope() ).thenReturn( scope );
+ when( dependency.key() ).thenReturn( artifactId );
+ return dependency;
}
}
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzerExceptionTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzerExceptionTest.java
index eece33e1..60e6f07c 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzerExceptionTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/ProjectDependencyAnalyzerExceptionTest.java
@@ -19,7 +19,8 @@
* under the License.
*/
-import org.junit.Test;
+
+import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/ASMDependencyAnalyzerTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/ASMDependencyAnalyzerTest.java
index 27623e33..1ba6fe7f 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/ASMDependencyAnalyzerTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/ASMDependencyAnalyzerTest.java
@@ -23,7 +23,7 @@
import java.util.Set;
import org.apache.maven.shared.dependency.analyzer.DependencyAnalyzer;
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/DependencyVisitorTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/DependencyVisitorTest.java
index 4a51b154..ca0c47cb 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/DependencyVisitorTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/DependencyVisitorTest.java
@@ -19,9 +19,15 @@
* under the License.
*/
-import org.junit.Before;
-import org.junit.Test;
-import org.objectweb.asm.*;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.objectweb.asm.AnnotationVisitor;
+import org.objectweb.asm.Attribute;
+import org.objectweb.asm.FieldVisitor;
+import org.objectweb.asm.Label;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+import org.objectweb.asm.Type;
import org.objectweb.asm.signature.SignatureVisitor;
import static org.assertj.core.api.Assertions.assertThat;
@@ -37,7 +43,7 @@ public class DependencyVisitorTest
private DefaultClassVisitor visitor;
private MethodVisitor mv;
- @Before
+ @BeforeEach
public void setUp()
{
AnnotationVisitor annotationVisitor = new DefaultAnnotationVisitor( resultCollector );
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollectorTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollectorTest.java
index 723025b3..40d3f63f 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollectorTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/asm/ResultCollectorTest.java
@@ -26,8 +26,9 @@
import org.apache.maven.shared.dependency.analyzer.testcases.ArrayCases;
import org.apache.maven.shared.dependency.analyzer.testcases.InnerClassCase;
import org.apache.maven.shared.dependency.analyzer.testcases.MethodHandleCases;
+import org.junit.jupiter.api.Test;
+
import static org.assertj.core.api.Assertions.assertThat;
-import org.junit.Test;
public class ResultCollectorTest
{
@@ -37,10 +38,7 @@ Set getDependencies( Class> inspectClass )
String className = inspectClass.getName();
String path = '/' + className.replace( '.', '/' ) + ".class";
DependencyClassFileVisitor visitor = new DependencyClassFileVisitor();
- try ( InputStream is = inspectClass.getResourceAsStream( path ) )
- {
- visitor.visitClass( className, is );
- }
+ visitor.visitClass( className, () -> inspectClass.getResourceAsStream( path ) );
return visitor.getDependencies();
}