You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by ap...@apache.org on 2010/11/19 10:47:04 UTC

svn commit: r1036796 - in /incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src: main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java test/groovy/npanday/plugin/vsinstaller/VsInstallerMojoTest.groovy

Author: apadilla
Date: Fri Nov 19 10:47:04 2010
New Revision: 1036796

URL: http://svn.apache.org/viewvc?rev=1036796&view=rev
Log:
[NPANDAY-335]
* refactored code
- added a function that would get the installationLocation 
- revised code that if "Program Files" doesn't exist, it will be installed to "user.dir"
- revised unit test 

Modified:
    incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java
    incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/test/groovy/npanday/plugin/vsinstaller/VsInstallerMojoTest.groovy

Modified: incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java?rev=1036796&r1=1036795&r2=1036796&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java Fri Nov 19 10:47:04 2010
@@ -195,6 +195,8 @@ public class VsInstallerMojo
 
         collectDefaultVSAddinDirectories();
 
+        getInstallationLocation();
+
         for ( File vsAddinsDir : vsAddinDirectories )
         {
             writePlugin( vsAddinsDir );
@@ -275,12 +277,6 @@ public class VsInstallerMojo
 
             writer = new OutputStreamWriter( new FileOutputStream( outputFile ), "Unicode" );
 
-
-            if ( installationLocation == null || installationLocation.length() == 0 )
-            {
-                 installationLocation = System.getenv( "PROGRAMFILES" ) + File.separator + "NPanday";
-            }
-
             writer.write( addin.replaceAll( "\\$\\{installationLocation\\}", installationLocation.replaceAll( "\\\\", "\\\\\\\\" ) ) );
         }
         catch ( IOException e )
@@ -327,21 +323,10 @@ public class VsInstallerMojo
         {
             String src = System.getProperty( "user.dir" ) + File.separator + "target";
 
-            String dest;
-
-            if ( installationLocation == null || installationLocation.length() == 0 )
-            {
-                dest = System.getenv( "PROGRAMFILES" ) + File.separator + "NPanday";
-            }
-            else
-            {
-                dest = installationLocation;
-            }
-
             File srcFolder = new File( src );
-            File destFolder = new File( dest );
+            File destFolder = new File( installationLocation );
 
-            new File( dest ).mkdirs();
+            new File( installationLocation ).mkdirs();
 
             IOFileFilter dllSuffixFilter = FileFilterUtils.suffixFileFilter( ".dll" );
             IOFileFilter dllFiles = FileFilterUtils.andFileFilter( FileFileFilter.FILE, dllSuffixFilter );
@@ -355,4 +340,20 @@ public class VsInstallerMojo
         }
     }
 
+    private void getInstallationLocation()
+    {
+        if ( installationLocation == null || installationLocation.length() == 0 )
+        {
+            String programFilesPath = System.getenv( "PROGRAMFILES" );
+
+            if ( programFilesPath == null || programFilesPath.length() == 0 )
+            {
+			    programFilesPath = System.getProperty( "user.dir" );
+			}
+                installationLocation = programFilesPath + File.separator + "NPanday";
+        }
+
+        installationLocation = installationLocation + File.separator + "bin";
+    }
+
 }

Modified: incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/test/groovy/npanday/plugin/vsinstaller/VsInstallerMojoTest.groovy
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/test/groovy/npanday/plugin/vsinstaller/VsInstallerMojoTest.groovy?rev=1036796&r1=1036795&r2=1036796&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/test/groovy/npanday/plugin/vsinstaller/VsInstallerMojoTest.groovy (original)
+++ incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/test/groovy/npanday/plugin/vsinstaller/VsInstallerMojoTest.groovy Fri Nov 19 10:47:04 2010
@@ -96,6 +96,7 @@ public class VsInstallerMojoTest{
 		mojo.collectDefaultVSAddinDirectories()
 		List results = mojo.vsAddinDirectories
 		
+		mojo.installationLocation = tempDir.getPath()+"/bin"
 		mojo.localRepository = tempDir.getPath()+"/m2/repo"
 		
 		results.each{ mojo.writePlugin it  }
@@ -115,6 +116,7 @@ public class VsInstallerMojoTest{
 		mojo.collectDefaultVSAddinDirectories()
 		List results = mojo.vsAddinDirectories
 		
+		mojo.installationLocation = tempDir.getPath()+"/bin"
 		mojo.localRepository = tempDir.getPath()+"/m2/repo"
 		
 		results.each{ mojo.writePlugin it }



Re: svn commit: r1036796 - in /incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src: main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java test/groovy/npanday/plugin/vsinstaller/VsInstallerMojoTest.groovy

Posted by Brett Porter <br...@apache.org>.
On 19/11/2010, at 9:47 PM, apadilla@apache.org wrote:

>             File srcFolder = new File( src );
> -            File destFolder = new File( dest );
> +            File destFolder = new File( installationLocation );
> 
> -            new File( dest ).mkdirs();
> +            new File( installationLocation ).mkdirs();

...

> +    private void getInstallationLocation()
> +    {
> +        if ( installationLocation == null || installationLocation.length() == 0 )
> +        {
> +            String programFilesPath = System.getenv( "PROGRAMFILES" );
> +
> +            if ( programFilesPath == null || programFilesPath.length() == 0 )
> +            {
> +			    programFilesPath = System.getProperty( "user.dir" );
> +			}
> +                installationLocation = programFilesPath + File.separator + "NPanday";
> +        }
> +
> +        installationLocation = installationLocation + File.separator + "bin";
> +    }

I'd suggest making installationLocation a File type to start with - Maven will deal with it correctly. You should avoid pasting together paths - see this comment: https://issues.apache.org/jira/browse/NPANDAY-345?focusedCommentId=12932941&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12932941

That would also avoid needing to convert it twice in the earlier example.

- Brett

--
Brett Porter
brett@apache.org
http://brettporter.wordpress.com/