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 11:20:07 UTC

[maven-shared-jar] branch master updated: [MSHARED-840] Migrate to Plexus Annotations

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

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


The following commit(s) were added to refs/heads/master by this push:
     new abac5e6  [MSHARED-840] Migrate to Plexus Annotations
abac5e6 is described below

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

    [MSHARED-840] Migrate to Plexus Annotations
    
    - drop deprecated Plexus javadoc components tags
---
 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 7fc5588..f1047a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,6 +107,12 @@
 
 
     <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-component-annotations</artifactId>
+      <version>2.1.0</version>
+    </dependency>
+
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.13</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
 {