svn commit: r1343301 - /tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java

2012-05-28 Thread olamy
Author: olamy
Date: Mon May 28 15:53:09 2012
New Revision: 1343301

URL: http://svn.apache.org/viewvc?rev=1343301view=rev
Log:
[MTOMCAT-155] allow exec-war war run dependencies that are generated in current 
mvn execution, but not yet installed to maven repo
Submitted by Peter Lynch.

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=1343301r1=1343300r2=1343301view=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 May 28 15:53:09 2012
@@ -66,8 +66,6 @@ import java.util.jar.JarFile;
 public abstract class AbstractExecWarMojo
 extends AbstractTomcat7Mojo
 {
-
-
 /**
  * @parameter default-value=${project.artifact}
  * @required
@@ -96,6 +94,13 @@ public abstract class AbstractExecWarMoj
 private File buildDirectory;
 
 /**
+ * Path under {@link #buildDirectory} where this mojo may do temporary 
work.
+ *
+ * @parameter default-value=tomcat7-maven-plugin-exec
+ */
+private String pluginWorkDirectory;
+
+/**
  * @parameter default-value=src/main/tomcatconf 
expression=${maven.tomcat.exec.war.tomcatConf}
  */
 private File tomcatConfigurationFilesDirectory;
@@ -105,7 +110,6 @@ public abstract class AbstractExecWarMoj
  */
 private File serverXml;
 
-
 /**
  * Name of the generated exec JAR.
  *
@@ -324,15 +328,17 @@ public abstract class AbstractExecWarMoj
 
dependency.getClassifier() );
 
 artifactResolver.resolve( artifact, this.remoteRepos, 
this.local );
-File warFile = new File( buildDirectory, 
artifact.getFile().getName() );
-String warFileName = artifact.getFile().getName();
-FileUtils.copyFile( artifact.getFile(), warFile );
+
+File warFileToBundle = new File( 
resolvePluginWorkDir(), artifact.getFile().getName() );
+FileUtils.copyFile( artifact.getFile(), 
warFileToBundle );
+
 if ( warRunDependency.contextXml != null )
 {
-warFile = addContextXmlToWar( 
warRunDependency.contextXml, warFile );
+warFileToBundle = addContextXmlToWar( 
warRunDependency.contextXml, warFileToBundle );
 }
+final String warFileName = 
artifact.getFile().getName();
 os.putArchiveEntry( new JarArchiveEntry( warFileName ) 
);
-IOUtils.copy( new FileInputStream( warFile ), os );
+IOUtils.copy( new FileInputStream( warFileToBundle ), 
os );
 os.closeArchiveEntry();
 String propertyWarValue = properties.getProperty( 
Tomcat7Runner.WARS_KEY );
 String contextPath =
@@ -498,6 +504,21 @@ public abstract class AbstractExecWarMoj
 }
 }
 
+/**
+ * Resolves the plugin work dir as a sub directory of {@link 
#buildDirectory}, creating it if it does not exist.
+ *
+ * @return File representing the resolved plugin work dir
+ * @throws MojoExecutionException if the plugin work dir cannot be created
+ */
+protected File resolvePluginWorkDir() throws MojoExecutionException {
+File workDir = new File(buildDirectory, pluginWorkDirectory);
+if(!workDir.exists()  !workDir.mkdirs()){
+throw new MojoExecutionException(Could not create plugin work 
directory at  + workDir.getAbsolutePath());
+};
+return workDir;
+
+}
+
 private String[] toStringArray( List list )
 {
 if ( list == null || list.isEmpty() )



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1343301 - /tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java

2012-05-28 Thread Konstantin Kolinko
2012/5/28  ol...@apache.org:
 Author: olamy
 Date: Mon May 28 15:53:09 2012
 New Revision: 1343301

 URL: http://svn.apache.org/viewvc?rev=1343301view=rev
 Log:
 [MTOMCAT-155] allow exec-war war run dependencies that are generated in 
 current mvn execution, but not yet installed to maven repo
 Submitted by Peter Lynch.

 Modified:
    
 tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java

(...)
 @@ -96,6 +94,13 @@ public abstract class AbstractExecWarMoj
     private File buildDirectory;

     /**
 +     * Path under {@link #buildDirectory} where this mojo may do temporary 
 work.
 +     *
 +     * @parameter default-value=tomcat7-maven-plugin-exec
 +     */
 +    private String pluginWorkDirectory;

1. Would it be better to make it a File instead of a String, like
other fields there ?

2. It might be useful to allow absolute paths here.

E.g. if one wants to move it to the system temporary directory, or to
a RAM drive.

Best regards,
Konstantin Kolinko

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1343301 - /tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java

2012-05-28 Thread Olivier Lamy
2012/5/28 Konstantin Kolinko knst.koli...@gmail.com:
 2012/5/28  ol...@apache.org:
 Author: olamy
 Date: Mon May 28 15:53:09 2012
 New Revision: 1343301

 URL: http://svn.apache.org/viewvc?rev=1343301view=rev
 Log:
 [MTOMCAT-155] allow exec-war war run dependencies that are generated in 
 current mvn execution, but not yet installed to maven repo
 Submitted by Peter Lynch.

 Modified:
    
 tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractExecWarMojo.java

(...)
 @@ -96,6 +94,13 @@ public abstract class AbstractExecWarMoj
     private File buildDirectory;

     /**
 +     * Path under {@link #buildDirectory} where this mojo may do temporary 
 work.
 +     *
 +     * @parameter default-value=tomcat7-maven-plugin-exec
 +     */
 +    private String pluginWorkDirectory;

 1. Would it be better to make it a File instead of a String, like
 other fields there ?

 2. It might be useful to allow absolute paths here.

 E.g. if one wants to move it to the system temporary directory, or to
 a RAM drive.
sounds good idea.
I will change that.
Thanks for the review!

 Best regards,
 Konstantin Kolinko

 -
 To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: dev-h...@tomcat.apache.org




-- 
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org