Skip to content

Commit fa0f098

Browse files
Get rid of maven-compat use Resolver API
1 parent 4f547b0 commit fa0f098

File tree

4 files changed

+28
-32
lines changed

4 files changed

+28
-32
lines changed

animal-sniffer-maven-plugin/pom.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,6 @@
6666
<version>${maven.version}</version>
6767
<scope>provided</scope>
6868
</dependency>
69-
<dependency>
70-
<groupId>org.apache.maven</groupId>
71-
<artifactId>maven-compat</artifactId>
72-
<version>${maven.version}</version>
73-
<scope>provided</scope>
74-
</dependency>
7569
<dependency>
7670
<groupId>org.apache.maven</groupId>
7771
<artifactId>maven-artifact</artifactId>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
File log = new File(basedir, 'build.log')
22
assert log.exists()
3-
assert log.text.contains( 'For artifact {org.codehaus.mojo.signature:java14:null:signature}: The version cannot be empty.' )
3+
assert log.text.contains( 'For artifact {org.codehaus.mojo.signature:java14:signature:}: The version cannot be empty' )

animal-sniffer-maven-plugin/src/main/java/org/codehaus/mojo/animal_sniffer/maven/CheckSignatureMojo.java

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,6 @@
2626
*/
2727

2828
import org.apache.maven.artifact.Artifact;
29-
import org.apache.maven.artifact.factory.ArtifactFactory;
30-
import org.apache.maven.artifact.repository.ArtifactRepository;
31-
import org.apache.maven.artifact.resolver.AbstractArtifactResolutionException;
32-
import org.apache.maven.artifact.resolver.ArtifactResolver;
3329
import org.apache.maven.model.Dependency;
3430
import org.apache.maven.plugin.AbstractMojo;
3531
import org.apache.maven.plugin.MojoExecutionException;
@@ -47,11 +43,15 @@
4743
import org.codehaus.mojo.animal_sniffer.Clazz;
4844
import org.codehaus.mojo.animal_sniffer.SignatureChecker;
4945
import org.codehaus.plexus.util.StringUtils;
46+
import org.eclipse.aether.RepositorySystem;
47+
import org.eclipse.aether.RepositorySystemSession;
48+
import org.eclipse.aether.resolution.ArtifactRequest;
49+
import org.eclipse.aether.resolution.ArtifactResolutionException;
50+
import org.eclipse.aether.resolution.ArtifactResult;
5051

5152
import java.io.File;
5253
import java.io.FileInputStream;
5354
import java.io.IOException;
54-
import java.io.InputStream;
5555
import java.util.ArrayList;
5656
import java.util.Arrays;
5757
import java.util.HashSet;
@@ -187,25 +187,16 @@ public void setSignature( String signatureId ) {
187187
@Parameter( defaultValue = "true", property = "animal.sniffer.failOnError" )
188188
protected boolean failOnError;
189189

190-
/**
191-
*/
192-
@Component
193-
protected ArtifactResolver resolver;
194-
195190
/**
196191
*/
197192
@Parameter( defaultValue = "${project}", readonly = true )
198193
protected MavenProject project;
199194

200-
/**
201-
*/
202-
@Parameter( defaultValue = "${localRepository}", readonly=true )
203-
protected ArtifactRepository localRepository;
195+
@Parameter( defaultValue = "${repositorySystemSession}", readonly = true )
196+
private RepositorySystemSession repositorySystemSession;
204197

205-
/**
206-
*/
207198
@Component
208-
protected ArtifactFactory artifactFactory;
199+
private RepositorySystem repositorySystem;
209200

210201
static Map<File, Map<String, Clazz>> classes = new ConcurrentHashMap<>();
211202

@@ -249,9 +240,8 @@ public void execute()
249240

250241
getLog().info( "Checking unresolved references to " + signature );
251242

252-
Artifact a = signature.createArtifact( artifactFactory );
243+
File signatureFile = resolveFileForArtifact( signature.createArtifact() );
253244

254-
resolver.resolve( a, project.getRemoteArtifactRepositories(), localRepository );
255245
// just check code from this module
256246
final Set<String> ignoredPackages = buildPackageList();
257247

@@ -268,7 +258,7 @@ public void execute()
268258
}
269259

270260
final SignatureChecker signatureChecker =
271-
new SignatureChecker( loadClasses( a.getFile() ), ignoredPackages,
261+
new SignatureChecker( loadClasses( signatureFile ), ignoredPackages,
272262
new MavenLogger( getLog() ) );
273263
signatureChecker.setCheckJars( false ); // don't want to decend into jar files that have been copied to
274264
// the output directory as resources.
@@ -309,12 +299,24 @@ public void execute()
309299
{
310300
throw new MojoExecutionException( "Failed to check signatures", e );
311301
}
312-
catch ( AbstractArtifactResolutionException e )
302+
catch ( ArtifactResolutionException e )
313303
{
314304
throw new MojoExecutionException( "Failed to obtain signature: " + signature, e );
315305
}
316306
}
317307

308+
private File resolveFileForArtifact(org.eclipse.aether.artifact.Artifact artifact )
309+
throws ArtifactResolutionException, MojoExecutionException {
310+
311+
if ( StringUtils.isBlank( artifact.getVersion() ) ) {
312+
throw new MojoExecutionException( "For artifact {" + artifact + "}: The version cannot be empty." );
313+
}
314+
315+
ArtifactRequest request = new ArtifactRequest( artifact, project.getRemotePluginRepositories(), null );
316+
ArtifactResult result = repositorySystem.resolveArtifact( repositorySystemSession, request );
317+
return result.getArtifact().getFile();
318+
}
319+
318320
private static Map<String, Clazz> loadClasses( File f ) throws IOException
319321
{
320322
Map<String, Clazz> classes = CheckSignatureMojo.classes.get( f );

animal-sniffer-maven-plugin/src/main/java/org/codehaus/mojo/animal_sniffer/maven/Signature.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
*
2626
*/
2727

28-
import org.apache.maven.artifact.Artifact;
29-
import org.apache.maven.artifact.factory.ArtifactFactory;
28+
import org.eclipse.aether.artifact.Artifact;
29+
import org.eclipse.aether.artifact.DefaultArtifact;
3030

3131
/**
3232
* Represents artifact in Maven POM.
@@ -72,9 +72,9 @@ public void setVersion( String version )
7272
this.version = version;
7373
}
7474

75-
public Artifact createArtifact( ArtifactFactory factory )
75+
public Artifact createArtifact()
7676
{
77-
return factory.createArtifact( groupId, artifactId, version, null, "signature" );
77+
return new DefaultArtifact( groupId, artifactId, "signature", version);
7878
}
7979

8080
public String toString()

0 commit comments

Comments
 (0)