Author: brett
Date: Tue Dec 20 07:04:31 2011
New Revision: 1221124
URL: http://svn.apache.org/viewvc?rev=1221124&view=rev
Log:
merge enhancements to VSInstaller Mojo from trunk
Modified:
incubator/npanday/branches/npanday-1.4.x/ (props changed)
incubator/npanday/branches/npanday-1.4.x/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java
Propchange: incubator/npanday/branches/npanday-1.4.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Dec 20 07:04:31 2011
@@ -1,4 +1,4 @@
/incubator/npanday/branches/NPANDAY-410:1210743-1210765
/incubator/npanday/branches/npanday-uac-removed:1002005-1024539
/incubator/npanday/branches/npanday-vs2010-support:1002029-1025477
-/incubator/npanday/trunk:1221087,1221092
+/incubator/npanday/trunk:1221087,1221092,1221101,1221116
Modified:
incubator/npanday/branches/npanday-1.4.x/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java
URL:
http://svn.apache.org/viewvc/incubator/npanday/branches/npanday-1.4.x/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java?rev=1221124&r1=1221123&r2=1221124&view=diff
==============================================================================
---
incubator/npanday/branches/npanday-1.4.x/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java
(original)
+++
incubator/npanday/branches/npanday-1.4.x/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java
Tue Dec 20 07:04:31 2011
@@ -22,16 +22,13 @@ package npanday.plugin.vsinstaller;
import npanday.artifact.ArtifactContext;
import npanday.artifact.ArtifactInstaller;
import npanday.artifact.NPandayArtifactResolutionException;
-import npanday.artifact.NetDependenciesRepository;
import npanday.registry.NPandayRepositoryException;
import npanday.registry.RepositoryRegistry;
-import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.settings.Settings;
import org.apache.commons.io.filefilter.*;
import org.apache.commons.io.FileUtils;
import org.codehaus.plexus.util.IOUtil;
@@ -116,6 +113,13 @@ public class VsInstallerMojo
}
artifactHandlerManager.addHandlers( map );
+ // in case Maven doesn't populate the base directory
+ if ( mavenProject.getBasedir() == null || "${project.basedir}".equals(
mavenProject.getBasedir().getName() ) )
+ {
+ mavenProject.setBasedir( new File( System.getProperty( "user.dir"
) ) );
+ mavenProject.getBuild().setDirectory( new File(
mavenProject.getBasedir(), "target" ).getAbsolutePath() );
+ }
+
try
{
ArtifactInstaller installer =
artifactContext.getArtifactInstaller();
@@ -232,14 +236,11 @@ public class VsInstallerMojo
{
try
{
- String src = System.getProperty( "user.dir" ) + File.separator +
"target";
-
- File srcFolder = new File( src );
-
IOFileFilter dllSuffixFilter = FileFilterUtils.suffixFileFilter(
".dll" );
IOFileFilter dllFiles = FileFilterUtils.andFileFilter(
FileFileFilter.FILE, dllSuffixFilter );
- FileUtils.copyDirectory(srcFolder, installationLocation, dllFiles,
true);
+ FileUtils.copyDirectory( new File(
mavenProject.getBuild().getDirectory() ), installationLocation, dllFiles,
+ true );
}
catch ( IOException e )
@@ -254,12 +255,22 @@ public class VsInstallerMojo
{
String programFilesPath = System.getenv( "PROGRAMFILES" );
- if ( programFilesPath == null || programFilesPath.length() == 0 )
+ if ( programFilesPath != null && programFilesPath.length() != 0 )
{
- programFilesPath = System.getProperty( "user.dir" );
- }
+ installationLocation = new File ( programFilesPath,
"NPanday/bin" );
- installationLocation = new File ( programFilesPath, "NPanday/bin"
);
+ if ( !installationLocation.exists() )
+ {
+ if ( !installationLocation.mkdirs() )
+ {
+ installationLocation = new File( System.getProperty(
"user.home" ), "NPanday/bin" );
+ }
+ }
+ }
+ else
+ {
+ installationLocation = new File( System.getProperty(
"user.home" ), "NPanday/bin" );
+ }
}
else
{