diff options
author | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-10-18 01:19:11 +0200 |
---|---|---|
committer | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-10-18 01:19:11 +0200 |
commit | 2849270700f5990b2c6110c85c8abb7a12b122a6 (patch) | |
tree | 34f38bf2be9ab1a73d3873a174d254ae552e133f /src/main/java/org/apache/maven/plugin/nar/NarUtil.java | |
parent | d84b1eb2dc10f76e81a2c47399fd3192701408f9 (diff) | |
download | maven-nar-plugin-2849270700f5990b2c6110c85c8abb7a12b122a6.tar.gz maven-nar-plugin-2849270700f5990b2c6110c85c8abb7a12b122a6.tar.bz2 maven-nar-plugin-2849270700f5990b2c6110c85c8abb7a12b122a6.tar.xz maven-nar-plugin-2849270700f5990b2c6110c85c8abb7a12b122a6.zip |
NarUtil runCommand now quotes command
Diffstat (limited to 'src/main/java/org/apache/maven/plugin/nar/NarUtil.java')
-rw-r--r-- | src/main/java/org/apache/maven/plugin/nar/NarUtil.java | 58 |
1 files changed, 31 insertions, 27 deletions
diff --git a/src/main/java/org/apache/maven/plugin/nar/NarUtil.java b/src/main/java/org/apache/maven/plugin/nar/NarUtil.java index 4aad1fe..7e45013 100644 --- a/src/main/java/org/apache/maven/plugin/nar/NarUtil.java +++ b/src/main/java/org/apache/maven/plugin/nar/NarUtil.java @@ -412,38 +412,40 @@ public class NarUtil public static int runCommand( String cmd, String[] args, File workingDirectory, String[] env, Log log ) throws MojoExecutionException, MojoFailureException { - log.debug( "RunCommand: " + cmd ); NarCommandLine cmdLine = new NarCommandLine(); - cmdLine.setExecutable( cmd ); - if ( args != null ) + + try { - for ( int i = 0; i < args.length; i++ ) + cmd = CommandLineUtils.quote( cmd ); + log.debug( "RunCommand: " + cmd ); + cmdLine.setExecutable( cmd ); + if ( args != null ) { - log.debug( " '" + args[i] + "'" ); + for ( int i = 0; i < args.length; i++ ) + { + log.debug( " '" + args[i] + "'" ); + } + cmdLine.addArguments( args ); + } + if ( workingDirectory != null ) + { + log.debug( "in: " + workingDirectory.getPath() ); + cmdLine.setWorkingDirectory( workingDirectory ); } - cmdLine.addArguments( args ); - } - if ( workingDirectory != null ) - { - log.debug( "in: " + workingDirectory.getPath() ); - cmdLine.setWorkingDirectory( workingDirectory ); - } - if ( env != null ) - { - log.debug( "with Env:" ); - for ( int i = 0; i < env.length; i++ ) + if ( env != null ) { - String[] nameValue = env[i].split( "=", 2 ); - if ( nameValue.length < 2 ) - throw new MojoFailureException( " Misformed env: '" + env[i] + "'" ); - log.debug( " '" + nameValue[0] + "=" + nameValue[1] + "'" ); - cmdLine.addEnvironment( nameValue[0], nameValue[1] ); + log.debug( "with Env:" ); + for ( int i = 0; i < env.length; i++ ) + { + String[] nameValue = env[i].split( "=", 2 ); + if ( nameValue.length < 2 ) + throw new MojoFailureException( " Misformed env: '" + env[i] + "'" ); + log.debug( " '" + nameValue[0] + "=" + nameValue[1] + "'" ); + cmdLine.addEnvironment( nameValue[0], nameValue[1] ); + } } - } - try - { Process process = cmdLine.execute(); StreamGobbler errorGobbler = new StreamGobbler( process.getErrorStream(), true, log ); StreamGobbler outputGobbler = new StreamGobbler( process.getInputStream(), false, log ); @@ -487,10 +489,12 @@ public class NarUtil return (String[]) envVars.toArray( new String[envVars.size()] ); } } - - private Vector getSystemEnvironment() throws IOException { + + private Vector getSystemEnvironment() + throws IOException + { Properties envVars = CommandLineUtils.getSystemEnvVars(); - Vector systemEnvVars = new Vector(envVars.size()); + Vector systemEnvVars = new Vector( envVars.size() ); for ( Iterator i = envVars.keySet().iterator(); i.hasNext(); ) { |