Skip to content

Commit

Permalink
[MDEP-779] Show specific classes causing this dependency to be used.
Browse files Browse the repository at this point in the history
  • Loading branch information
josephw committed Jan 30, 2022
1 parent 7b8ff3d commit bdc2eac
Showing 1 changed file with 45 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -327,7 +329,8 @@ private boolean checkDependencies()
}

Set<Artifact> usedDeclared = new LinkedHashSet<>( analysis.getUsedDeclaredArtifacts() );
Set<Artifact> usedUndeclared = new LinkedHashSet<>( analysis.getUsedUndeclaredArtifacts() );
Map<Artifact, Set<String>> usedUndeclaredWithClasses =
new LinkedHashMap<>( analysis.getUsedUndeclaredArtifactsWithClasses() );
Set<Artifact> unusedDeclared = new LinkedHashSet<>( analysis.getUnusedDeclaredArtifacts() );
Set<Artifact> testArtifactsWithNonTestScope = new LinkedHashSet<>(
analysis.getTestArtifactsWithNonTestScope() );
Expand All @@ -340,8 +343,9 @@ private boolean checkDependencies()
filterArtifactsByScope( unusedDeclared, Artifact.SCOPE_RUNTIME );
}

ignoredUsedUndeclared.addAll( filterDependencies( usedUndeclared, ignoredDependencies ) );
ignoredUsedUndeclared.addAll( filterDependencies( usedUndeclared, ignoredUsedUndeclaredDependencies ) );
ignoredUsedUndeclared.addAll( filterDependencies( usedUndeclaredWithClasses.keySet(), ignoredDependencies ) );
ignoredUsedUndeclared.addAll( filterDependencies( usedUndeclaredWithClasses.keySet(),
ignoredUsedUndeclaredDependencies ) );

ignoredUnusedDeclared.addAll( filterDependencies( unusedDeclared, ignoredDependencies ) );
ignoredUnusedDeclared.addAll( filterDependencies( unusedDeclared, ignoredUnusedDeclaredDependencies ) );
Expand All @@ -357,11 +361,11 @@ private boolean checkDependencies()
reported = true;
}

if ( !usedUndeclared.isEmpty() )
if ( !usedUndeclaredWithClasses.isEmpty() )
{
getLog().warn( "Used undeclared dependencies found:" );

logArtifacts( usedUndeclared, true );
logArtifacts( usedUndeclaredWithClasses, true );
reported = true;
warning = true;
}
Expand Down Expand Up @@ -402,12 +406,12 @@ private boolean checkDependencies()

if ( outputXML )
{
writeDependencyXML( usedUndeclared );
writeDependencyXML( usedUndeclaredWithClasses.keySet() );
}

if ( scriptableOutput )
{
writeScriptableOutput( usedUndeclared );
writeScriptableOutput( usedUndeclaredWithClasses.keySet() );
}

if ( !reported )
Expand Down Expand Up @@ -449,6 +453,40 @@ private void logArtifacts( Set<Artifact> artifacts, boolean warn )
}
}

private void logArtifacts( Map<Artifact, Set<String>> artifacts, boolean warn )
{
if ( artifacts.isEmpty() )
{
getLog().info( " None" );
}
else
{
for ( Map.Entry<Artifact, Set<String>> entry : artifacts.entrySet() )
{
// called because artifact will set the version to -SNAPSHOT only if I do this. MNG-2961
entry.getKey().isSnapshot();

if ( warn )
{
getLog().warn( " " + entry.getKey() );
for ( String clazz : entry.getValue() )
{
getLog().warn( " class " + clazz );
}
}
else
{
getLog().info( " " + entry.getKey() );
for ( String clazz : entry.getValue() )
{
getLog().info( " class " + clazz );
}
}

}
}
}

private void writeDependencyXML( Set<Artifact> artifacts )
{
if ( !artifacts.isEmpty() )
Expand Down

0 comments on commit bdc2eac

Please sign in to comment.