You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by tc...@apache.org on 2012/07/11 14:05:39 UTC
svn commit: r1360130 - in /maven/plugins/trunk/maven-pdf-plugin: pom.xml
src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
Author: tchemit
Date: Wed Jul 11 12:05:39 2012
New Revision: 1360130
URL: http://svn.apache.org/viewvc?rev=1360130&view=rev
Log:
[MPDF-58] use maven-plugin-tools' java 5 annotations
Modified:
maven/plugins/trunk/maven-pdf-plugin/pom.xml
maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
Modified: maven/plugins/trunk/maven-pdf-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pdf-plugin/pom.xml?rev=1360130&r1=1360129&r2=1360130&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pdf-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-pdf-plugin/pom.xml Wed Jul 11 12:05:39 2012
@@ -130,6 +130,11 @@ under the License.
<version>${mavenVersion}</version>
</dependency>
<dependency>
+ <groupId>org.apache.maven.plugin-tools</groupId>
+ <artifactId>maven-plugin-annotations</artifactId>
+ <version>3.1</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven.reporting</groupId>
<artifactId>maven-reporting-api</artifactId>
<version>${mavenVersion}</version>
@@ -305,6 +310,13 @@ under the License.
<artifactId>maven-pdf-plugin</artifactId>
<version>1.1</version>
</plugin>
+ <plugin>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <version>3.1</version>
+ <configuration>
+ <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
@@ -328,6 +340,17 @@ under the License.
</executions>
</plugin>
<!-- END SNIPPET: configuration -->
+ <plugin>
+ <artifactId>maven-plugin-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-descriptor</id>
+ <goals>
+ <goal>descriptor</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
<!-- Backward compatibility with Maven 2.0.x, see MNG-3402 -->
<plugin>
<artifactId>maven-shade-plugin</artifactId>
Modified: maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java?rev=1360130&r1=1360129&r2=1360130&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java (original)
+++ maven/plugins/trunk/maven-pdf-plugin/src/main/java/org/apache/maven/plugins/pdf/PdfMojo.java Wed Jul 11 12:05:39 2012
@@ -19,24 +19,6 @@ package org.apache.maven.plugins.pdf;
* under the License.
*/
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.swing.text.AttributeSet;
-
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -86,6 +68,9 @@ import org.apache.maven.plugin.descripto
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
+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.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
@@ -104,18 +89,36 @@ import org.codehaus.plexus.util.WriterFa
import org.codehaus.plexus.util.xml.XmlStreamReader;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import javax.swing.text.AttributeSet;
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
/**
* Generates a PDF document for a project.
*
* @author ltheussl
* @version $Id$
- * @goal pdf
- * @threadSafe
*/
+@Mojo( name = "pdf", threadSafe = true )
public class PdfMojo
extends AbstractMojo
{
- /** The vm line separator */
+ /**
+ * The vm line separator
+ */
private static final String EOL = System.getProperty( "line.separator" );
// ----------------------------------------------------------------------
@@ -124,77 +127,71 @@ public class PdfMojo
/**
* FO Document Renderer.
- *
- * @component role-hint="fo"
*/
+ @Component( hint = "fo" )
private PdfRenderer foRenderer;
/**
* Internationalization.
- *
- * @component
*/
+ @Component
private I18N i18n;
/**
* IText Document Renderer.
- *
- * @component role-hint="itext"
*/
+ @Component( hint = "itext" )
private PdfRenderer itextRenderer;
/**
* A comma separated list of locales supported by Maven.
* The first valid token will be the default Locale for this instance of the Java Virtual Machine.
- *
- * @parameter expression="${locales}"
*/
+ @Parameter( property = "locales" )
private String locales;
/**
* Site renderer.
- *
- * @component
*/
+ @Component
private Renderer siteRenderer;
/**
* SiteTool.
- *
- * @component
*/
+ @Component
private SiteTool siteTool;
/**
* The Plugin manager instance used to resolve Plugin descriptors.
*
- * @component role="org.apache.maven.plugin.PluginManager"
* @since 1.1
*/
+ @Component( role = PluginManager.class )
private PluginManager pluginManager;
/**
* Doxia.
*
- * @component
* @since 1.1
*/
+ @Component
private Doxia doxia;
/**
* Factory for creating artifact objects.
*
- * @component
* @since 1.1
*/
+ @Component
private ArtifactFactory artifactFactory;
/**
* Project builder.
*
- * @component
* @since 1.1
*/
+ @Component
private MavenProjectBuilder mavenProjectBuilder;
// ----------------------------------------------------------------------
@@ -203,112 +200,89 @@ public class PdfMojo
/**
* The Maven Project Object.
- *
- * @parameter default-value="${project}"
- * @required
- * @readonly
*/
+ @Component
private MavenProject project;
/**
* The Maven Settings.
*
- * @parameter default-value="${settings}"
- * @required
- * @readonly
* @since 1.1
*/
+ @Component
private Settings settings;
/**
* The current build session instance.
*
- * @parameter expression="${session}"
- * @required
- * @readonly
* @since 1.1
*/
+ @Component
private MavenSession session;
/**
* Directory containing source for apt, fml and xdoc docs.
- *
- * @parameter default-value="${basedir}/src/site"
- * @required
*/
+ @Parameter( defaultValue = "${basedir}/src/site", required = true )
private File siteDirectory;
/**
* Directory containing generated sources for apt, fml and xdoc docs.
*
- * @parameter default-value="${project.build.directory}/generated-site"
- * @required
* @since 1.1
*/
+ @Parameter( defaultValue = "${project.build.directory}/generated-site", required = true )
private File generatedSiteDirectory;
/**
* Output directory where PDF files should be created.
- *
- * @parameter default-value="${project.build.directory}/pdf"
- * @required
*/
+ @Parameter( defaultValue = "${project.build.directory}/pdf", required = true )
private File outputDirectory;
/**
* Working directory for working files like temp files/resources.
- *
- * @parameter default-value="${project.build.directory}/pdf"
- * @required
*/
+ @Parameter( defaultValue = "${project.build.directory}/pdf", required = true )
private File workingDirectory;
/**
* File that contains the DocumentModel of the PDF to generate.
- *
- * @parameter default-value="src/site/pdf.xml"
*/
+ @Parameter( defaultValue = "src/site/pdf.xml" )
private File docDescriptor;
/**
* Identifies the framework to use for pdf generation: either "fo" (default) or "itext".
- *
- * @parameter expression="${implementation}" default-value="fo"
- * @required
*/
+ @Parameter( property = "implementation", defaultValue = "fo", required = true )
private String implementation;
/**
* The local repository.
- *
- * @parameter default-value="${localRepository}"
- * @required
- * @readonly
*/
+ @Parameter( defaultValue = "${localRepository}", required = true, readonly = true )
private ArtifactRepository localRepository;
/**
* The remote repositories where artifacts are located.
*
- * @parameter expression="${project.remoteArtifactRepositories}"
* @since 1.1
*/
+ @Parameter( property = "project.remoteArtifactRepositories" )
private List remoteRepositories;
/**
* If <code>true</false>, aggregate all source documents in one pdf, otherwise generate one pdf for each
* source document.
- *
- * @parameter expression="${aggregate}" default-value="true"
*/
+ @Parameter( property = "aggregate", defaultValue = "true" )
private boolean aggregate;
/**
* The current version of this plugin.
- *
- * @parameter default-value="${plugin.version}"
- * @readonly
*/
+ @Parameter( defaultValue = "${plugin.version}", readonly = true )
private String pluginVersion;
/**
@@ -316,9 +290,9 @@ public class PdfMojo
* them as a new entry in the TOC (Table Of Contents).
* <b>Note</b>: Including the report generation could fail the PDF generation or increase the build time.
*
- * @parameter expression="${includeReports}" default-value="true"
* @since 1.1
*/
+ @Parameter( property = "includeReports", defaultValue = "true" )
private boolean includeReports;
/**
@@ -326,9 +300,9 @@ public class PdfMojo
* <br/>
* Possible values are: 'none', 'start' and 'end'.
*
- * @parameter expression="${generateTOC}" default-value="start"
* @since 1.1
*/
+ @Parameter( property = "generateTOC", defaultValue = "start" )
private String generateTOC;
/**
@@ -337,9 +311,9 @@ public class PdfMojo
* (in particular xdoc and fml) will be validated and any error will
* lead to a build failure.
*
- * @parameter expression="${validate}" default-value="false"
* @since 1.2
*/
+ @Parameter( property = "validate", defaultValue = "false" )
private boolean validate;
// ----------------------------------------------------------------------