1 package org.codehaus.mojo.natives.util; 2 3 import org.codehaus.mojo.natives.NativeBuildException; 4 import org.codehaus.plexus.util.cli.CommandLineException; 5 import org.codehaus.plexus.util.cli.CommandLineUtils; 6 import org.codehaus.plexus.util.cli.Commandline; 7 import org.codehaus.plexus.util.cli.DefaultConsumer; 8 import org.codehaus.plexus.logging.Logger; 9 10 public class CommandLineUtil 11 { 12 public static void execute( Commandline cl, Logger logger ) 13 throws NativeBuildException 14 { 15 int ok; 16 17 try 18 { 19 DefaultConsumer stdout = new DefaultConsumer(); 20 21 DefaultConsumer stderr = stdout; 22 23 logger.info( cl.toString() ); 24 25 ok = CommandLineUtils.executeCommandLine( cl, stdout, stderr ); 26 } 27 catch ( CommandLineException ecx ) 28 { 29 throw new NativeBuildException( "Error executing command line", ecx ); 30 } 31 32 if ( ok != 0 ) 33 { 34 throw new NativeBuildException( "Error executing command line. Exit code:" + ok ); 35 } 36 } 37 }