You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2015/03/09 14:57:24 UTC

svn commit: r1665239 - in /felix/trunk/bundleplugin: ./ src/main/java/org/apache/felix/bundleplugin/ src/main/java/org/apache/felix/bundleplugin/baseline/ src/main/java/org/apache/felix/obrplugin/

Author: cziegeler
Date: Mon Mar  9 13:57:23 2015
New Revision: 1665239

URL: http://svn.apache.org/r1665239
Log:
FELIX-4707 : use Maven Plugin Tools Java 5 annotations instead of javadoc tags. Apply patch from  Hervé Boutemy 

Modified:
    felix/trunk/bundleplugin/pom.xml
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/InstructionsPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/AbstractBaselinePlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselinePlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselineReport.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/AbstractFileMojo.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrCleanRepo.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeploy.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeployFile.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstall.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstallFile.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrRemoteClean.java

Modified: felix/trunk/bundleplugin/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/pom.xml?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/pom.xml (original)
+++ felix/trunk/bundleplugin/pom.xml Mon Mar  9 13:57:23 2015
@@ -46,6 +46,21 @@
  </scm>
 
  <build>
+  <pluginManagement>
+   <plugins>
+    <plugin>
+     <groupId>org.apache.maven.plugins</groupId>
+     <artifactId>maven-plugin-plugin</artifactId>
+     <version>3.4</version>
+     <executions>
+      <execution>
+       <id>default-descriptor</id>
+       <phase>process-classes</phase>
+      </execution>
+     </executions>
+    </plugin>
+   </plugins>
+  </pluginManagement>
   <plugins>
    <plugin>
     <groupId>org.apache.maven.plugins</groupId>
@@ -56,6 +71,10 @@
     </configuration>
    </plugin>
    <plugin>
+    <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-plugin-plugin</artifactId>
+   </plugin>
+   <plugin>
     <groupId>org.apache.rat</groupId>
     <artifactId>apache-rat-plugin</artifactId>
     <configuration>
@@ -124,6 +143,12 @@
    <version>1.0</version>
   </dependency>
   <dependency>
+   <groupId>org.apache.maven.plugin-tools</groupId>
+   <artifactId>maven-plugin-annotations</artifactId>
+   <version>3.4</version>
+   <scope>provided</scope>
+  </dependency>
+  <dependency>
    <groupId>org.apache.maven.shared</groupId>
    <artifactId>maven-plugin-testing-harness</artifactId>
    <version>1.1</version>
@@ -136,7 +161,7 @@
    <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-plugin-plugin</artifactId>
-    <version>3.2</version>
+    <version>3.4</version>
    </plugin>
    <plugin>
     <groupId>org.apache.maven.plugins</groupId>

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java Mon Mar  9 13:57:23 2015
@@ -26,6 +26,8 @@ import java.util.Map;
 import java.util.Properties;
 
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
@@ -38,10 +40,8 @@ import aQute.bnd.osgi.Jar;
 /**
  * Generate Ant script to create the bundle (you should run ant:ant first).
  *
- * @goal ant
- * @requiresDependencyResolution test
- * @description generate Ant script to create the bundle
  */
+@Mojo( name = "ant", requiresDependencyResolution = ResolutionScope.TEST )
 public class AntPlugin extends BundlePlugin
 {
     static final String BUILD_XML = "/build.xml";

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java Mon Mar  9 13:57:23 2015
@@ -44,6 +44,12 @@ import org.apache.maven.artifact.resolve
 import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
@@ -58,15 +64,13 @@ import aQute.bnd.osgi.Jar;
 
 
 /**
- * Create OSGi bundles from all dependencies in the Maven project
+ * Build an OSGi bundle jar for all transitive dependencies.
  * 
- * @goal bundleall
- * @phase package
- * @requiresDependencyResolution test
- * @description build an OSGi bundle jar for all transitive dependencies
  * @deprecated The bundleall goal is no longer supported and may be removed in a future release
  */
 @Deprecated
+@Mojo( name = "bundleall", requiresDependencyResolution = ResolutionScope.TEST )
+@Execute( phase = LifecyclePhase.PACKAGE )
 public class BundleAllPlugin extends ManifestPlugin
 {
     private static final String LS = System.getProperty( "line.separator" );
@@ -75,76 +79,56 @@ public class BundleAllPlugin extends Man
 
     /**
      * Local repository.
-     *
-     * @parameter expression="${localRepository}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
     private ArtifactRepository localRepository;
 
     /**
      * Remote repositories.
-     * 
-     * @parameter expression="${project.remoteArtifactRepositories}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${project.remoteArtifactRepositories}", readonly = true, required = true )
     private List remoteRepositories;
 
     /**
      * Import-Package to be used when wrapping dependencies.
-     *
-     * @parameter expression="${wrapImportPackage}" default-value="*"
      */
+    @Parameter( property = "wrapImportPackage", defaultValue = "*" )
     private String wrapImportPackage;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactFactory m_factory;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactMetadataSource m_artifactMetadataSource;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactCollector m_collector;
 
     /**
      * Artifact resolver, needed to download jars.
-     * 
-     * @component
      */
+    @Component
     private ArtifactResolver m_artifactResolver;
 
-    /**
-     * @component
-     */
+    @Component
     private DependencyTreeBuilder m_dependencyTreeBuilder;
 
-    /**
-     * @component
-     */
+    @Component
     private MavenProjectBuilder m_mavenProjectBuilder;
 
     /**
      * Ignore missing artifacts that are not required by current project but are required by the
      * transitive dependencies.
-     * 
-     * @parameter
      */
+    @Parameter
     private boolean ignoreMissingArtifacts;
 
     private Set m_artifactsBeingProcessed = new HashSet();
 
     /**
      * Process up to some depth 
-     * 
-     * @parameter
      */
+    @Parameter
     private int depth = Integer.MAX_VALUE;
 
 

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java Mon Mar  9 13:57:23 2015
@@ -57,6 +57,12 @@ import org.apache.maven.plugin.AbstractM
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
@@ -84,132 +90,105 @@ import aQute.lib.spring.SpringXMLType;
 /**
  * Create an OSGi bundle from Maven project
  *
- * @goal bundle
- * @phase package
- * @requiresDependencyResolution test
- * @description build an OSGi bundle jar
- * @threadSafe
  */
+@Mojo( name = "bundle", requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true )
+@Execute( phase = LifecyclePhase.PACKAGE )
 public class BundlePlugin extends AbstractMojo
 {
     /**
      * Directory where the manifest will be written
-     *
-     * @parameter expression="${manifestLocation}" default-value="${project.build.outputDirectory}/META-INF"
      */
+    @Parameter( property = "manifestLocation", defaultValue = "${project.build.outputDirectory}/META-INF" )
     protected File manifestLocation;
 
     /**
      * Output a nicely formatted manifest that still respects the 72 character line limit.
-     *
-     * @parameter expression="${niceManifest}" default-value="false"
      */
+    @Parameter( property = "niceManifest", defaultValue = "false" )
     protected boolean niceManifest;
 
     /**
      * File where the BND instructions will be dumped
-     *
-     * @parameter expression="${dumpInstructions}"
      */
+    @Parameter( property = "dumpInstructions" )
     protected File dumpInstructions;
 
     /**
      * File where the BND class-path will be dumped
-     *
-     * @parameter expression="${dumpClasspath}"
      */
+    @Parameter( property = "dumpClasspath" )
     protected File dumpClasspath;
 
     /**
      * When true, unpack the bundle contents to the outputDirectory
-     *
-     * @parameter expression="${unpackBundle}"
      */
+    @Parameter( property = "unpackBundle" )
     protected boolean unpackBundle;
 
     /**
      * Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)
-     *
-     * @parameter expression="${excludeDependencies}"
      */
+    @Parameter( property = "excludeDependencies" )
     protected String excludeDependencies;
 
     /**
      * Final name of the bundle (without classifier or extension)
-     *
-     * @parameter expression="${project.build.finalName}"
      */
+    @Parameter( defaultValue = "${project.build.finalName}")
     private String finalName;
 
     /**
      * Classifier type of the bundle to be installed.  For example, "jdk14".
      * Defaults to none which means this is the project's main bundle.
-     *
-     * @parameter
      */
+    @Parameter
     protected String classifier;
 
     /**
      * Packaging type of the bundle to be installed.  For example, "jar".
      * Defaults to none which means use the same packaging as the project.
-     *
-     * @parameter
      */
+    @Parameter
     protected String packaging;
 
-    /**
-     * @component
-     */
+    @Component
     private MavenProjectHelper m_projectHelper;
 
-    /**
-     * @component
-     */
+    @Component
     private ArchiverManager m_archiverManager;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactHandlerManager m_artifactHandlerManager;
 
     /**
      * Project types which this plugin supports.
-     *
-     * @parameter
      */
+    @Parameter
     protected List<String> supportedProjectTypes = Arrays.asList( new String[]
         { "jar", "bundle" } );
 
     /**
      * The directory for the generated bundles.
-     *
-     * @parameter expression="${project.build.outputDirectory}"
-     * @required
      */
+    @Parameter( defaultValue = "${project.build.outputDirectory}" )
     private File outputDirectory;
 
     /**
      * The directory for the generated JAR.
-     *
-     * @parameter expression="${project.build.directory}"
-     * @required
      */
+    @Parameter( defaultValue = "${project.build.directory}" )
     private String buildDirectory;
 
     /**
      * The Maven project.
-     *
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${project}", readonly = true, required = true )
     private MavenProject project;
 
     /**
      * The BND instructions for the bundle.
-     *
-     * @parameter
      */
+    @Parameter
     private Map<String, String> instructions = new LinkedHashMap<String, String>();
 
     /**
@@ -219,16 +198,11 @@ public class BundlePlugin extends Abstra
 
     /**
      * The archive configuration to use.
-     *
-     * @parameter
      */
+    @Parameter
     private MavenArchiveConfiguration archive; // accessed indirectly in JarPluginConfiguration
 
-    /**
-     * @parameter default-value="${session}"
-     * @required
-     * @readonly
-     */
+    @Parameter( defaultValue = "${session}", readonly = true, required = true )
     private MavenSession m_mavenSession;
 
     private static final String MAVEN_SYMBOLICNAME = "maven-symbolicname";

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/InstructionsPlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/InstructionsPlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/InstructionsPlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/InstructionsPlugin.java Mon Mar  9 13:57:23 2015
@@ -27,6 +27,8 @@ import java.util.Properties;
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 
 import aQute.bnd.osgi.Jar;
@@ -34,11 +36,8 @@ import aQute.bnd.osgi.Jar;
 
 /**
  * Generate BND instructions for this project
- *
- * @goal instructions
- * @requiresDependencyResolution test
- * @threadSafe
  */
+@Mojo( name = "instructions", requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true  )
 public class InstructionsPlugin extends BundlePlugin
 {
     @Override

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java Mon Mar  9 13:57:23 2015
@@ -33,6 +33,11 @@ import java.util.jar.Manifest;
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 
 import aQute.bnd.osgi.Analyzer;
@@ -43,19 +48,15 @@ import aQute.bnd.osgi.Resource;
 
 /**
  * Generate an OSGi manifest for this project
- *
- * @goal manifest
- * @phase process-classes
- * @requiresDependencyResolution test
- * @threadSafe
  */
+@Mojo( name = "manifest", requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true )
+@Execute( phase = LifecyclePhase.PROCESS_CLASSES )
 public class ManifestPlugin extends BundlePlugin
 {
     /**
      * When true, generate the manifest by rebuilding the full bundle in memory
-     *
-     * @parameter expression="${rebuildBundle}"
      */
+    @Parameter( property = "rebuildBundle" )
     protected boolean rebuildBundle;
 
 

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/VersionCleanerPlugin.java Mon Mar  9 13:57:23 2015
@@ -25,35 +25,30 @@ import java.util.Map;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
 import org.apache.maven.shared.osgi.Maven2OsgiConverter;
 
 
 /**
- * Convert a group of versions to OSGi format.
- *
- * @goal cleanVersions
- * @description clean OSGi versions
- * @threadSafe
+ * Clean OSGi versions, ie convert a group of versions to OSGi format.
  */
+@Mojo( name = "cleanVersions", threadSafe = true )
 public class VersionCleanerPlugin extends AbstractMojo
 {
 
     /**
      * The BND instructions for the bundle.
-     *
-     * @parameter
      */
+    @Parameter
     private Map<String, String> versions = new LinkedHashMap<String, String>();
 
     /**
      * The Maven project.
-     *
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${project}", readonly = true, required = true )
     private MavenProject project;
 
     private Maven2OsgiConverter maven2OsgiConverter = new DefaultMaven2OsgiConverter();

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/WrapPlugin.java Mon Mar  9 13:57:23 2015
@@ -20,18 +20,19 @@ package org.apache.felix.bundleplugin;
 
 
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 
 
 /**
- * Create OSGi bundles from the direct dependencies of the Maven project.
- *
- * @goal wrap
- * @phase package
- * @requiresDependencyResolution test
- * @description build an OSGi bundle jar for direct dependencies
+ * Build an OSGi bundle jar for direct dependencies.
  * @deprecated The wrap goal is no longer supported and may be removed in a future release
  */
 @Deprecated
+@Mojo( name = "wrap", requiresDependencyResolution = ResolutionScope.TEST )
+@Execute( phase = LifecyclePhase.PACKAGE )
 public final class WrapPlugin extends BundleAllPlugin
 {
     public void execute() throws MojoExecutionException

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/AbstractBaselinePlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/AbstractBaselinePlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/AbstractBaselinePlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/AbstractBaselinePlugin.java Mon Mar  9 13:57:23 2015
@@ -43,6 +43,8 @@ import org.apache.maven.execution.MavenS
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -66,97 +68,66 @@ abstract class AbstractBaselinePlugin
 
     /**
      * Flag to easily skip execution.
-     *
-     * @parameter expression="${baseline.skip}" default-value="false"
      */
+    @Parameter( property = "baseline.skip", defaultValue = "false" )
     protected boolean skip;
 
     /**
      * Whether to fail on errors.
-     *
-     * @parameter expression="${baseline.failOnError}" default-value="true"
      */
+    @Parameter( property = "baseline.failOnError", defaultValue = "true" )
     protected boolean failOnError;
 
     /**
      * Whether to fail on warnings.
-     *
-     * @parameter expression="${baseline.failOnWarning}" default-value="false"
      */
+    @Parameter( property = "baseline.failOnWarning", defaultValue = "false" )
     protected boolean failOnWarning;
 
-    /**
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
+    @Parameter( defaultValue = "${project}", readonly = true, required = true )
     protected MavenProject project;
 
-    /**
-     * @parameter expression="${session}"
-     * @required
-     * @readonly
-     */
+    @Parameter( defaultValue = "${session}", readonly = true, required = true )
     protected MavenSession session;
 
-    /**
-     * @parameter expression="${project.build.directory}"
-     * @required
-     * @readonly
-     */
+    @Parameter( defaultValue = "${project.build.directory}", readonly = true, required = true )
     private File buildDirectory;
 
-    /**
-     * @parameter expression="${project.build.finalName}"
-     * @required
-     * @readonly
-     */
+    @Parameter( defaultValue = "${project.build.finalName}", readonly = true, required = true )
     private String finalName;
 
-    /**
-     * @component
-     */
+    @Component
     protected ArtifactResolver resolver;
 
-    /**
-     * @component
-     */
+    @Component
     protected ArtifactFactory factory;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactMetadataSource metadataSource;
 
     /**
      * Version to compare the current code against.
-     *
-     * @parameter expression="${comparisonVersion}" default-value="(,${project.version})"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "(,${project.version})", property="comparisonVersion" )
     protected String comparisonVersion;
 
     /**
      * Classifier for the artifact to compare the current code against.
-     *
-     * @parameter expression="${comparisonClassifier}"
      */
+    @Parameter( property="comparisonClassifier" )
     protected String comparisonClassifier;
 
     /**
      * A list of packages filter, if empty the whole bundle will be traversed. Values are specified in OSGi package
      * instructions notation, e.g. <code>!org.apache.felix.bundleplugin</code>.
-     *
-     * @parameter
      */
+    @Parameter
     private String[] filters;
 
     /**
      * Project types which this plugin supports.
-     *
-     * @parameter
      */
+    @Parameter
     protected List<String> supportedProjectTypes = Arrays.asList( new String[] { "jar", "bundle" } );
 
     public final void execute()

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselinePlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselinePlugin.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselinePlugin.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselinePlugin.java Mon Mar  9 13:57:23 2015
@@ -24,6 +24,11 @@ import java.io.IOException;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
 import org.codehaus.plexus.util.xml.XMLWriter;
 
@@ -31,13 +36,10 @@ import aQute.bnd.version.Version;
 
 /**
  * BND Baseline check between two bundles.
- *
- * @goal baseline
- * @phase verify
- * @requiresDependencyResolution test
- * @threadSafe true
  * @since 2.4.1
  */
+@Mojo( name = "baseline", threadSafe = true, requiresDependencyResolution = ResolutionScope.TEST )
+@Execute( phase = LifecyclePhase.VERIFY )
 public final class BaselinePlugin
     extends AbstractBaselinePlugin
 {
@@ -46,16 +48,14 @@ public final class BaselinePlugin
 
     /**
      * An XML output file to render to <code>${project.build.directory}/baseline.xml</code>.
-     *
-     * @parameter expression="${project.build.directory}/baseline.xml"
      */
+    @Parameter(defaultValue="${project.build.directory}/baseline.xml")
     private File xmlOutputFile;
 
     /**
      * Whether to log the results to the console or not, true by default.
-     *
-     * @parameter expression="${logResults}" default-value="true"
      */
+    @Parameter(defaultValue="true", property="logResults" )
     private boolean logResults;
 
     private static final class Context {

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselineReport.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselineReport.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselineReport.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/baseline/BaselineReport.java Mon Mar  9 13:57:23 2015
@@ -28,6 +28,10 @@ import java.util.Map;
 import java.util.ResourceBundle;
 
 import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.reporting.MavenReport;
 import org.apache.maven.reporting.MavenReportException;
 import org.codehaus.plexus.util.IOUtil;
@@ -37,11 +41,10 @@ import aQute.bnd.version.Version;
 /**
  * BND Baseline report.
  *
- * @goal baseline-report
- * @phase site
- * @threadSafe true
  * @since 2.4.1
  */
+@Mojo( name = "baseline-report", threadSafe = true )
+@Execute( phase = LifecyclePhase.SITE )
 public final class BaselineReport
     extends AbstractBaselinePlugin
     implements MavenReport
@@ -49,10 +52,8 @@ public final class BaselineReport
 
     /**
      * Specifies the directory where the report will be generated.
-     *
-     * @parameter default-value="${project.reporting.outputDirectory}"
-     * @required
      */
+    @Parameter(defaultValue = "${project.reporting.outputDirectory}")
     private File outputDirectory;
 
     private static final class Context {

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/AbstractFileMojo.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/AbstractFileMojo.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/AbstractFileMojo.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/AbstractFileMojo.java Mon Mar  9 13:57:23 2015
@@ -25,6 +25,8 @@ import org.apache.maven.artifact.Artifac
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 
 
@@ -37,65 +39,56 @@ public abstract class AbstractFileMojo e
 {
     /**
      * GroupId of the bundle. Retrieved from POM file if specified.
-     *
-     * @parameter expression="${groupId}"
      */
+    @Parameter( property = "groupId" )
     private String groupId;
 
     /**
      * ArtifactId of the bundle. Retrieved from POM file if specified.
-     *
-     * @parameter expression="${artifactId}"
      */
+    @Parameter( property = "artifactId" )
     private String artifactId;
 
     /**
      * Version of the bundle. Retrieved from POM file if specified.
-     *
-     * @parameter expression="${version}"
      */
+    @Parameter( property = "version" )
     private String version;
 
     /**
      * Packaging type of the bundle. Retrieved from POM file if specified.
-     *
-     * @parameter expression="${packaging}"
      */
+    @Parameter( property = "packaging" )
     private String packaging;
 
     /**
      * Classifier type of the bundle. Defaults to none.
-     *
-     * @parameter expression="${classifier}"
      */
+    @Parameter( property = "classifier" )
     private String classifier;
 
     /**
      * Location of an existing POM file.
-     *
-     * @parameter expression="${pomFile}"
      */
+    @Parameter( property = "pomFile" )
     private File pomFile;
 
     /**
      * Bundle file, defaults to the artifact in the local Maven repository.
-     *
-     * @parameter expression="${file}"
      */
+    @Parameter( property = "file" )
     protected File file;
 
     /**
      * Optional XML file describing additional requirements and capabilities.
-     * 
-     * @parameter expression="${obrXml}"
      */
+    @Parameter( property = "obrXml" )
     protected String obrXml;
 
     /**
      * Component factory for Maven artifacts
-     * 
-     * @component
      */
+    @Component
     private ArtifactFactory m_factory;
 
 

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrCleanRepo.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrCleanRepo.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrCleanRepo.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrCleanRepo.java Mon Mar  9 13:57:23 2015
@@ -43,6 +43,10 @@ import javax.xml.transform.stream.Stream
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.codehaus.plexus.util.FileUtils;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -54,28 +58,22 @@ import org.xml.sax.SAXException;
 /**
  * Clean an OBR repository by finding and removing missing resources.
  * 
- * @requiresProject false
- * @goal clean
- * @phase clean
- * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
+@Mojo( name = "clean", requiresProject = false )
+@Execute( phase = LifecyclePhase.CLEAN )
 public class ObrCleanRepo extends AbstractMojo
 {
     /**
      * OBR Repository.
-     * 
-     * @parameter expression="${obrRepository}"
      */
+    @Parameter( property = "obrRepository" )
     private String obrRepository;
 
     /**
      * Local Repository.
-     * 
-     * @parameter expression="${localRepository}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
     private ArtifactRepository localRepository;
 
 

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeploy.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeploy.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeploy.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeploy.java Mon Mar  9 13:57:23 2015
@@ -34,6 +34,11 @@ import org.apache.maven.artifact.reposit
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.settings.Settings;
 
@@ -41,116 +46,89 @@ import org.apache.maven.settings.Setting
 /**
  * Deploys bundle details to a remote OBR repository (life-cycle goal)
  * 
- * @goal deploy
- * @phase deploy
- * @threadSafe
- * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
+@Mojo( name = "deploy", threadSafe = true )
+@Execute( phase = LifecyclePhase.DEPLOY )
 public final class ObrDeploy extends AbstractMojo
 {
     /**
      * When true, ignore remote locking.
-     * 
-     * @parameter expression="${ignoreLock}"
      */
+    @Parameter( property = "ignoreLock" )
     private boolean ignoreLock;
 
     /**
      * Optional public URL prefix for the remote repository.
-     *
-     * @parameter expression="${prefixUrl}"
      */
+    @Parameter( property = "prefixUrl" )
     private String prefixUrl;
 
     /**
      * Optional public URL where the bundle has been deployed.
-     *
-     * @parameter expression="${bundleUrl}"
      */
+    @Parameter( property = "bundleUrl" )
     private String bundleUrl;
 
     /**
      * Remote OBR Repository.
-     * 
-     * @parameter expression="${remoteOBR}" default-value="NONE"
      */
+    @Parameter( property = "remoteOBR", defaultValue = "NONE" )
     private String remoteOBR;
 
     /**
      * Local OBR Repository.
-     * 
-     * @parameter expression="${obrRepository}"
      */
+    @Parameter( property = "obrRepository" )
     private String obrRepository;
 
     /**
      * Project types which this plugin supports.
-     *
-     * @parameter
      */
+    @Parameter
     private List supportedProjectTypes = Arrays.asList( new String[]
         { "jar", "bundle" } );
 
-    /**
-     * @parameter expression="${project.distributionManagementArtifactRepository}"
-     * @readonly
-     */
+    @Parameter( defaultValue = "${project.distributionManagementArtifactRepository}", readonly = true )
     private ArtifactRepository deploymentRepository;
 
     /**
      * Alternative deployment repository. Format: id::layout::url
-     * 
-     * @parameter expression="${altDeploymentRepository}"
      */
+    @Parameter( property = "altDeploymentRepository" )
     private String altDeploymentRepository;
 
     /**
      * OBR specific deployment repository. Format: id::layout::url
-     * 
-     * @parameter expression="${obrDeploymentRepository}"
      */
-    private String obrDeploymentRepository;
+    @Parameter( property = "obrDeploymentRepository" )
+   private String obrDeploymentRepository;
 
     /**
      * Local Repository.
-     * 
-     * @parameter expression="${localRepository}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
     private ArtifactRepository localRepository;
 
     /**
      * The Maven project.
-     * 
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${project}", readonly = true, required = true )
     private MavenProject project;
 
-    /**
-     * @parameter expression="${project.attachedArtifacts}
-     * @required
-     * @readonly
-     */
+    @Parameter( defaultValue = "${project.attachedArtifacts}", readonly = true, required = true )
     private List attachedArtifacts;
 
     /**
      * Local Maven settings.
-     * 
-     * @parameter expression="${settings}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${settings}", readonly = true, required = true )
     private Settings settings;
 
     /**
      * The Wagon manager.
-     * 
-     * @component
      */
+    @Component
     private WagonManager m_wagonManager;
 
     /**

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeployFile.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeployFile.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeployFile.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrDeployFile.java Mon Mar  9 13:57:23 2015
@@ -28,6 +28,11 @@ import org.apache.maven.artifact.manager
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.settings.Settings;
 
@@ -35,89 +40,71 @@ import org.apache.maven.settings.Setting
 /**
  * Deploys bundle details to a remote OBR repository (command-line goal)
  * 
- * @requiresProject false
- * @goal deploy-file
- * @phase deploy
- * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
+@Mojo( name = "deploy-file", requiresProject = false )
+@Execute( phase = LifecyclePhase.DEPLOY )
 public final class ObrDeployFile extends AbstractFileMojo
 {
     /**
      * When true, ignore remote locking.
-     * 
-     * @parameter expression="${ignoreLock}"
      */
+    @Parameter( property = "ignoreLock" )
     private boolean ignoreLock;
 
     /**
      * Remote OBR Repository.
-     * 
-     * @parameter expression="${remoteOBR}"
      */
+    @Parameter( property = "remoteOBR" )
     private String remoteOBR;
 
     /**
      * Local OBR Repository.
-     * 
-     * @parameter expression="${obrRepository}"
      */
+    @Parameter( property = "obrRepository" )
     private String obrRepository;
 
     /**
      * Project types which this plugin supports.
-     *
-     * @parameter
      */
+    @Parameter
     private List supportedProjectTypes = Arrays.asList( new String[]
         { "jar", "bundle" } );
 
     /**
      * Remote repository id, used to lookup authentication settings.
-     *
-     * @parameter expression="${repositoryId}" default-value="remote-repository"
-     * @required
      */
+    @Parameter( property = "repositoryId", defaultValue = "remote-repository", required = true )
     private String repositoryId;
 
     /**
      * Remote OBR repository URL, where the bundle details are to be uploaded.
-     *
-     * @parameter expression="${url}"
-     * @required
      */
+    @Parameter( property = "url", required = true )
     private String url;
 
     /**
      * Optional public URL where the bundle has been deployed.
-     *
-     * @parameter expression="${bundleUrl}"
      */
+    @Parameter( property = "bundleUrl" )
     private String bundleUrl;
 
     /**
      * Local Repository.
-     * 
-     * @parameter expression="${localRepository}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
     private ArtifactRepository localRepository;
 
     /**
      * Local Maven settings.
-     * 
-     * @parameter expression="${settings}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${settings}", readonly = true, required = true )
     private Settings settings;
 
     /**
      * The Wagon manager.
-     * 
-     * @component
      */
+    @Component
     private WagonManager m_wagonManager;
 
 

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrIndex.java Mon Mar  9 13:57:23 2015
@@ -38,47 +38,41 @@ import org.apache.maven.artifact.reposit
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 
 
 /**
  * Index the content of a maven repository using OBR
  *
- * @goal index
- * @requiresProject false
- *
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
+@Mojo( name = "index", requiresProject = false )
 public final class ObrIndex extends AbstractMojo
 {
 
     /**
      * OBR Repository.
-     *
-     * @parameter expression="${obrRepository}"
      */
+    @Parameter( property = "obrRepository" )
     private String obrRepository;
 
     /**
      * Template for urls
-     *
-     * @parameter expression="${urlTemplate}"
      */
+    @Parameter( property = "urlTemplate" )
     private String urlTemplate;
 
     /**
      * The repository to index
-     *
-     * @parameter expression="${mavenRepository}
      */
+    @Parameter( property = "mavenRepository" )
     private String mavenRepository;
 
     /**
      * Local Repository.
-     *
-     * @parameter expression="${localRepository}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
     private ArtifactRepository localRepository;
 
 

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstall.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstall.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstall.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstall.java Mon Mar  9 13:57:23 2015
@@ -29,58 +29,48 @@ import org.apache.maven.artifact.reposit
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 
 
 /**
  * Installs bundle details in the local OBR repository (life-cycle goal)
  * 
- * @goal install
- * @phase install
- * @threadSafe
- * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
+@Mojo( name = "install", threadSafe = true )
+@Execute( phase = LifecyclePhase.INSTALL )
 public final class ObrInstall extends AbstractMojo
 {
     /**
      * OBR Repository.
-     * 
-     * @parameter expression="${obrRepository}"
      */
+    @Parameter( property = "obrRepository" )
     private String obrRepository;
 
     /**
      * Project types which this plugin supports.
-     *
-     * @parameter
      */
+    @Parameter
     private List supportedProjectTypes = Arrays.asList( new String[]
         { "jar", "bundle" } );
 
     /**
      * Local Repository.
-     * 
-     * @parameter expression="${localRepository}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
     private ArtifactRepository localRepository;
 
     /**
      * The Maven project.
-     * 
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${project}", readonly = true, required = true )
     private MavenProject project;
 
-    /**
-     * @parameter expression="${project.attachedArtifacts}
-     * @required
-     * @readonly
-     */
+    @Parameter( defaultValue = "${project.attachedArtifacts}", readonly = true, required = true )
     private List attachedArtifacts;
 
     /**

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstallFile.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstallFile.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstallFile.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrInstallFile.java Mon Mar  9 13:57:23 2015
@@ -26,42 +26,39 @@ import java.util.List;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 
 
 /**
  * Installs bundle details in the local OBR repository (command-line goal)
  * 
- * @requiresProject false
- * @goal install-file
- * @phase install
- * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
+@Mojo( name = "install-file", requiresProject = false )
+@Execute( phase = LifecyclePhase.INSTALL )
 public final class ObrInstallFile extends AbstractFileMojo
 {
     /**
      * OBR Repository.
-     * 
-     * @parameter expression="${obrRepository}"
      */
+    @Parameter( property = "obrRepository" )
     private String obrRepository;
 
     /**
      * Project types which this plugin supports.
-     *
-     * @parameter
      */
+    @Parameter
     private List supportedProjectTypes = Arrays.asList( new String[]
         { "jar", "bundle" } );
 
     /**
      * Local Repository.
-     * 
-     * @parameter expression="${localRepository}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
     private ArtifactRepository localRepository;
 
 

Modified: felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrRemoteClean.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrRemoteClean.java?rev=1665239&r1=1665238&r2=1665239&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrRemoteClean.java (original)
+++ felix/trunk/bundleplugin/src/main/java/org/apache/felix/obrplugin/ObrRemoteClean.java Mon Mar  9 13:57:23 2015
@@ -53,6 +53,11 @@ import org.apache.maven.artifact.reposit
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Execute;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.settings.Settings;
 import org.w3c.dom.Document;
@@ -66,99 +71,77 @@ import org.xml.sax.SAXException;
  * Clean a remote repository file.
  * It just looks for every resources and check that pointed file exists.
  * 
- * @requiresProject false
- * @goal remote-clean
- * @phase clean
- * 
  * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
  */
+@Mojo( name = "remote-clean", requiresProject = false )
+@Execute( phase = LifecyclePhase.CLEAN )
 public final class ObrRemoteClean extends AbstractMojo
 {
     /**
      * When true, ignore remote locking.
-     * 
-     * @parameter expression="${ignoreLock}"
      */
+    @Parameter( property = "ignoreLock" )
     private boolean ignoreLock;
 
     /**
      * Optional public URL prefix for the remote repository.
-     *
-     * @parameter expression="${prefixUrl}"
      */
+    @Parameter( property = "prefixUrl" )
     private String prefixUrl;
 
     /**
      * Remote OBR Repository.
-     * 
-     * @parameter expression="${remoteOBR}" default-value="NONE"
      */
+    @Parameter( property = "remoteOBR", defaultValue = "NONE" )
     private String remoteOBR;
 
     /**
      * Local OBR Repository.
-     * 
-     * @parameter expression="${obrRepository}"
      */
+    @Parameter( property = "obrRepository" )
     private String obrRepository;
 
     /**
      * Project types which this plugin supports.
-     *
-     * @parameter
      */
+    @Parameter
     private List supportedProjectTypes = Arrays.asList( new String[]
         { "jar", "bundle" } );
 
-    /**
-     * @parameter expression="${project.distributionManagementArtifactRepository}"
-     * @readonly
-     */
+    @Parameter( defaultValue = "${project.distributionManagementArtifactRepository}", readonly = true )
     private ArtifactRepository deploymentRepository;
 
     /**
      * Alternative deployment repository. Format: id::layout::url
-     * 
-     * @parameter expression="${altDeploymentRepository}"
      */
+    @Parameter( property = "altDeploymentRepository" )
     private String altDeploymentRepository;
 
     /**
      * OBR specific deployment repository. Format: id::layout::url
-     *
-     * @parameter expression="${obrDeploymentRepository}"
      */
+    @Parameter( property = "obrDeploymentRepository" )
     private String obrDeploymentRepository;
 
-    /**
-     * @parameter default-value="${settings.interactiveMode}"
-     * @readonly
-     */
+    @Parameter( defaultValue = "${settings.interactiveMode}", readonly = true )
     private boolean interactive;
 
     /**
      * The Maven project.
-     * 
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${project}", readonly = true, required = true )
     private MavenProject project;
 
     /**
      * Local Maven settings.
-     * 
-     * @parameter expression="${settings}"
-     * @required
-     * @readonly
      */
+    @Parameter( defaultValue = "${settings}", readonly = true, required = true )
     private Settings settings;
 
     /**
      * The Wagon manager.
-     * 
-     * @component
      */
+    @Component
     private WagonManager m_wagonManager;