You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2020/05/03 10:39:26 UTC

[maven-shared-jar] branch MSHARED-840 updated (bf4129c -> d76f1e0)

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a change to branch MSHARED-840
in repository https://gitbox.apache.org/repos/asf/maven-shared-jar.git.


 discard bf4129c  [MSHARED-840] Migrate to Plexus Annotations
     add cfd311c  [MSHARED-824] Move code to Java 7 level
     add f399b81  [MSHARED-841] Upgrade to Commons Collections 4.2
     add 6f60710  [MSHARED-843] Upgrade plexus-utils to 3.3.0
     add 68bfab3  [MSHARED-879] make build Reproducible
     add ecc3fcf  added README and GitHub configuration
     add dfe83c0  README improvement
     new d76f1e0  [MSHARED-840] Migrate to Plexus Annotations

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (bf4129c)
            \
             N -- N -- N   refs/heads/MSHARED-840 (d76f1e0)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

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.


Summary of changes:
 .asf.yaml                                          | 25 ++++++
 README.md                                          | 99 ++++++++++++++++++++++
 pom.xml                                            | 12 +--
 .../org/apache/maven/shared/jar/JarAnalyzer.java   |  2 +-
 .../maven/shared/jar/classes/ImportVisitor.java    |  6 +-
 .../maven/shared/jar/classes/JarClasses.java       | 10 +--
 .../shared/jar/classes/JarClassesAnalysis.java     |  8 +-
 .../jar/identification/JarIdentification.java      | 10 +--
 .../exposers/EmbeddedMavenModelExposer.java        |  2 +-
 .../exposers/RepositorySearchExposer.java          |  2 +-
 .../identification/exposers/TextFileExposer.java   | 11 +--
 .../identification/exposers/TimestampExposer.java  | 10 +--
 .../hash/JarBytecodeHashAnalyzer.java              | 25 ++----
 .../shared/jar/AbstractJarAnalyzerTestCase.java    | 15 ++--
 .../apache/maven/shared/jar/JarAnalyzerTest.java   |  1 -
 15 files changed, 171 insertions(+), 67 deletions(-)
 create mode 100644 .asf.yaml
 create mode 100644 README.md


[maven-shared-jar] 01/01: [MSHARED-840] Migrate to Plexus Annotations

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MSHARED-840
in repository https://gitbox.apache.org/repos/asf/maven-shared-jar.git

commit d76f1e0f01efdb032a129b217724e1839662227d
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sat Oct 19 21:39:37 2019 +0200

    [MSHARED-840] Migrate to Plexus Annotations
---
 pom.xml                                                    |  6 ++++++
 .../maven/shared/jar/classes/JarClassesAnalysis.java       |  3 ++-
 .../jar/identification/JarIdentificationAnalysis.java      |  8 ++++----
 .../identification/exposers/EmbeddedMavenModelExposer.java |  5 ++---
 .../jar/identification/exposers/FilenameExposer.java       |  4 ++--
 .../jar/identification/exposers/JarClassesExposer.java     |  9 ++++-----
 .../jar/identification/exposers/ManifestExposer.java       |  4 ++--
 .../identification/exposers/RepositorySearchExposer.java   | 14 ++++++--------
 .../identification/exposers/StaticMainOutputExposer.java   |  4 ++--
 .../jar/identification/exposers/TextFileExposer.java       |  4 ++--
 .../jar/identification/exposers/TimestampExposer.java      |  4 ++--
 .../jar/identification/hash/JarBytecodeHashAnalyzer.java   |  8 ++++----
 .../jar/identification/hash/JarFileHashAnalyzer.java       |  8 ++++----
 .../repository/EmptyRepositoryHashSearch.java              |  4 ++--
 14 files changed, 44 insertions(+), 41 deletions(-)

diff --git a/pom.xml b/pom.xml
index c21e3c4..9a8f34b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,6 +107,12 @@
 
 
     <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-component-annotations</artifactId>
+      <version>2.0.0</version>
+    </dependency>
+
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.12</version>
diff --git a/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java b/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java
index 141d1d5..e8769d9 100644
--- a/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java
+++ b/src/main/java/org/apache/maven/shared/jar/classes/JarClassesAnalysis.java
@@ -26,6 +26,7 @@ import org.apache.bcel.classfile.JavaClass;
 import org.apache.bcel.classfile.LineNumberTable;
 import org.apache.bcel.classfile.Method;
 import org.apache.maven.shared.jar.JarAnalyzer;
+import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 
 import java.io.IOException;
@@ -38,9 +39,9 @@ import java.util.jar.JarEntry;
  * Note that you must first create an instance of {@link org.apache.maven.shared.jar.JarAnalyzer} - see its Javadoc for
  * a typical use.
  *
- * @plexus.component role="org.apache.maven.shared.jar.classes.JarClassesAnalysis" role-hint="default"
  * @see #analyze(org.apache.maven.shared.jar.JarAnalyzer)
  */
+@Component ( role = JarClassesAnalysis.class )
 public class JarClassesAnalysis
     extends AbstractLogEnabled
 {
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java b/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java
index cd01b3e..f7587ed 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/JarIdentificationAnalysis.java
@@ -21,6 +21,8 @@ package org.apache.maven.shared.jar.identification;
 
 import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.utils.StringUtils;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 
 import java.util.Collections;
 import java.util.List;
@@ -36,16 +38,14 @@ import java.util.List;
  * <p/>
  * Note that you must first create an instance of {@link org.apache.maven.shared.jar.JarAnalyzer} - see its Javadoc for
  * a typical use.
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationAnalysis" role-hint="default"
  */
+@Component( role =  JarIdentificationAnalysis.class )
 public class JarIdentificationAnalysis
 {
     /**
      * The Maven information exposers to use during identification.
-     *
-     * @plexus.requirement role="org.apache.maven.shared.jar.identification.JarIdentificationExposer"
      */
+    @Requirement( role = JarIdentificationExposer.class )
     private List<JarIdentificationExposer> exposers;
 
     /**
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java b/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java
index bdcd9cf..2018994 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/exposers/EmbeddedMavenModelExposer.java
@@ -25,6 +25,7 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.identification.JarIdentification;
 import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
+import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.apache.maven.shared.utils.io.IOUtil;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -37,10 +38,8 @@ import java.util.jar.JarEntry;
 
 /**
  * Exposer that examines a JAR file for any embedded Maven metadata for identification.
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer"
- *                   role-hint="embeddedMavenModel"
  */
+@Component( role = JarIdentificationExposer.class, hint = "embeddedMavenModel" )
 public class EmbeddedMavenModelExposer
     extends AbstractLogEnabled
     implements JarIdentificationExposer
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java b/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java
index af13eec..afc129b 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/exposers/FilenameExposer.java
@@ -23,6 +23,7 @@ import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.identification.JarIdentification;
 import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
 import org.apache.maven.shared.utils.io.FileUtils;
+import org.codehaus.plexus.component.annotations.Component;
 
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -31,9 +32,8 @@ import java.util.regex.Pattern;
 /**
  * Exposer that examines a JAR file to derive Maven metadata from the pattern of the JAR's filename.
  * Will match the format <i>artifactId</i>-<i>version</i>.jar.
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="filename"
  */
+@Component( role = JarIdentificationExposer.class, hint = "filename" )
 public class FilenameExposer
     implements JarIdentificationExposer
 {
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java b/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java
index 0948e70..f31d15f 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/exposers/JarClassesExposer.java
@@ -24,6 +24,8 @@ import org.apache.maven.shared.jar.classes.JarClasses;
 import org.apache.maven.shared.jar.classes.JarClassesAnalysis;
 import org.apache.maven.shared.jar.identification.JarIdentification;
 import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 
 /**
  * Exposer that examines a JAR file to derive Maven metadata from the classes in a JAR. It will currently identify
@@ -31,15 +33,12 @@ import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
  * <p/>
  * Note: if not being used from Plexus, the {@link #setAnalyzer(org.apache.maven.shared.jar.classes.JarClassesAnalysis)}
  * method must be called to avoid a NullPointerException during the expose method.
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="jarClasses"
  */
+@Component( role = JarIdentificationExposer.class, hint = "jarClasses" )
 public class JarClassesExposer
     implements JarIdentificationExposer
 {
-    /**
-     * @plexus.requirement
-     */
+    @Requirement
     private JarClassesAnalysis analyzer;
 
     public void expose( JarIdentification identification, JarAnalyzer jarAnalyzer )
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java b/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java
index 4817f71..a168369 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/exposers/ManifestExposer.java
@@ -22,15 +22,15 @@ package org.apache.maven.shared.jar.identification.exposers;
 import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.identification.JarIdentification;
 import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
+import org.codehaus.plexus.component.annotations.Component;
 
 import java.util.jar.Attributes;
 import java.util.jar.Manifest;
 
 /**
  * Exposer that examines a JAR's manifest to derive Maven metadata.
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="manifest"
  */
+@Component( role = JarIdentificationExposer.class, hint = "manifest" )
 public class ManifestExposer
     implements JarIdentificationExposer
 {
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java b/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java
index 2e83512..630db9e 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/exposers/RepositorySearchExposer.java
@@ -25,6 +25,8 @@ import org.apache.maven.shared.jar.identification.JarIdentification;
 import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
 import org.apache.maven.shared.jar.identification.hash.JarHashAnalyzer;
 import org.apache.maven.shared.jar.identification.repository.RepositoryHashSearch;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 
 import java.util.ArrayList;
@@ -38,10 +40,8 @@ import java.util.List;
  * {@link #setBytecodeHashAnalyzer(org.apache.maven.shared.jar.identification.hash.JarHashAnalyzer)},
  * {@link #setFileHashAnalyzer(org.apache.maven.shared.jar.identification.hash.JarHashAnalyzer)},
  * {@link #setRepositoryHashSearch(org.apache.maven.shared.jar.identification.repository.RepositoryHashSearch)}
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer"
- *                   role-hint="repositorySearch"
  */
+@Component( role = JarIdentificationExposer.class, hint = "repositorySearch" )
 public class RepositorySearchExposer
     extends AbstractLogEnabled
     implements JarIdentificationExposer
@@ -49,23 +49,21 @@ public class RepositorySearchExposer
     /**
      * The repository searcher to use.
      *
-     * @plexus.requirement
      * @todo this currently only provides for the 'empty' repository search, which isn't very useful
      */
+    @Requirement
     private RepositoryHashSearch repositoryHashSearch;
 
     /**
      * The hash analyzer for the entire file.
-     *
-     * @plexus.requirement role-hint="file"
      */
+    @Requirement( hint = "file" )
     private JarHashAnalyzer fileHashAnalyzer;
 
     /**
      * The hash analyzer for the file's bytecode.
-     *
-     * @plexus.requirement role-hint="bytecode"
      */
+    @Requirement( hint = "bytecode" )
     private JarHashAnalyzer bytecodeHashAnalyzer;
 
     public void expose( JarIdentification identification, JarAnalyzer jarAnalyzer )
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java b/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java
index ddd0aea..10e7780 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/exposers/StaticMainOutputExposer.java
@@ -22,6 +22,7 @@ package org.apache.maven.shared.jar.identification.exposers;
 import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.identification.JarIdentification;
 import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
+import org.codehaus.plexus.component.annotations.Component;
 
 import java.util.Collections;
 import java.util.List;
@@ -31,9 +32,8 @@ import java.util.List;
  * <code>main</code> method if it exists to obtain the version.
  *
  * @todo not currently implemented
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer"
- *                   role-hint="staticMainOutput"
  */
+@Component( role = JarIdentificationExposer.class, hint = "staticMainOutput" )
 public class StaticMainOutputExposer
     implements JarIdentificationExposer
 {
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java b/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java
index 06628d6..cd25f29 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/exposers/TextFileExposer.java
@@ -22,6 +22,7 @@ package org.apache.maven.shared.jar.identification.exposers;
 import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.identification.JarIdentification;
 import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
+import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.apache.maven.shared.utils.StringUtils;
 
@@ -37,9 +38,8 @@ import java.util.jar.JarEntry;
 /**
  * Exposer that examines a a JAR for files that contain the text <code>version</code> (case-insensitive) and
  * adds the contents as potential version(s).
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="textFile"
  */
+@Component( role = JarIdentificationExposer.class, hint = "textFile" )
 public class TextFileExposer
     extends AbstractLogEnabled
     implements JarIdentificationExposer
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java b/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java
index ef67913..fff9deb 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/exposers/TimestampExposer.java
@@ -25,6 +25,7 @@ import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.identification.JarIdentification;
 import org.apache.maven.shared.jar.identification.JarIdentificationExposer;
 import org.apache.maven.shared.utils.StringUtils;
+import org.codehaus.plexus.component.annotations.Component;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -34,9 +35,8 @@ import java.util.jar.JarEntry;
 
 /**
  * Exposer that examines a a JAR and uses the most recent timestamp as a potential version.
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.JarIdentificationExposer" role-hint="timestamp"
  */
+@Component( role = JarIdentificationExposer.class, hint = "timestamp" )
 public class TimestampExposer
     implements JarIdentificationExposer
 {
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/hash/JarBytecodeHashAnalyzer.java b/src/main/java/org/apache/maven/shared/jar/identification/hash/JarBytecodeHashAnalyzer.java
index b45099e..8f60315 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/hash/JarBytecodeHashAnalyzer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/hash/JarBytecodeHashAnalyzer.java
@@ -21,6 +21,8 @@ package org.apache.maven.shared.jar.identification.hash;
 
 import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.JarData;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.digest.DigesterException;
 import org.codehaus.plexus.digest.StreamingDigester;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -36,18 +38,16 @@ import java.util.jar.JarEntry;
  * <p/>
  * If you are not using Plexus, you must call {@link #setDigester(org.codehaus.plexus.digest.StreamingDigester)} before
  * use
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.hash.JarHashAnalyzer" role-hint="bytecode"
  */
+@Component( role = JarHashAnalyzer.class, hint = "bytecode" )
 public class JarBytecodeHashAnalyzer
     extends AbstractLogEnabled
     implements JarHashAnalyzer
 {
     /**
      * The streaming digester to use for computing the hash. Under Plexus, the default is SHA-1.
-     *
-     * @plexus.requirement role-hint="sha1"
      */
+    @Requirement( hint = "sha1" )
     private StreamingDigester digester;
 
     public String computeHash( JarAnalyzer jarAnalyzer )
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/hash/JarFileHashAnalyzer.java b/src/main/java/org/apache/maven/shared/jar/identification/hash/JarFileHashAnalyzer.java
index 33cb122..7ee1d5b 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/hash/JarFileHashAnalyzer.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/hash/JarFileHashAnalyzer.java
@@ -21,6 +21,8 @@ package org.apache.maven.shared.jar.identification.hash;
 
 import org.apache.maven.shared.jar.JarAnalyzer;
 import org.apache.maven.shared.jar.JarData;
+import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.digest.Digester;
 import org.codehaus.plexus.digest.DigesterException;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
@@ -29,18 +31,16 @@ import org.codehaus.plexus.logging.AbstractLogEnabled;
  * Analyzer that calculates the hash code for the entire file. Can be used to detect an exact copy of the file.
  * <p/>
  * If you are not using Plexus, you must call {@link #setDigester(org.codehaus.plexus.digest.Digester)} before use
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.hash.JarHashAnalyzer" role-hint="file"
  */
+@Component( role = JarHashAnalyzer.class, hint = "file" )
 public class JarFileHashAnalyzer
     extends AbstractLogEnabled
     implements JarHashAnalyzer
 {
     /**
      * The digester to use for computing the hash. Under Plexus, the default is SHA-1.
-     *
-     * @plexus.requirement role-hint="sha1"
      */
+    @Requirement( hint = "sha1" )
     private Digester digester;
 
     public String computeHash( JarAnalyzer jarAnalyzer )
diff --git a/src/main/java/org/apache/maven/shared/jar/identification/repository/EmptyRepositoryHashSearch.java b/src/main/java/org/apache/maven/shared/jar/identification/repository/EmptyRepositoryHashSearch.java
index 1f3b9f1..b29071d 100644
--- a/src/main/java/org/apache/maven/shared/jar/identification/repository/EmptyRepositoryHashSearch.java
+++ b/src/main/java/org/apache/maven/shared/jar/identification/repository/EmptyRepositoryHashSearch.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
+import org.codehaus.plexus.component.annotations.Component;
 
 /**
  * Empty repository hash search.  Always returns an empty list.
@@ -30,9 +31,8 @@ import org.apache.maven.artifact.Artifact;
  * Used for local only implementation of a RepositoryHashSearch. It is expected for the users of this library to provide
  * an implementation of a {@link org.apache.maven.shared.jar.identification.repository.RepositoryHashSearch} against a
  * real repository.
- *
- * @plexus.component role="org.apache.maven.shared.jar.identification.repository.RepositoryHashSearch" role-hint="empty"
  */
+@Component( role = RepositoryHashSearch.class, hint = "empty" )
 public class EmptyRepositoryHashSearch
     implements RepositoryHashSearch
 {