Allow basedir system property to be null for build info.txt

- basedir can be null when test is executed by IDE, use default value
- use try-with-resources
This commit is contained in:
Slawomir Jaranowski 2022-11-11 13:28:30 +01:00
parent 2c2c7fbf58
commit fc6d2311a6

View File

@ -27,7 +27,6 @@
import java.util.Map; import java.util.Map;
import org.apache.maven.shared.verifier.Verifier; import org.apache.maven.shared.verifier.Verifier;
import org.codehaus.plexus.util.IOUtil;
import org.junit.jupiter.api.ClassDescriptor; import org.junit.jupiter.api.ClassDescriptor;
import org.junit.jupiter.api.ClassOrderer; import org.junit.jupiter.api.ClassOrderer;
import org.junit.jupiter.api.ClassOrdererContext; import org.junit.jupiter.api.ClassOrdererContext;
@ -51,37 +50,27 @@ private static void infoProperty( PrintStream info, String property )
{ {
try try
{ {
PrintStream info = null; Verifier verifier = new Verifier( "" );
Verifier verifier = null;
try
{
verifier = new Verifier( "" );
String mavenVersion = verifier.getMavenVersion(); String mavenVersion = verifier.getMavenVersion();
String executable = verifier.getExecutable(); String executable = verifier.getExecutable();
out.println( "Running integration tests for Maven " + mavenVersion + System.lineSeparator() out.println( "Running integration tests for Maven " + mavenVersion + System.lineSeparator()
+ "\tusing Maven executable: " + executable + System.lineSeparator() + "\tusing Maven executable: " + executable + System.lineSeparator()
+ "\twith verifier.forkMode: " + System.getProperty( "verifier.forkMode", "not defined == fork" ) ); + "\twith verifier.forkMode: " + System.getProperty( "verifier.forkMode",
"not defined == fork" ) );
System.setProperty( "maven.version", mavenVersion ); System.setProperty( "maven.version", mavenVersion );
String basedir = System.getProperty( "basedir" ); String basedir = System.getProperty( "basedir", "." );
info = new PrintStream( Files.newOutputStream( Paths.get( basedir, "target/info.txt" ) ) );
try ( PrintStream info = new PrintStream(
Files.newOutputStream( Paths.get( basedir, "target/info.txt" ) ) ) )
{
infoProperty( info, "maven.version" ); infoProperty( info, "maven.version" );
infoProperty( info, "java.version" ); infoProperty( info, "java.version" );
infoProperty( info, "os.name" ); infoProperty( info, "os.name" );
infoProperty( info, "os.version" ); infoProperty( info, "os.version" );
} }
finally
{
if ( verifier != null )
{
verifier.resetStreams();
}
IOUtil.close( info );
}
} }
catch ( Exception e ) catch ( Exception e )
{ {