blob: 2afd430b445e91b451b366a7adff81e81827b444 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.io.*;
import java.util.*;
import java.util.jar.*;
import org.codehaus.plexus.util.*;
import org.codehaus.plexus.util.cli.*;
import org.codehaus.plexus.util.FileUtils;
boolean result = true;
try
{
File target = new File( basedir, "target" );
if ( !target.exists() || !target.isDirectory() )
{
System.err.println( "target file is missing or not a directory." );
return false;
}
File artifact = new File( target, "MJAR-82-1.0-SNAPSHOT.jar" );
if ( !artifact.exists() || artifact.isDirectory() )
{
System.err.println( "artifact file is missing or a directory." );
return false;
}
String localRepoPath = basedir.getParentFile().getParentFile().getParentFile().getPath() + "/target/local-repo";
FileUtils.copyFile( artifact, new File( localRepoPath, "MJAR-82-1.0-SNAPSHOT.jar" ) );
Commandline commandline = new Commandline();
commandline.setExecutable( "java" );
commandline.setWorkingDirectory( localRepoPath );
System.out.println(" localRepoPath " + localRepoPath );
commandline.createArg().setLine( "-jar MJAR-82-1.0-SNAPSHOT.jar" );
CommandLineUtils.StringStreamConsumer consumer = new CommandLineUtils.StringStreamConsumer();
int res = CommandLineUtils.executeCommandLine( commandline, consumer, consumer );
String output = consumer.getOutput();
System.out.println( "res " + res );
System.out.println( output );
if ( res != 0 )
{
System.err.println( "commandline execution return code != 0 " + res );
return false;
}
if ( output.indexOf("great it works") < 0 )
{
System.err.println( "output not contains great it works" );
return false;
}
}
catch( Throwable e )
{
e.printStackTrace();
result = false;
}
return result;