Author: olamy
Date: Mon Oct 17 09:16:16 2011
New Revision: 1185052
URL: http://svn.apache.org/viewvc?rev=1185052&view=rev
Log:
[MTOMCAT-102] Add a mojo to build a standalone jar to run a web application:
attach the generated artifact.
Modified:
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java
Modified:
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java
URL:
http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java?rev=1185052&r1=1185051&r2=1185052&view=diff
==============================================================================
---
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java
(original)
+++
tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java
Mon Oct 17 09:16:16 2011
@@ -35,6 +35,7 @@ import org.apache.maven.model.Dependency
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectHelper;
import org.apache.maven.settings.MavenSettingsBuilder;
import org.apache.tomcat.maven.plugin.tomcat7.AbstractTomcat7Mojo;
import org.apache.tomcat.maven.runner.Tomcat7Runner;
@@ -97,12 +98,12 @@ public abstract class AbstractExecWarMoj
private File buildDirectory;
/**
- * @parameter default-value="src/main/tomcatconf"
expression="${tomcat.exec.war.tomcatConf}"
+ * @parameter default-value="src/main/tomcatconf"
expression="${maven.tomcat.exec.war.tomcatConf}"
*/
private File tomcatConfigurationFilesDirectory;
/**
- * @parameter default-value="src/main/tomcatconf/server.xml"
expression="${tomcat.exec.war.serverXml}"
+ * @parameter default-value="src/main/tomcatconf/server.xml"
expression="${maven.tomcat.exec.war.serverXml}"
*/
private File serverXml;
@@ -157,7 +158,23 @@ public abstract class AbstractExecWarMoj
* @readonly
* @required
*/
- protected List<ArtifactRepository> remoteRepos;
+ protected List<ArtifactRepository> remoteRepos;
+
+ /**
+ * @component
+ * @required
+ * @readonly
+ */
+ private MavenProjectHelper projectHelper;
+
+ /**
+ * The webapp context path to use for the web application being run.
+ * The name to store webapp in exec jar. Do not use /
+ *
+ * @parameter expression="${maven.tomcat.exec.war.attachArtifact}"
default-value="true"
+ * @required
+ */
+ private boolean attachArtifact;
public void execute()
throws MojoExecutionException, MojoFailureException
@@ -314,6 +331,13 @@ public abstract class AbstractExecWarMoj
os.putArchiveEntry( new JarArchiveEntry( "META-INF/MANIFEST.MF" )
);
IOUtils.copy( new FileInputStream( tmpManifestFile ), os );
os.closeArchiveEntry();
+
+ if ( attachArtifact )
+ {
+ // MavenProject project, File artifactFile, String
artifactClassifier
+ // classifier configurable ?
+ projectHelper.attachArtifact( project, execWarJar, "exec-war"
);
+ }
} catch ( ManifestException e )
{
throw new MojoExecutionException( e.getMessage(), e );
@@ -327,10 +351,10 @@ public abstract class AbstractExecWarMoj
{
throw new MojoExecutionException( e.getMessage(), e );
} catch ( ArtifactResolutionException e )
- {
- throw new MojoExecutionException( e.getMessage(), e );
-
- } finally {
+ {
+ throw new MojoExecutionException( e.getMessage(), e );
+ } finally
+ {
IOUtils.closeQuietly( os );
IOUtils.closeQuietly( tmpManifestWriter );
IOUtils.closeQuietly( execWarJarOutputStream );
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]