You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2019/01/11 22:09:06 UTC
[camel] 01/13: Upgrade maven plugins to maven 3.x
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 3e3790365d9a807eedabd81392e4a76a818723de
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Nov 29 22:23:08 2018 +0000
Upgrade maven plugins to maven 3.x
---
tooling/maven/bom-generator-maven-plugin/pom.xml | 18 +++--
.../maven/bom/generator/BomGeneratorMojo.java | 49 ++++---------
.../maven/camel-api-component-maven-plugin/pom.xml | 8 +--
.../pom.xml | 8 ---
tooling/maven/camel-maven-plugin/pom.xml | 26 ++++++-
.../java/org/apache/camel/maven/EmbeddedMojo.java | 29 +++-----
.../org/apache/camel/maven/RouteCoverageMojo.java | 26 +++----
.../main/java/org/apache/camel/maven/RunMojo.java | 68 +++++++-----------
.../java/org/apache/camel/maven/ValidateMojo.java | 56 +++++----------
tooling/maven/camel-package-maven-plugin/pom.xml | 6 +-
.../packaging/PackageArchetypeCatalogMojo.java | 22 +++---
.../maven/packaging/PackageComponentMojo.java | 23 +++---
.../maven/packaging/PackageDataFormatMojo.java | 26 +++----
.../camel/maven/packaging/PackageLanguageMojo.java | 26 +++----
.../camel/maven/packaging/PackageModelMojo.java | 26 +++----
.../camel/maven/packaging/PackageOtherMojo.java | 26 +++----
.../maven/packaging/PrepareCatalogKarafMojo.java | 37 ++++------
.../camel/maven/packaging/PrepareCatalogMojo.java | 60 ++++++----------
.../packaging/PrepareCatalogSpringBootMojo.java | 33 ++++-----
.../maven/packaging/PrepareComponentMojo.java | 32 ++++-----
.../camel/maven/packaging/PrepareExampleMojo.java | 18 ++---
.../camel/maven/packaging/PrepareReadmeMojo.java | 81 +++++++++-------------
.../maven/packaging/PrepareUserGuideMojo.java | 33 ++++-----
.../packaging/SpringBootAutoConfigurationMojo.java | 25 +++----
.../maven/packaging/SpringBootStarterMojo.java | 48 ++++---------
.../camel/maven/packaging/UpdateReadmeMojo.java | 29 ++++----
...pdateSpringBootAutoConfigurationReadmeMojo.java | 26 +++----
.../maven/packaging/ValidateComponentMojo.java | 26 +++----
tooling/maven/camel-restdsl-swagger-plugin/pom.xml | 4 --
tooling/parent/pom.xml | 20 +++++-
30 files changed, 355 insertions(+), 560 deletions(-)
diff --git a/tooling/maven/bom-generator-maven-plugin/pom.xml b/tooling/maven/bom-generator-maven-plugin/pom.xml
index f70e438..ea8b50a 100644
--- a/tooling/maven/bom-generator-maven-plugin/pom.xml
+++ b/tooling/maven/bom-generator-maven-plugin/pom.xml
@@ -47,6 +47,14 @@
<dependencies>
<dependency>
+ <groupId>org.apache.maven.resolver</groupId>
+ <artifactId>maven-resolver-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.resolver</groupId>
+ <artifactId>maven-resolver-util</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</dependency>
@@ -59,16 +67,12 @@
<artifactId>maven-plugin-api</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-descriptor</artifactId>
+ <groupId>org.apache.maven.plugin-tools</groupId>
+ <artifactId>maven-plugin-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.shared</groupId>
- <artifactId>maven-dependency-tree</artifactId>
+ <artifactId>maven-compat</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
diff --git a/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java b/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
index c309cab..aeda649 100644
--- a/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
+++ b/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
@@ -43,7 +43,6 @@ import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
-
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -62,91 +61,71 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
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.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
/**
* Generate BOM by flattening the current project's dependency management section and applying exclusions.
- *
- * @goal generate
- * @phase validate
- * @threadSafe
*/
+@Mojo(name = "generate", defaultPhase = LifecyclePhase.VALIDATE, threadSafe = true)
public class BomGeneratorMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(defaultValue = "${project}", readonly = true)
protected MavenProject project;
/**
* The source pom template file.
- *
- * @parameter default-value="${basedir}/pom.xml"
*/
+ @Parameter(defaultValue = "${basedir}/pom.xml")
protected File sourcePom;
/**
* The pom file.
- *
- * @parameter default-value="${project.build.directory}/${project.name}-pom.xml"
*/
+ @Parameter(defaultValue = "${project.build.directory}/${project.name}-pom.xml")
protected File targetPom;
/**
* The user configuration
- *
- * @parameter
- * @readonly
*/
+ @Parameter(readonly = true)
protected DependencySet dependencies;
/**
* The conflict checks configured by the user
- *
- * @parameter
- * @readonly
*/
+ @Parameter(readonly = true)
protected ExternalBomConflictCheckSet checkConflicts;
/**
* Used to look up Artifacts in the remote repository.
- *
- * @component role="org.apache.maven.artifact.factory.ArtifactFactory"
- * @required
- * @readonly
*/
+ @Component
protected ArtifactFactory artifactFactory;
/**
* Used to look up Artifacts in the remote repository.
- *
- * @component role="org.apache.maven.artifact.resolver.ArtifactResolver"
- * @required
- * @readonly
*/
+ @Component
protected ArtifactResolver artifactResolver;
/**
* List of Remote Repositories used by the resolver
- *
- * @parameter property="project.remoteArtifactRepositories"
- * @readonly
- * @required
*/
+ @Parameter(property = "project.remoteArtifactRepositories", readonly = true, required = true)
protected List remoteRepositories;
/**
* Location of the local repository.
- *
- * @parameter property="localRepository"
- * @readonly
- * @required
*/
+ @Parameter(property = "localRepository", readonly = true, required = true)
protected ArtifactRepository localRepository;
@Override
diff --git a/tooling/maven/camel-api-component-maven-plugin/pom.xml b/tooling/maven/camel-api-component-maven-plugin/pom.xml
index 62a28a1..9f51fe0 100644
--- a/tooling/maven/camel-api-component-maven-plugin/pom.xml
+++ b/tooling/maven/camel-api-component-maven-plugin/pom.xml
@@ -73,12 +73,8 @@
<artifactId>maven-plugin-api</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-descriptor</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
+ <groupId>org.apache.maven.reporting</groupId>
+ <artifactId>maven-reporting-api</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
diff --git a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
index 599b383..4e34366 100644
--- a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
+++ b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
@@ -59,14 +59,6 @@
<artifactId>maven-plugin-api</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-descriptor</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
- </dependency>
- <dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
</dependency>
diff --git a/tooling/maven/camel-maven-plugin/pom.xml b/tooling/maven/camel-maven-plugin/pom.xml
index 2752aae..2c8197b 100644
--- a/tooling/maven/camel-maven-plugin/pom.xml
+++ b/tooling/maven/camel-maven-plugin/pom.xml
@@ -31,8 +31,24 @@
<name>Camel :: Maven Plugins :: Camel Maven Run</name>
<description>Maven plugin to run Camel standalone</description>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>tooling-parent</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ </dependency>
<!-- we extend the exec-maven-plugin for this camel maven plugin -->
<dependency>
<groupId>org.codehaus.mojo</groupId>
@@ -44,11 +60,17 @@
</exclusion>
</exclusions>
</dependency>
- <!-- As Camel requires Maven 3.x we can depend on an updated version of the plugin API -->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
- <version>3.1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.plugin-tools</groupId>
+ <artifactId>maven-plugin-annotations</artifactId>
</dependency>
<dependency>
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
index 3d775e1..eadd797 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
@@ -27,6 +27,10 @@ import java.util.Arrays;
import java.util.List;
import org.apache.maven.plugin.MojoExecutionException;
+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.mojo.exec.AbstractExecMojo;
/**
@@ -34,53 +38,40 @@ import org.codehaus.mojo.exec.AbstractExecMojo;
* <code>META-INF/spring/*.xml</code> and <code>camel-*.xml</code>
* and starting up the context; then generating
* the DOT file before closing the context down.
- *
- * @goal embedded
- * @requiresDependencyResolution compile+runtime
- * @execute phase="prepare-package"
*/
+@Mojo(name = "embedded", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
public class EmbeddedMojo extends AbstractExecMojo {
/**
* The duration to run the application for which by default is in milliseconds.
* A value <= 0 will run forever.
* Adding a s indicates seconds - eg "5s" means 5 seconds.
- *
- * @parameter property="camel.duration"
- * default-value="-1"
*/
+ @Parameter(property = "camel.duration", defaultValue = "-1")
protected String duration;
/**
* The classpath based application context uri that spring wants to get.
- *
- * @parameter property="camel.applicationContextUri"
*/
+ @Parameter(property = "camel.applicationContextUri")
protected String applicationContextUri;
/**
* The filesystem based application context uri that spring wants to get.
- *
- * @parameter property="camel.fileApplicationContextUri"
*/
+ @Parameter(property = "camel.fileApplicationContextUri")
protected String fileApplicationContextUri;
/**
* Project classpath.
- *
- * @parameter property="project.testClasspathElements"
- * @required
- * @readonly
*/
+ @Parameter(property = "project.testClasspathElements", required = true, readonly = true)
private List<?> classpathElements;
/**
* The main class to execute.
- *
- * @parameter property="camel.mainClass"
- * default-value="org.apache.camel.spring.Main"
- * @required
*/
+ @Parameter(property = "camel.mainClass", defaultValue = "org.apache.camel.spring.Main", required = true)
private String mainClass;
/**
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
index 0cb6c00..6899093 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
@@ -44,6 +44,8 @@ import org.apache.camel.util.FileUtil;
import org.apache.maven.model.Resource;
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.codehaus.mojo.exec.AbstractExecMojo;
import org.jboss.forge.roaster.Roaster;
@@ -52,19 +54,14 @@ import org.jboss.forge.roaster.model.source.JavaClassSource;
/**
* Performs route coverage reports after running Camel unit tests with camel-test modules
- *
- * @goal route-coverage
- * @threadSafe
*/
+@Mojo(name = "route-coverage", threadSafe = true)
public class RouteCoverageMojo extends AbstractExecMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
@@ -76,6 +73,7 @@ public class RouteCoverageMojo extends AbstractExecMojo {
* @parameter property="camel.failOnError"
* default-value="false"
*/
+ @Parameter(property = "camel.failOnError", defaultValue = "false")
private boolean failOnError;
/**
@@ -88,26 +86,22 @@ public class RouteCoverageMojo extends AbstractExecMojo {
/**
* Whether to include test source code
- *
- * @parameter property="camel.includeTest"
- * default-value="false"
*/
+ @Parameter(property = "camel.includeTest", defaultValue = "false")
private boolean includeTest;
/**
* To filter the names of java and xml files to only include files matching any of the given list of patterns (wildcard and regular expression).
* Multiple values can be separated by comma.
- *
- * @parameter property="camel.includes"
*/
+ @Parameter(property = "camel.includes")
private String includes;
/**
* To filter the names of java and xml files to exclude files matching any of the given list of patterns (wildcard and regular expression).
* Multiple values can be separated by comma.
- *
- * @parameter property="camel.excludes"
*/
+ @Parameter(property = "camel.excludes")
private String excludes;
/**
@@ -115,10 +109,8 @@ public class RouteCoverageMojo extends AbstractExecMojo {
* By using route id's then its safer to match the route cover data with the route source code.
* Anonymous routes are less safe to use for route coverage as its harder to know
* exactly which route that was tested corresponds to which of the routes from the source code.
- *
- * @parameter property="camel.anonymousRoutes"
- * default-value="false"
*/
+ @Parameter(property = "camel.anonymousRoutes", defaultValue = "false")
private boolean anonymousRoutes;
// CHECKSTYLE:OFF
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
index 07126f0..e3ee3ba 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
@@ -37,6 +37,7 @@ import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -50,22 +51,25 @@ import org.apache.maven.model.Resource;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugins.annotations.Component;
+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.artifact.MavenMetadataSource;
import org.codehaus.mojo.exec.AbstractExecMojo;
import org.codehaus.mojo.exec.ExecutableDependency;
import org.codehaus.mojo.exec.Property;
+import org.eclipse.aether.RepositorySystem;
/**
* Runs a CamelContext using any Spring or Blueprint XML configuration files found in
* <code>META-INF/spring/*.xml</code>, and <code>OSGI-INF/blueprint/*.xml</code>,
* and <code>camel-*.xml</code> and starting up the context.
- *
- * @goal run
- * @requiresDependencyResolution compile+runtime
- * @execute phase="prepare-package"
*/
+@Mojo(name = "run", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
public class RunMojo extends AbstractExecMojo {
// this code is based on a copy-and-paste of maven-exec-plugin
@@ -81,87 +85,63 @@ public class RunMojo extends AbstractExecMojo {
* @required
* @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* Sets the time duration (seconds) that the application will run for before terminating.
* A value <= 0 will run forever.
- *
- * @parameter property="camel.duration"
- * default-value="-1"
- *
*/
+ @Parameter(property = "camel.duration", defaultValue = "-1")
protected String duration;
/**
* Sets the idle time duration (seconds) duration that the application can be idle before terminating.
* A value <= 0 will run forever.
- *
- * @parameter property="camel.durationIdle"
- * default-value="-1"
- *
*/
+ @Parameter(property = "camel.durationIdle", defaultValue = "-1")
protected String durationIdle;
/**
* Sets the duration of maximum number of messages that the application will process before terminating.
- *
- * @parameter property="camel.duration.maxMessages"
- * default-value="-1"
- *
*/
+ @Parameter(property = "camel.duration.maxMessages", defaultValue = "-1")
protected String durationMaxMessages;
/**
* Whether to log the classpath when starting
- *
- * @parameter property="camel.logClasspath"
- * default-value="false"
*/
+ @Parameter(property = "camel.logClasspath", defaultValue = "false")
protected boolean logClasspath;
/**
* Whether to use Blueprint when running, instead of Spring
- *
- * @parameter property="camel.useBlueprint"
*/
+ @Parameter(property = "camel.useBlueprint")
protected Boolean useBlueprint;
/**
* Whether to use CDI when running, instead of Spring
- *
- * @parameter property="camel.useCDI"
*/
+ @Parameter(property = "camel.useCDI")
protected Boolean useCDI;
protected String extendedPluginDependencyArtifactId;
- /**
- * @component
- */
+ @Component
private ArtifactResolver artifactResolver;
- /**
- * @component
- */
+ @Component
private ArtifactFactory artifactFactory;
- /**
- * @component
- */
+ @Component
private ArtifactMetadataSource metadataSource;
- /**
- * @parameter property="localRepository"
- * @required
- * @readonly
- */
+ @Parameter(property = "localRepository")
private ArtifactRepository localRepository;
- /**
- * @parameter property="project.remoteArtifactRepositories"
- */
- private List<?> remoteRepositories;
+ @Parameter(property = "project.remoteArtifactRepositories")
+ private List remoteRepositories;
/**
* @component
@@ -1058,12 +1038,12 @@ public class RunMojo extends AbstractExecMojo {
this.localRepository);
// get all of the dependencies for the executable project
- List<Artifact> dependencies = CastUtils.cast(executableProject.getDependencies());
+ List<Dependency> dependencies = executableProject.getDependencies();
// make Artifacts of all the dependencies
Set<Artifact> dependencyArtifacts
- = CastUtils.cast(MavenMetadataSource.createArtifacts(this.artifactFactory, dependencies,
- null, null, null));
+ = MavenMetadataSource.createArtifacts(this.artifactFactory, dependencies,
+ null, null, null);
// not forgetting the Artifact of the project itself
dependencyArtifacts.add(executableProject.getArtifact());
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
index 2115425..89024c6 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
@@ -42,6 +42,8 @@ import org.apache.maven.model.Dependency;
import org.apache.maven.model.Resource;
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.codehaus.mojo.exec.AbstractExecMojo;
import org.jboss.forge.roaster.Roaster;
@@ -50,99 +52,84 @@ import org.jboss.forge.roaster.model.source.JavaClassSource;
/**
* Parses the source code and validates the Camel routes has valid endpoint uris and simple expressions.
- *
- * @goal validate
- * @threadSafe
*/
+@Mojo(name = "validate", threadSafe = true)
public class ValidateMojo extends AbstractExecMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* Whether to fail if invalid Camel endpoints was found. By default the plugin logs the errors at WARN level
*
- * @parameter property="camel.failOnError"
- * default-value="false"
*/
+ @Parameter(property = "camel.failOnError", defaultValue = "false")
private boolean failOnError;
/**
* Whether to log endpoint URIs which was un-parsable and therefore not possible to validate
*
- * @parameter property="camel.logUnparseable"
- * default-value="false"
*/
+ @Parameter(property = "camel.logUnparseable", defaultValue = "false")
private boolean logUnparseable;
/**
* Whether to include Java files to be validated for invalid Camel endpoints
*
- * @parameter property="camel.includeJava"
- * default-value="true"
*/
+ @Parameter(property = "camel.includeJava", defaultValue = "true")
private boolean includeJava;
/**
* Whether to include XML files to be validated for invalid Camel endpoints
*
- * @parameter property="camel.includeXml"
- * default-value="true"
*/
+ @Parameter(property = "camel.includeXml", defaultValue = "true")
private boolean includeXml;
/**
* Whether to include test source code
*
- * @parameter property="camel.includeTest"
- * default-value="false"
*/
+ @Parameter(property = "camel.includeTest", defaultValue = "false")
private boolean includeTest;
/**
* To filter the names of java and xml files to only include files matching any of the given list of patterns (wildcard and regular expression).
* Multiple values can be separated by comma.
- *
- * @parameter property="camel.includes"
*/
+ @Parameter(property = "camel.includes")
private String includes;
/**
* To filter the names of java and xml files to exclude files matching any of the given list of patterns (wildcard and regular expression).
* Multiple values can be separated by comma.
- *
- * @parameter property="camel.excludes"
*/
+ @Parameter(property = "camel.excludes")
private String excludes;
/**
* Whether to ignore unknown components
*
- * @parameter property="camel.ignoreUnknownComponent"
- * default-value="true"
*/
+ @Parameter(property = "camel.ignoreUnknownComponent", defaultValue = "true")
private boolean ignoreUnknownComponent;
/**
* Whether to ignore incapable of parsing the endpoint uri
*
- * @parameter property="camel.ignoreIncapable"
- * default-value="true"
*/
+ @Parameter(property = "camel.ignoreIncapable", defaultValue = "true")
private boolean ignoreIncapable;
/**
* Whether to ignore deprecated options being used in the endpoint uri
*
- * @parameter property="camel.ignoreDeprecated"
- * default-value="true"
*/
+ @Parameter(property = "camel.ignoreDeprecated", defaultValue = "true")
private boolean ignoreDeprecated;
/**
@@ -150,43 +137,38 @@ public class ValidateMojo extends AbstractExecMojo {
* but would fail on properties that are not part of the component but in the uri because of using lenient properties.
* For example using the HTTP components to provide query parameters in the endpoint uri.
*
- * @parameter property="camel.ignoreLenientProperties"
- * default-value="true"
*/
+ @Parameter(property = "camel.ignoreLenientProperties", defaultValue = "true")
private boolean ignoreLenientProperties;
/**
* Whether to show all endpoints and simple expressions (both invalid and valid).
*
- * @parameter property="camel.showAll"
- * default-value="false"
*/
+ @Parameter(property = "camel.showAll", defaultValue = "false")
private boolean showAll;
/**
* Whether to allow downloading Camel catalog version from the internet. This is needed if the project
* uses a different Camel version than this plugin is using by default.
*
- * @parameter property="camel.downloadVersion"
- * default-value="true"
*/
+ @Parameter(property = "camel.downloadVersion", defaultValue = "true")
private boolean downloadVersion;
/**
* Whether to validate for duplicate route ids. Route ids should be unique and if there are duplicates
* then Camel will fail to startup.
*
- * @parameter property="camel.duplicateRouteId"
- * default-value="true"
*/
+ @Parameter(property = "camel.duplicateRouteId", defaultValue = "true")
private boolean duplicateRouteId;
/**
* Whether to validate direct/seda endpoints sending to non existing consumers.
*
- * @parameter property="camel.directOrSedaPairCheck"
- * default-value="true"
*/
+ @Parameter(property = "camel.directOrSedaPairCheck", defaultValue = "true")
private boolean directOrSedaPairCheck;
// CHECKSTYLE:OFF
diff --git a/tooling/maven/camel-package-maven-plugin/pom.xml b/tooling/maven/camel-package-maven-plugin/pom.xml
index c8c540a..b2019a8 100644
--- a/tooling/maven/camel-package-maven-plugin/pom.xml
+++ b/tooling/maven/camel-package-maven-plugin/pom.xml
@@ -72,12 +72,12 @@
<artifactId>maven-plugin-api</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-descriptor</artifactId>
+ <groupId>org.apache.maven.plugin-tools</groupId>
+ <artifactId>maven-plugin-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
- <artifactId>maven-project</artifactId>
+ <artifactId>maven-compat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
index ab3c3bf..a937146 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
@@ -28,6 +28,9 @@ import org.apache.maven.plugin.AbstractMojo;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
@@ -35,41 +38,32 @@ import static org.apache.camel.maven.packaging.StringHelper.between;
/**
* Creates the Maven catalog for the Camel archetypes
- *
- * @goal generate-and-attach-archetype-catalog
- * @threadSafe
*/
+@Mojo(name = "generate-and-attach-archetype-catalog", threadSafe = true)
public class PackageArchetypeCatalogMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The output directory for generated components file
- *
- * @parameter default-value="${project.build.directory}/classes/"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/")
protected File outDir;
/**
* The build directory
- *
- * @parameter default-value="${project.build.directory}"
*/
+ @Parameter(defaultValue = "${project.build.directory}")
protected File projectBuildDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
index 2282205..7cda938 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
@@ -29,49 +29,42 @@ import org.apache.maven.plugin.AbstractMojo;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.sonatype.plexus.build.incremental.BuildContext;
/**
* Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-components-list
- * @threadSafe
*/
+@Mojo(name = "generate-components-list", threadSafe = true)
public class PackageComponentMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The output directory for generated components file
- *
- * @parameter default-value="${project.build.directory}/generated/camel/components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/components")
protected File componentOutDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
* build context to check changed files and mark them for refresh (used for
* m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
index 6a2d9a8..2437834 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
@@ -36,6 +36,9 @@ import org.apache.maven.plugin.AbstractMojo;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.sonatype.plexus.build.incremental.BuildContext;
@@ -46,50 +49,39 @@ import static org.apache.camel.maven.packaging.PackageHelper.parseAsMap;
/**
* Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-dataformats-list
- * @threadSafe
*/
+@Mojo(name = "generate-dataformats-list", threadSafe = true)
public class PackageDataFormatMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The output directory for generated dataformats file
- *
- * @parameter default-value="${project.build.directory}/generated/camel/dataformats"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/dataformats")
protected File dataFormatOutDir;
/**
* The output directory for generated dataformats file
- *
- * @parameter default-value="${project.build.directory}/classes"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes")
protected File schemaOutDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
* build context to check changed files and mark them for refresh (used for
* m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
index 40ddff1..031d464 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
@@ -36,6 +36,9 @@ import org.apache.maven.plugin.AbstractMojo;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.sonatype.plexus.build.incremental.BuildContext;
@@ -46,50 +49,39 @@ import static org.apache.camel.maven.packaging.PackageHelper.parseAsMap;
/**
* Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-languages-list
- * @threadSafe
*/
+@Mojo(name = "generate-languages-list", threadSafe = true)
public class PackageLanguageMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The output directory for generated languages file
- *
- * @parameter default-value="${project.build.directory}/generated/camel/languages"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/languages")
protected File languageOutDir;
/**
* The output directory for generated languages file
- *
- * @parameter default-value="${project.build.directory}/classes"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes")
protected File schemaOutDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
* build context to check changed files and mark them for refresh
* (used for m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
index 909ccb4..f2d40a5 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
@@ -32,56 +32,48 @@ import org.apache.maven.plugin.AbstractMojo;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.sonatype.plexus.build.incremental.BuildContext;
/**
* Analyses the Camel EIPs in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-eips-list
- * @threadSafe
*/
+@Mojo(name = "generate-eips-list", threadSafe = true)
public class PackageModelMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The camel-core directory
- *
- * @parameter default-value="${project.build.directory}"
*/
+ @Parameter(defaultValue = "${project.build.directory}")
protected File buildDir;
/**
* The output directory for generated models file
- *
- * @parameter default-value="${project.build.directory}/generated/camel/models"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/models")
protected File outDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
* build context to check changed files and mark them for refresh
* (used for m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
index c654b51..704e013 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
@@ -29,6 +29,9 @@ import org.apache.maven.plugin.AbstractMojo;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.sonatype.plexus.build.incremental.BuildContext;
@@ -37,50 +40,39 @@ import static org.apache.camel.maven.packaging.StringHelper.camelDashToTitle;
/**
* Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-others-list
- * @threadSafe
*/
+@Mojo(name = "generate-others-list", threadSafe = true)
public class PackageOtherMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The output directory for generated components file
- *
- * @parameter default-value="${project.build.directory}/generated/camel/others"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/others")
protected File otherOutDir;
/**
* The output directory for generated languages file
- *
- * @parameter default-value="${project.build.directory}/classes"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes")
protected File schemaOutDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
* build context to check changed files and mark them for refresh (used for
* m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
index 3db3d78..e9e1e05 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
@@ -41,6 +41,9 @@ import static org.w3c.dom.Node.ELEMENT_NODE;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
@@ -48,78 +51,64 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
/**
* Prepares the Karaf provider camel catalog to include component it supports
- *
- * @goal prepare-catalog-karaf
- * @threadSafe
*/
+@Mojo(name = "prepare-catalog-karaf", threadSafe = true)
public class PrepareCatalogKarafMojo extends AbstractMojo {
public static final int BUFFER_SIZE = 128 * 1024;
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The output directory for components catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/components")
protected File componentsOutDir;
/**
* The output directory for dataformats catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/dataformats"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/dataformats")
protected File dataFormatsOutDir;
/**
* The output directory for languages catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/languages"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/languages")
protected File languagesOutDir;
/**
* The output directory for others catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/others"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/others")
protected File othersOutDir;
/**
* The karaf features directory
- *
- * @parameter default-value="${project.build.directory}/../../../platforms/karaf/features/src/main/resources/"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../platforms/karaf/features/src/main/resources/")
protected File featuresDir;
/**
* The components directory where all the Apache Camel components are
- *
- * @parameter default-value="${project.build.directory}/../../../components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../components")
protected File componentsDir;
/**
* The camel-core directory where camel-core components are
- *
- * @parameter default-value="${project.build.directory}/../../../camel-core"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
protected File coreDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
index 37db597..8481e8e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
@@ -38,6 +38,9 @@ import org.apache.commons.io.FileUtils;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.asciidoctor.Asciidoctor;
@@ -48,10 +51,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
/**
* Prepares the camel catalog to include component, data format, and eip descriptors,
* and generates a report.
- *
- * @goal prepare-catalog
- * @threadSafe
*/
+@Mojo(name = "prepare-catalog", threadSafe = true)
public class PrepareCatalogMojo extends AbstractMojo {
public static final int BUFFER_SIZE = 128 * 1024;
@@ -67,124 +68,105 @@ public class PrepareCatalogMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* Whether to validate if the components, data formats, and languages are properly documented and have all the needed details.
- *
- * @parameter default-value="true"
*/
+ @Parameter(defaultValue = "true")
protected Boolean validate;
/**
* The output directory for components catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
protected File componentsOutDir;
/**
* The output directory for dataformats catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
protected File dataFormatsOutDir;
/**
* The output directory for languages catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
protected File languagesOutDir;
/**
* The output directory for others catalog
*
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
protected File othersOutDir;
/**
* The output directory for documents catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/docs"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/docs")
protected File documentsOutDir;
/**
* The output directory for models catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/models"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/models")
protected File modelsOutDir;
/**
* The output directory for archetypes catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/archetypes"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/archetypes")
protected File archetypesOutDir;
/**
* The output directory for XML schemas catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/schemas"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/schemas")
protected File schemasOutDir;
/**
* The components directory where all the Apache Camel components are
- *
- * @parameter default-value="${project.build.directory}/../../../components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../components")
protected File componentsDir;
/**
* The camel-core directory where camel-core components are
- *
- * @parameter default-value="${project.build.directory}/../../../camel-core"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
protected File coreDir;
/**
* The directory where the camel-spring XML models are
- *
- * @parameter default-value="${project.build.directory}/../../../components/camel-spring"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-spring")
protected File springDir;
/**
* The archetypes directory where all the Apache Camel Maven archetypes are
- *
- * @parameter default-value="${project.build.directory}/../../../archetypes"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../archetypes")
protected File archetypesDir;
/**
* The directory where the camel-spring XML schema are
- *
- * @parameter default-value="${project.build.directory}/../../../components/camel-spring/target/schema"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-spring/target/schema")
protected File springSchemaDir;
/**
* The directory where the camel-blueprint XML schema are
- *
- * @parameter default-value="${project.build.directory}/../../../components/camel-blueprint/target/schema"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-blueprint/target/schema")
protected File blueprintSchemaDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
index afdf684..c8638db 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
@@ -33,6 +33,9 @@ import java.util.regex.Pattern;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
@@ -40,10 +43,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
/**
* Prepares the Spring Boot provider camel catalog to include component it supports
- *
- * @goal prepare-catalog-springboot
- * @threadSafe
*/
+@Mojo(name = "prepare-catalog-springboot", threadSafe = true)
public class PrepareCatalogSpringBootMojo extends AbstractMojo {
public static final int BUFFER_SIZE = 128 * 1024;
@@ -52,68 +53,60 @@ public class PrepareCatalogSpringBootMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The output directory for components catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/components")
protected File componentsOutDir;
/**
* The output directory for dataformats catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/dataformats"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/dataformats")
protected File dataFormatsOutDir;
/**
* The output directory for languages catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/languages"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/languages")
protected File languagesOutDir;
/**
* The output directory for others catalog
*
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/others"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/others")
protected File othersOutDir;
/**
* The directory where all spring-boot starters are
*
- * @parameter default-value="${project.build.directory}/../../../platforms/spring-boot/components-starter"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../platforms/spring-boot/components-starter")
protected File componentsStarterDir;
/**
* The components directory where all the Apache Camel components are
*
- * @parameter default-value="${project.build.directory}/../../../components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../components")
protected File componentsDir;
/**
* The camel-core directory where camel-core components are
*
- * @parameter default-value="${project.build.directory}/../../../camel-core"
*/
+ @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
protected File coreDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
index b3702ea..c0454ef 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
@@ -21,6 +21,9 @@ import java.io.File;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.sonatype.plexus.build.incremental.BuildContext;
@@ -39,73 +42,64 @@ import static org.apache.camel.maven.packaging.PackageOtherMojo.prepareOthers;
* <li>others</li>
* </ul>
* And for each of those generates extra descriptors and schema files for easier auto-discovery in Camel and tooling.
- *
- * @goal prepare-components
- * @threadSafe
*/
+@Mojo(name = "prepare-components", threadSafe = true)
public class PrepareComponentMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The output directory for generated components file
*
- * @parameter default-value="${project.build.directory}/generated/camel/components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/components")
protected File componentOutDir;
/**
* The output directory for generated dataformats file
*
- * @parameter default-value="${project.build.directory}/generated/camel/dataformats"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/dataformats")
protected File dataFormatOutDir;
/**
* The output directory for generated languages file
*
- * @parameter default-value="${project.build.directory}/generated/camel/languages"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/languages")
protected File languageOutDir;
/**
* The output directory for generated others file
*
- * @parameter default-value="${project.build.directory}/generated/camel/others"
*/
+ @Parameter(defaultValue = "${project.build.directory}/generated/camel/others")
protected File otherOutDir;
/**
* The output directory for generated schema file
*
- * @parameter default-value="${project.build.directory}/classes"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes")
protected File schemaOutDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
* build context to check changed files and mark them for refresh
* (used for m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
-
+
/**
* Execute goal.
*
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
index c289bec..077a7c7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
@@ -23,6 +23,7 @@ import java.nio.charset.Charset;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
@@ -30,12 +31,14 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
-import edu.emory.mathcs.backport.java.util.Collections;
import org.apache.camel.maven.packaging.model.ExampleModel;
import org.apache.commons.io.FileUtils;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.mvel2.templates.TemplateRuntime;
@@ -45,27 +48,20 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
/**
* Prepares the readme.md files content up to date with all the examples that Apache Camel ships.
- *
- * @goal prepare-example
- * @threadSafe
*/
+@Mojo(name = "prepare-example", threadSafe = true)
public class PrepareExampleMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
index 935c601..358d2a5 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
@@ -21,6 +21,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
@@ -28,10 +29,6 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
-import static java.util.stream.Collectors.toSet;
-
-import edu.emory.mathcs.backport.java.util.Collections;
-
import org.apache.camel.maven.packaging.model.ComponentModel;
import org.apache.camel.maven.packaging.model.DataFormatModel;
import org.apache.camel.maven.packaging.model.EipModel;
@@ -40,92 +37,82 @@ import org.apache.camel.maven.packaging.model.OtherModel;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.mvel2.templates.TemplateRuntime;
+import static java.util.stream.Collectors.toSet;
import static org.apache.camel.maven.packaging.PackageHelper.loadText;
import static org.apache.camel.maven.packaging.PackageHelper.writeText;
/**
* Prepares the readme.md files content up to date with all the artifacts that Apache Camel ships.
- *
- * @goal prepare-readme
- * @threadSafe
*/
+@Mojo(name = "prepare-readme", threadSafe = true)
public class PrepareReadmeMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The directory for EIPs (model) catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/models"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/models")
protected File eipsDir;
/**
* The directory for components catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
protected File componentsDir;
/**
* The directory for data formats catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
protected File dataFormatsDir;
/**
* The directory for languages catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
protected File languagesDir;
/**
* The directory for others catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
protected File othersDir;
/**
* The directory for camel-core
- *
- * @parameter default-value="${project.directory}/../../../camel-core"
*/
+ @Parameter(defaultValue = "${project.directory}/../../../camel-core")
protected File readmeCoreDir;
/**
* The directory for components
- *
- * @parameter default-value="${project.directory}/../../../components"
*/
+ @Parameter(defaultValue = "${project.directory}/../../../components")
protected File readmeComponentsDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
* Execute goal.
*
* @throws MojoExecutionException execution of the main class or one of the
- * threads it generated failed.
+ * threads it generated failed.
* @throws MojoFailureException something bad happened...
*/
public void execute() throws MojoExecutionException, MojoFailureException {
@@ -170,8 +157,8 @@ public class PrepareReadmeMojo extends AbstractMojo {
// how many deprecated
long deprecated = models.stream()
- .filter(EipModel::isDeprecated)
- .count();
+ .filter(EipModel::isDeprecated)
+ .count();
// update the big readme file in the core dir
File file = new File(readmeCoreDir, "readme-eip.adoc");
@@ -248,13 +235,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
// how many different artifacts
int count = components.stream()
- .map(ComponentModel::getArtifactId)
- .collect(toSet()).size();
+ .map(ComponentModel::getArtifactId)
+ .collect(toSet()).size();
// how many deprecated
long deprecated = components.stream()
- .filter(c -> "true".equals(c.getDeprecated()))
- .count();
+ .filter(c -> "true".equals(c.getDeprecated()))
+ .count();
// update the big readme file in the core/components dir
File file;
@@ -305,13 +292,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
// how many different artifacts
int count = others.stream()
- .map(OtherModel::getArtifactId)
- .collect(toSet()).size();
+ .map(OtherModel::getArtifactId)
+ .collect(toSet()).size();
// how many deprecated
long deprecated = others.stream()
- .filter(o -> "true".equals(o.getDeprecated()))
- .count();
+ .filter(o -> "true".equals(o.getDeprecated()))
+ .count();
// update the big readme file in the components dir
File file = new File(readmeComponentsDir, "readme.adoc");
@@ -363,13 +350,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
// how many different artifacts
int count = models.stream()
- .map(DataFormatModel::getArtifactId)
- .collect(toSet()).size();
+ .map(DataFormatModel::getArtifactId)
+ .collect(toSet()).size();
// how many deprecated
long deprecated = models.stream()
- .filter(m -> "true".equals(m.getDeprecated()))
- .count();
+ .filter(m -> "true".equals(m.getDeprecated()))
+ .count();
// filter out camel-core
List<DataFormatModel> dataFormats = new ArrayList<>();
@@ -448,13 +435,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
// how many different artifacts
int count = languages.stream()
- .map(LanguageModel::getArtifactId)
- .collect(toSet()).size();
+ .map(LanguageModel::getArtifactId)
+ .collect(toSet()).size();
// how many deprecated
long deprecated = languages.stream()
- .filter(l -> "true".equals(l.getDeprecated()))
- .count();
+ .filter(l -> "true".equals(l.getDeprecated()))
+ .count();
// update the big readme file in the core/components dir
File file;
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
index e6fd22f..feee645 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
@@ -27,7 +27,7 @@ import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
-import edu.emory.mathcs.backport.java.util.Collections;
+import java.util.Collections;
import org.apache.camel.maven.packaging.model.ComponentModel;
import org.apache.camel.maven.packaging.model.DataFormatModel;
import org.apache.camel.maven.packaging.model.LanguageModel;
@@ -35,6 +35,9 @@ import org.apache.camel.maven.packaging.model.OtherModel;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
@@ -43,62 +46,50 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
/**
* Prepares the user guide to keep the table of content up to date with the components, data formats, and languages.
- *
- * @goal prepare-user-guide
- * @threadSafe
*/
+@Mojo(name = "prepare-user-guide", threadSafe = true)
public class PrepareUserGuideMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The directory for components catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
protected File componentsDir;
/**
* The directory for data formats catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
protected File dataFormatsDir;
/**
* The directory for languages catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
protected File languagesDir;
/**
* The directory for others catalog
- *
- * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
protected File othersDir;
/**
* The directory for the user guide
- *
- * @parameter default-value="${project.directory}/../../../docs/user-manual/en"
*/
+ @Parameter(defaultValue = "${project.directory}/../../../docs/user-manual/en")
protected File userGuideDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
index a03d75d..a390ecd 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
@@ -59,6 +59,9 @@ import org.apache.maven.model.Resource;
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.plugins.annotations.ResolutionScope;
import org.apache.maven.project.MavenProject;
import org.jboss.forge.roaster.Roaster;
import org.jboss.forge.roaster.model.JavaType;
@@ -97,11 +100,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
/**
* Generate Spring Boot auto configuration files for Camel components and data formats.
- *
- * @goal prepare-spring-boot-auto-configuration
- * @threadSafe
- * @requiresDependencyResolution compile+runtime
*/
+@Mojo(name = "prepare-spring-boot-auto-configuration", threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
public class SpringBootAutoConfigurationMojo extends AbstractMojo {
/**
@@ -150,32 +150,29 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
/**
* The output directory for generated component schema file
*
- * @parameter default-value="${project.build.directory}/classes"
*/
- protected File classesDir;
+ @Parameter(defaultValue="${project.build.directory}/classes")
+ protected File classesDir;
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The project build directory
*
- * @parameter default-value="${project.build.directory}"
*/
- protected File buildDir;
+ @Parameter(defaultValue="${project.build.directory}")
+ protected File buildDir;
/**
* The base directory
*
- * @parameter default-value="${basedir}"
*/
- protected File baseDir;
+ @Parameter(defaultValue="${basedir}")
+ protected File baseDir;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
index 0370475..54b8aef 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
@@ -69,6 +69,9 @@ import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.dependency.tree.DependencyNode;
import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
@@ -77,10 +80,8 @@ import org.apache.maven.shared.dependency.tree.traversal.CollectingDependencyNod
/**
* Generate Spring Boot starter for the component
- *
- * @goal prepare-spring-boot-starter
- * @threadSafe
*/
+@Mojo(name = "prepare-spring-boot-starter", threadSafe = true)
public class SpringBootStarterMojo extends AbstractMojo {
private static final String[] IGNORE_MODULES = {
@@ -99,60 +100,35 @@ public class SpringBootStarterMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* Allows using the existing pom.xml file if present.
- *
- * @parameter property="reuseExistingPom" default-value="true"
*/
+ @Parameter(property = "reuseExistingPom", defaultValue = "true")
protected boolean reuseExistingPom;
/**
* The project directory
- *
- * @parameter default-value="${basedir}"
*/
+ @Parameter(defaultValue = "${basedir}")
protected File baseDir;
- /**
- * @component
- * @required
- * @readonly
- */
+ @Component
protected ArtifactFactory artifactFactory;
- /**
- * @component
- * @required
- * @readonly
- */
+ @Component
protected ArtifactMetadataSource artifactMetadataSource;
- /**
- * @component
- * @required
- * @readonly
- */
+ @Component
protected ArtifactCollector artifactCollector;
- /**
- * @component
- * @required
- * @readonly
- */
+ @Component
protected DependencyTreeBuilder treeBuilder;
- /**
- * @parameter default-value="${localRepository}"
- * @readonly
- * @required
- */
+ @Parameter(defaultValue = "${localRepository}", readonly = true, required = true)
protected ArtifactRepository localRepository;
@Override
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
index d493e1a..94f90db 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
@@ -41,67 +41,63 @@ import org.apache.maven.model.Resource;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.mvel2.templates.TemplateRuntime;
import org.sonatype.plexus.build.incremental.BuildContext;
-import static org.apache.camel.maven.packaging.JSonSchemaHelper.*;
+import static org.apache.camel.maven.packaging.JSonSchemaHelper.getSafeValue;
+import static org.apache.camel.maven.packaging.JSonSchemaHelper.parseJsonSchema;
import static org.apache.camel.maven.packaging.PackageHelper.loadText;
import static org.apache.camel.maven.packaging.PackageHelper.writeText;
import static org.apache.camel.maven.packaging.StringHelper.isEmpty;
/**
* Generate or updates the component/dataformat/language/eip readme.md and .adoc files in the project root directory.
- *
- * @goal update-readme
- * @threadSafe
*/
+@Mojo(name = "update-readme", threadSafe = true)
public class UpdateReadmeMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The project build directory
*
- * @parameter default-value="${project.build.directory}"
*/
+ @Parameter(defaultValue = "${project.build.directory}")
protected File buildDir;
/**
* The documentation directory
*
- * @parameter default-value="${basedir}/src/main/docs"
*/
+ @Parameter(defaultValue = "${basedir}/src/main/docs")
protected File docDir;
/**
* The documentation directory
*
- * @parameter default-value="${basedir}/src/main/docs/eips"
*/
+ @Parameter(defaultValue = "${basedir}/src/main/docs/eips")
protected File eipDocDir;
/**
* Whether to fail the build fast if any Warnings was detected.
- *
- * @parameter
*/
+ @Parameter
protected Boolean failFast;
/**
* build context to check changed files and mark them for refresh (used for
* m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
@Override
@@ -1219,6 +1215,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
}
return dataFormatNames;
}
+
private List<String> findLanguageNames() {
List<String> languageNames = new ArrayList<>();
for (Resource r : project.getBuild().getResources()) {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
index db3b1ee..53716a2 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
@@ -31,6 +31,9 @@ import org.apache.camel.maven.packaging.model.SpringBootAutoConfigureOptionModel
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.json.simple.DeserializationException;
import org.json.simple.JsonArray;
@@ -45,56 +48,47 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
/**
* For all the Camel components that has Spring Boot starter JAR, their documentation
* .adoc files in their component directory is updated to include spring boot auto configuration options.
- *
- * @goal update-spring-boot-auto-configuration-readme
- * @threadSafe
*/
+@Mojo(name = "update-spring-boot-auto-configuration-readme", threadSafe = true)
public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* The project build directory
*
- * @parameter default-value="${project.build.directory}"
*/
+ @Parameter(defaultValue = "${project.build.directory}")
protected File buildDir;
/**
* The documentation directory
*
- * @parameter default-value="${basedir}/../../../../components/"
*/
+ @Parameter(defaultValue = "${basedir}/../../../../components/")
protected File componentsDir;
/**
* Whether to fail the build fast if any Warnings was detected.
- *
- * @parameter
*/
+ @Parameter
protected Boolean failFast;
/**
* Whether to fail if an option has no documentation.
- *
- * @parameter
*/
+ @Parameter
protected Boolean failOnMissingDescription;
/**
* build context to check changed files and mark them for refresh (used for
* m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
@Override
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
index 8acc57a..17a1064 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
@@ -26,6 +26,9 @@ import java.util.TreeSet;
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.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.sonatype.plexus.build.incremental.BuildContext;
@@ -43,52 +46,43 @@ import static org.apache.camel.maven.packaging.ValidateHelper.validate;
* <li>languages</li>
* </ul>
* all contains the needed meta-data such as assigned labels, documentation for each option
- *
- * @goal validate-components
- * @threadSafe
*/
+@Mojo(name = "validate-components", threadSafe = true)
public class ValidateComponentMojo extends AbstractMojo {
/**
* The maven project.
- *
- * @parameter property="project"
- * @required
- * @readonly
*/
+ @Parameter(property = "project", required = true, readonly = true)
protected MavenProject project;
/**
* Whether to validate if the components, data formats, and languages are properly documented and have all the needed details.
*
- * @parameter default-value="true"
*/
+ @Parameter(defaultValue = "true")
protected Boolean validate;
/**
* The output directory for generated components file
*
- * @parameter default-value="${project.build.directory}/classes/"
*/
+ @Parameter(defaultValue = "${project.build.directory}/classes/")
protected File outDir;
/**
* Maven ProjectHelper.
- *
- * @component
- * @readonly
*/
+ @Component
private MavenProjectHelper projectHelper;
/**
* build context to check changed files and mark them for refresh
* (used for m2e compatibility)
- *
- * @component
- * @readonly
*/
+ @Component
private BuildContext buildContext;
-
+
/**
* Execute goal.
*
diff --git a/tooling/maven/camel-restdsl-swagger-plugin/pom.xml b/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
index 423768f..97ac45f 100644
--- a/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
+++ b/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
@@ -99,12 +99,10 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
- <version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
- <version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.twdata.maven</groupId>
@@ -114,8 +112,6 @@
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
- <version>3.5</version>
- <scope>provided</scope>
</dependency>
</dependencies>
diff --git a/tooling/parent/pom.xml b/tooling/parent/pom.xml
index c9031eb..cf96497 100644
--- a/tooling/parent/pom.xml
+++ b/tooling/parent/pom.xml
@@ -34,13 +34,14 @@
<properties>
- <maven-version>2.2.1</maven-version>
+ <maven-version>3.1.1</maven-version>
<maven-maven-plugin-descriptor-version>2.2.1</maven-maven-plugin-descriptor-version>
<maven-project-version>2.2.1</maven-project-version>
<maven-dependency-tree-version>2.2</maven-dependency-tree-version>
<maven-plugin-annotations-version>3.5</maven-plugin-annotations-version>
- <maven-reporting-api-version>2.2.1</maven-reporting-api-version>
+ <maven-reporting-api-version>3.0</maven-reporting-api-version>
<maven-reporting-impl-version>2.4</maven-reporting-impl-version>
+ <maven-resolver-version>1.0.3</maven-resolver-version>
<plexus-build-api-version>0.0.7</plexus-build-api-version>
<plexus-container-default-version>1.6</plexus-container-default-version>
<plexus-utils-version>3.0.22</plexus-utils-version>
@@ -78,6 +79,11 @@
<version>${maven-version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>${maven-version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>${maven-plugin-annotations-version}</version>
@@ -114,6 +120,16 @@
<version>${maven-reporting-impl-version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.maven.resolver</groupId>
+ <artifactId>maven-resolver-api</artifactId>
+ <version>${maven-resolver-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.resolver</groupId>
+ <artifactId>maven-resolver-util</artifactId>
+ <version>${maven-resolver-version}</version>
+ </dependency>
+ <dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-container-default</artifactId>
<version>${plexus-container-default-version}</version>