This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to branch maven-debian-helper-2.0 in repository maven-debian-helper.
commit 4d79448cbd99d6a8f46210f8baddf00c42212dd5 Author: Andrew Schurman <[email protected]> Date: Mon Sep 15 16:27:02 2014 -0700 Update mojos to use annotations This also fixes a warning when building while using the @parameter expression="${property}" syntax --- debian-maven-plugin/pom.xml | 4 ++ .../org/debian/maven/plugin/InstallDocMojo.java | 11 ++-- .../java/org/debian/maven/plugin/InstallMojo.java | 12 ++-- .../debian/maven/plugin/ResolveCompileMojo.java | 8 +-- .../org/debian/maven/plugin/ResolveNoneMojo.java | 5 +- .../debian/maven/plugin/ResolveRuntimeMojo.java | 8 +-- .../org/debian/maven/plugin/ResolveTestMojo.java | 8 +-- .../org/debian/maven/plugin/SysInstallDocMojo.java | 4 +- .../org/debian/maven/plugin/SysInstallMojo.java | 77 ++++++---------------- .../org/debian/maven/plugin/SysUninstallMojo.java | 4 +- debian/changelog | 1 + maven-packager-utils/pom.xml | 4 ++ .../debian/maven/packager/DependenciesMojo.java | 54 ++++++--------- .../maven/packager/GenerateDebianFilesMojo.java | 59 +++++------------ pom.xml | 18 ++++- 15 files changed, 114 insertions(+), 163 deletions(-) diff --git a/debian-maven-plugin/pom.xml b/debian-maven-plugin/pom.xml index 3e41551..ea7de55 100644 --- a/debian-maven-plugin/pom.xml +++ b/debian-maven-plugin/pom.xml @@ -27,5 +27,9 @@ <artifactId>commons-io</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + </dependency> </dependencies> </project> diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/InstallDocMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/InstallDocMojo.java index 247ee8a..ac156b5 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/InstallDocMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/InstallDocMojo.java @@ -18,26 +18,27 @@ package org.debian.maven.plugin; import java.io.File; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; + /** * Install the javadoc jar files into the debian/ directory * * @author Ludovic Claude - * @goal install-doc */ +@Mojo(name = "install-doc") public class InstallDocMojo extends SysInstallDocMojo { /** * Maven repository root - * - * @parameter expression="${maven.repo.local}" */ + @Parameter(property = "maven.repo.local") private File mavenRepoLocal; /** * If true, use local Maven repository for installation - * - * @parameter expression="${use.maven.repo.local}" */ + @Parameter(property = "use.maven.repo.local") private boolean useMavenRepoLocal; // ---------------------------------------------------------------------- diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/InstallMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/InstallMojo.java index a51f695..85da164 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/InstallMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/InstallMojo.java @@ -18,25 +18,25 @@ package org.debian.maven.plugin; import java.io.File; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; + /** * Install pom and jar files into the debian/ directory - * - * @goal install */ +@Mojo(name = "install") public class InstallMojo extends SysInstallMojo { /** * Maven repository root - * - * @parameter expression="${maven.repo.local}" */ + @Parameter(property = "maven.repo.local") private File mavenRepoLocal; /** * If true, use local Maven repository for installation - * - * @parameter expression="${use.maven.repo.local}" */ + @Parameter(property = "use.maven.repo.local") private boolean useMavenRepoLocal; // ---------------------------------------------------------------------- diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveCompileMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveCompileMojo.java index 678e1e7..dcd0ee3 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveCompileMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveCompileMojo.java @@ -16,13 +16,13 @@ package org.debian.maven.plugin; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.ResolutionScope; + /** * Resolves compile dependencies - * - * @goal resolve-compile - * @requiresDependencyResolution compile - * @aggregator true */ +@Mojo(name = "resolve-compile", aggregator = true, requiresDependencyResolution = ResolutionScope.COMPILE) public class ResolveCompileMojo extends ResolveNoneMojo { } diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveNoneMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveNoneMojo.java index 79a8b98..9eafd5c 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveNoneMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveNoneMojo.java @@ -18,13 +18,12 @@ package org.debian.maven.plugin; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugins.annotations.Mojo; /** * Dummy goal that just reads the pom.xml files including parents - * - * @goal resolve-none - * @aggregator true */ +@Mojo(name = "resolve-none", aggregator = true) public class ResolveNoneMojo extends AbstractMojo { public void execute() throws MojoExecutionException { diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveRuntimeMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveRuntimeMojo.java index 63bf5e2..305db53 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveRuntimeMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveRuntimeMojo.java @@ -16,13 +16,13 @@ package org.debian.maven.plugin; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.ResolutionScope; + /** * Resolves runtime dependencies - * - * @goal resolve-runtime - * @requiresDependencyResolution runtime - * @aggregator true */ +@Mojo(name = "resolve-runtime", aggregator = true, requiresDependencyResolution = ResolutionScope.RUNTIME) public class ResolveRuntimeMojo extends ResolveNoneMojo { } diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveTestMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveTestMojo.java index 8d156a6..61b079f 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveTestMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/ResolveTestMojo.java @@ -16,13 +16,13 @@ package org.debian.maven.plugin; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.ResolutionScope; + /** * Resolves test dependencies - * - * @goal resolve-test - * @requiresDependencyResolution test - * @aggregator true */ +@Mojo(name = "resolve-test", aggregator = true, requiresDependencyResolution = ResolutionScope.TEST) public class ResolveTestMojo extends ResolveNoneMojo { } diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallDocMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallDocMojo.java index af0f0ab..b247623 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallDocMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallDocMojo.java @@ -18,12 +18,14 @@ package org.debian.maven.plugin; import java.io.IOException; +import org.apache.maven.plugins.annotations.Mojo; + /** * Install the javadoc jar. * * @author Ludovic Claude - * @goal sysinstall-doc */ +@Mojo(name = "sysinstall-doc") public class SysInstallDocMojo extends SysInstallMojo { { diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java index 7b72fcf..0c2b0f9 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java @@ -26,6 +26,8 @@ import java.util.regex.Pattern; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; import org.codehaus.plexus.util.FileUtils; import org.debian.maven.repo.ListOfPOMs; import org.debian.maven.repo.POMCleaner; @@ -33,9 +35,8 @@ import org.debian.maven.repo.POMOptions; /** * Install pom and jar files into the /usr/share/hierarchy - * - * @goal sysinstall */ +@Mojo(name = "sysinstall") public class SysInstallMojo extends AbstractMojo { /** Regex for detecting that package is a libXXX-java package */ @@ -50,134 +51,96 @@ public class SysInstallMojo extends AbstractMojo { /** * groupId - * - * @parameter expression="${project.groupId}" - * @required - * @readonly */ + @Parameter(property = "project.groupId", required = true, readonly = true) private String groupId; /** * artifactId - * - * @parameter expression="${project.artifactId}" - * @required - * @readonly */ + @Parameter(property = "project.artifactId", required = true, readonly = true) private String artifactId; /** * destGroupId - * - * @parameter expression="${project.groupId}" - * @required */ + @Parameter(property = "project.groupId", required = true) private String destGroupId; /** * destArtifactId - * - * @parameter expression="${project.artifactId}" - * @required */ + @Parameter(property = "project.artifactId", required = true) private String destArtifactId; /** * version - * - * @parameter expression="${project.version}" - * @required - * @readonly */ + @Parameter(property = "project.version", required = true, readonly = true) private String version; /** * debianVersion - * - * @parameter */ + @Parameter private String debianVersion; /** * directory where the current pom.xml can be found - * - * @parameter expression="${basedir}" - * @required - * @readonly */ + @Parameter(property = "basedir", required = true, readonly = true) private File basedir; /** * directory of the jar file - * - * @parameter expression="${project.build.directory}" - * @required - * @readonly */ + @Parameter(property = "project.build.directory", required = true, readonly = true) private String jarDir; /** * finalname of the artifact - * - * @parameter expression="${project.build.finalName}" - * @required - * @readonly */ + @Parameter(property = "project.build.finalName", required = true, readonly = true) private String finalName; /** * Debian directory - * - * @parameter expression="${debian.dir}" */ + @Parameter(property = "debian.dir") private File debianDir; /** * Debian package (send from command line) - * - * @parameter expression="${debian.package}" */ + @Parameter(property = "debian.package") private String debianPackage; /** * Debian package destination (set by xxx.poms file). * By default, equals to <code>debianPackage</code> attribute. - * - * @parameter expression="${debian.package}" */ + @Parameter(property = "debian.package") private String destPackage; - /** - * @parameter expression="${maven.rules}" default-value="maven.rules" - * @required - */ + @Parameter(property = "maven.rules", defaultValue = "maven.rules", required = true) private String mavenRules; - /** - * @parameter expression="${maven.ignoreRules}" default-value="maven.ignoreRules" - * @required - */ + @Parameter(property = "maven.ignoreRules", defaultValue = "maven.ignoreRules", required = true) private String mavenIgnoreRules; - /** - * @parameter expression="${maven.publishedRules}" default-value="maven.publishedRules" - * @required - */ + @Parameter(property = "maven.publishedRules", defaultValue = "maven.publishedRules", required = true) private String mavenPublishedRules; /** * root directory of the Maven repository - * - * @parameter expression="${basedir}" - * @readonly */ + @Parameter(defaultValue = "${basedir}", readonly = true) private File repoDir; /** * Install the jar to /usr/share/java if true. Default is true - * - * @parameter expression="${install.to.usj}" default-value="true" */ + @Parameter(property = "install.to.usj", defaultValue = "true") private boolean installToUsj = true; /** diff --git a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysUninstallMojo.java b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysUninstallMojo.java index f9d3378..49f146e 100644 --- a/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysUninstallMojo.java +++ b/debian-maven-plugin/src/main/java/org/debian/maven/plugin/SysUninstallMojo.java @@ -18,13 +18,13 @@ package org.debian.maven.plugin; import java.io.IOException; +import org.apache.maven.plugins.annotations.Mojo; import org.codehaus.plexus.util.FileUtils; /** * Remove installed files and symlinks from the /usr/share hierarchy - * - * @goal sysuninstall */ +@Mojo(name = "sysuninstall") public class SysUninstallMojo extends SysInstallMojo { // ---------------------------------------------------------------------- // Mojo parameters diff --git a/debian/changelog b/debian/changelog index 1693862..84a8490 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ maven-debian-helper (2.0.0) UNRELEASED; urgency=medium * Update Maven to version 3.0.5 * Build deb package using itself rather than maven-ant-helper + * Update mojos to use annotations -- Andrew Schurman <[email protected]> Mon, 16 Mar 2015 18:48:32 -0700 diff --git a/maven-packager-utils/pom.xml b/maven-packager-utils/pom.xml index 6c606af..6c3cb16 100644 --- a/maven-packager-utils/pom.xml +++ b/maven-packager-utils/pom.xml @@ -40,5 +40,9 @@ <artifactId>commons-io</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + </dependency> </dependencies> </project> diff --git a/maven-packager-utils/src/main/java/org/debian/maven/packager/DependenciesMojo.java b/maven-packager-utils/src/main/java/org/debian/maven/packager/DependenciesMojo.java index cbca3d4..94a8cb8 100644 --- a/maven-packager-utils/src/main/java/org/debian/maven/packager/DependenciesMojo.java +++ b/maven-packager-utils/src/main/java/org/debian/maven/packager/DependenciesMojo.java @@ -16,12 +16,16 @@ package org.debian.maven.packager; -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; - import java.io.File; import java.util.ArrayList; import java.util.List; + +import org.apache.maven.plugin.AbstractMojo; +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.apache.maven.project.MavenProject; import org.debian.maven.packager.util.PackageScanner; import org.debian.maven.repo.DependencyRuleSetFiles.RulesType; @@ -30,96 +34,76 @@ import org.debian.maven.repo.DependencyRuleSetFiles.RulesType; * Analyze the Maven dependencies and extract the list of dependent packages, * reusable as subvars in the Debian control file and the list of POM files * to use and the rules if they did not exist already. - * - * @goal dependencies - * @aggregator - * @requiresDependencyResolution - * @phase process-sources * * @author Ludovic Claude */ +@Mojo(name = "dependencies", aggregator = true, requiresDependencyResolution = ResolutionScope.RUNTIME, defaultPhase = LifecyclePhase.PROCESS_SOURCES) public class DependenciesMojo extends AbstractMojo { /** * The Maven Project Object - * - * @parameter expression="${project}" - * @readonly - * @required */ + @Parameter(property = "project", readonly = true, required = true) protected MavenProject project; /** * A list of every project in this reactor; provided by Maven - * - * @parameter expression="${project.collectedProjects}" */ + @Parameter(property = "project.collectedProjects") protected List<MavenProject> collectedProjects; /** * Location of the file. - * - * @parameter expression="${debian.directory}" - * default-value="debian" */ + @Parameter(property = "debian.directory", defaultValue = "debian") protected File outputDirectory; /** * Name of the package (e.g. 'commons-lang') - * - * @parameter expression="${package}" - * @required */ + @Parameter(property = "package", required = true) protected String packageName; /** * Type of the package (e.g. 'maven' or 'ant') - * - * @parameter expression="${packageType}" default-value="maven" */ + @Parameter(property = "packageType", defaultValue = "maven") protected String packageType; /** * Should we also resolve Javadoc dependencies - * - * @parameter expression="${resolveJavadoc}" default-value="false" */ + @Parameter(property = "resolveJavadoc", defaultValue = "false") protected boolean resolveJavadoc; /** * Location for the list of POMs file. - * - * @required - * @parameter expression="debian/${package}.poms" */ + @Parameter(defaultValue = "debian/${package}.poms", required = true) protected File listOfPoms; /** * Location of the Maven repository - * - * @parameter expression="${maven.repo.local}" default-value="/usr/share/maven-repo" */ + @Parameter(property = "maven.repo.local", defaultValue = "/usr/share/maven-repo") protected File mavenRepo; /** * Interactive execution will ask questions to the user - * - * @parameter expression="${interactive}" default-value="true" */ + @Parameter(property = "interactive", defaultValue = "true") protected boolean interactive; /** * Offline prevents any download from Internet - * - * @parameter expression="${offline}" default-value="false" */ + @Parameter(property = "offline", defaultValue = "false") protected boolean offline; /** * Try to be verbose - * - * @parameter expression="${verbose}" default-value="false" */ + @Parameter(property = "verbose", defaultValue = "false") protected boolean verbose; public void execute() throws MojoExecutionException { diff --git a/maven-packager-utils/src/main/java/org/debian/maven/packager/GenerateDebianFilesMojo.java b/maven-packager-utils/src/main/java/org/debian/maven/packager/GenerateDebianFilesMojo.java index 528b555..a555f38 100644 --- a/maven-packager-utils/src/main/java/org/debian/maven/packager/GenerateDebianFilesMojo.java +++ b/maven-packager-utils/src/main/java/org/debian/maven/packager/GenerateDebianFilesMojo.java @@ -33,6 +33,10 @@ import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.model.Developer; import org.apache.maven.plugin.AbstractMojo; 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.apache.maven.project.MavenProject; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; @@ -46,114 +50,87 @@ import org.debian.maven.repo.POMOptions; /** * Generate the Debian files for packaging the current Maven project. * - * @goal generate - * @aggregator - * @requiresDependencyResolution - * @phase process-sources - * * @author Ludovic Claude */ +@Mojo(name = "generate", defaultPhase = LifecyclePhase.PROCESS_SOURCES, requiresDependencyResolution = ResolutionScope.RUNTIME, aggregator = true) public class GenerateDebianFilesMojo extends AbstractMojo { /** * The Maven Project Object - * - * @parameter expression="${project}" - * @readonly - * @required */ + @Parameter(property = "project", required = true, readonly = true) protected MavenProject project; /** * A list of every project in this reactor; provided by Maven - * - * @parameter expression="${project.collectedProjects}" */ + @Parameter(property = "project.collectedProjects") protected List<MavenProject> collectedProjects; - /** - * @parameter expression="${localRepository}" - * @required - * @readonly - */ + @Parameter(property = "localRepository", required = true, readonly = true) protected ArtifactRepository localRepository; /** * Location of the file. - * - * @parameter expression="${debian.directory}" - * default-value="debian" */ + @Parameter(defaultValue = "debian", property = "debian.directory") protected File outputDirectory; /** * Name of the packager (e.g. 'Ludovic Claude') - * - * @parameter expression="${packager}" - * @required */ + @Parameter(required = true, property = "packager") protected String packager; /** * Email of the packager (e.g. '[email protected]') - * - * @parameter expression="${email}" - * @required */ + @Parameter(required = true, property = "email") protected String email; /** * License used by the packager (e.g. 'GPL-3' or 'Apache-2.0') * See http://dep.debian.net/deps/dep5/ for the list of licenses. - * - * @parameter expression="${packagerLicense}" default-value="GPL-3" - * @required */ + @Parameter(required = true, property = "packagerLicense", defaultValue = "GPL-3") protected String packagerLicense; /** * Name of the source package (e.g. 'commons-lang') - * - * @parameter expression="${package}" - * @required */ + @Parameter(required = true, property = "package") protected String packageName; /** * Name of the binary package (e.g. 'libcommons-lang-java') - * - * @parameter expression="${bin.package}" - * @required */ + @Parameter(required = true, property = "bin.package") protected String binPackageName; /** * Type of the package (e.g. 'maven' or 'ant') - * - * @parameter expression="${packageType}" default-value="maven" */ + @Parameter(property = "packageType", defaultValue = "maven") protected String packageType; /** * URL for downloading the source code, in the form scm:[svn|cvs]:http://xxx/ * for downloads using a source code repository, * or http://xxx.[tar|zip|gz|tgz] for downloads using source tarballs. - * - * @parameter expression="${downloadUrl}" */ + @Parameter(property = "downloadUrl") protected String downloadUrl; /** * If true, include running the tests during the build. - * - * @parameter expression="${runTests}" default-value="false" */ + @Parameter(property = "runTests", defaultValue = "false") protected boolean runTests; /** * If true, generate the Javadoc packaged in a separate package. - * @parameter expression="${generateJavadoc}" default-value="false" */ + @Parameter(property = "generateJavadoc", defaultValue = "false") protected boolean generateJavadoc; private PackageScanner scanner = new PackageScanner(false); diff --git a/pom.xml b/pom.xml index 7d3b933..caf604d 100644 --- a/pom.xml +++ b/pom.xml @@ -10,6 +10,7 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <maven-plugin-tools.version>3.2</maven-plugin-tools.version> </properties> <modules> @@ -76,6 +77,12 @@ <version>2.4</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + <version>${maven-plugin-tools.version}</version> + <scope>provided</scope> + </dependency> </dependencies> </dependencyManagement> @@ -96,7 +103,16 @@ </plugin> <plugin> <artifactId>maven-plugin-plugin</artifactId> - <version>3.2</version> + <version>${maven-plugin-tools.version}</version> + <executions> + <execution> + <id>default-descriptor</id> + <phase>process-classes</phase> + <goals> + <goal>descriptor</goal> + </goals> + </execution> + </executions> </plugin> </plugins> </pluginManagement> -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/maven-debian-helper.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

