in src/main/java/org/apache/maven/plugins/jmod/AbstractJModMojo.java [160:211]
protected void executeCommand( Commandline cmd, File outputDirectory )
throws MojoExecutionException
{
if ( getLog().isDebugEnabled() )
{
// no quoted arguments ???
getLog().debug( CommandLineUtils.toString( cmd.getCommandline() ).replaceAll( "'", "" ) );
}
CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
CommandLineUtils.StringStreamConsumer out = new CommandLineUtils.StringStreamConsumer();
try
{
int exitCode = CommandLineUtils.executeCommandLine( cmd, out, err );
String output = ( StringUtils.isEmpty( out.getOutput() ) ? null : '\n' + out.getOutput().trim() );
if ( exitCode != 0 )
{
if ( StringUtils.isNotEmpty( output ) )
{
// Reconsider to use WARN / ERROR ?
getLog().info( output );
}
StringBuilder msg = new StringBuilder( "\nExit code: " );
msg.append( exitCode );
if ( StringUtils.isNotEmpty( err.getOutput() ) )
{
msg.append( " - " ).append( err.getOutput() );
}
msg.append( '\n' );
msg.append( "Command line was: " ).append( cmd ).append( '\n' ).append( '\n' );
throw new MojoExecutionException( msg.toString() );
}
if ( StringUtils.isNotEmpty( output ) )
{
String[] splitLines = StringUtils.split( output, "\n" );
for ( String outputLine : splitLines )
{
getLog().info( outputLine );
}
}
}
catch ( CommandLineException e )
{
throw new MojoExecutionException( "Unable to execute jmod command: " + e.getMessage(), e );
}
}