Pass https.protocols to surefire
Use source/target 1.7 for Java 9 and above
diff --git a/pom.xml b/pom.xml
index c9dc185..7e5138e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -148,5 +148,29 @@
</plugins>
</build>
</profile>
+ <profile>
+ <activation>
+ <property>
+ <name>https.protocols</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemProperties combine.children="append">
+ <property>
+ <name>https.protocols</name>
+ <value>${https.protocols}</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
</profiles>
</project>
diff --git a/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java b/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java
index deab040..874f51d 100644
--- a/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java
+++ b/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java
@@ -48,14 +48,7 @@
request.setBaseDirectory( basedir );
request.setDebug( true );
request.setGoals( Arrays.asList( "clean", "package" ) );
-
- if ( !System.getProperty( "java.version" ).startsWith( "1." ) )
- {
- Properties properties = new Properties();
- properties.put( "maven.compiler.source", "1.6" );
- properties.put( "maven.compiler.target", "1.6" );
- request.setProperties( properties );
- }
+ request.setProperties( getProperties() );
InvocationResult result = invoker.execute( request );
@@ -74,14 +67,8 @@
request.setBaseDirectory( basedir );
request.setDebug( true );
request.setGoals( Arrays.asList( "clean", "package" ) );
+ request.setProperties( getProperties() );
- if ( !System.getProperty( "java.version" ).startsWith( "1." ) )
- {
- Properties properties = new Properties();
- properties.put( "maven.compiler.source", "1.6" );
- properties.put( "maven.compiler.target", "1.6" );
- request.setProperties( properties );
- }
InvocationResult result = invoker.execute( request );
assertEquals( 1, result.getExitCode() );
@@ -100,14 +87,7 @@
request.setDebug( true );
request.setGoals( Arrays.asList( "clean", "package" ) );
request.setTimeoutInSeconds( 4 );
-
- if ( !System.getProperty( "java.version" ).startsWith( "1." ) )
- {
- Properties properties = new Properties();
- properties.put( "maven.compiler.source", "1.6" );
- properties.put( "maven.compiler.target", "1.6" );
- request.setProperties( properties );
- }
+ request.setProperties( getProperties() );
InvocationResult result = invoker.execute( request );
@@ -134,7 +114,8 @@
request.setPomFileName( "pom with spaces.xml" );
request.setDebug( true );
request.setGoals( Arrays.asList( "clean" ) );
-
+ request.setProperties( getProperties() );
+
InvocationResult result = invoker.execute( request );
assertEquals( 0, result.getExitCode() );
@@ -155,6 +136,7 @@
request.setPomFileName( "pom with spaces & special char.xml" );
request.setDebug( true );
request.setGoals( Arrays.asList( "clean" ) );
+ request.setProperties( getProperties() );
InvocationResult result = invoker.execute( request );
@@ -176,6 +158,7 @@
request.setUserSettingsFile( new File( basedir, "settings with spaces.xml" ) );
request.setDebug( true );
request.setGoals( Arrays.asList( "validate" ) );
+ request.setProperties( getProperties() );
InvocationResult result = invoker.execute( request );
@@ -197,6 +180,7 @@
request.setLocalRepositoryDirectory( new File( basedir, "repo with spaces" ) );
request.setDebug( true );
request.setGoals( Arrays.asList( "validate" ) );
+ request.setProperties( getProperties() );
InvocationResult result = invoker.execute( request );
@@ -216,7 +200,7 @@
InvocationRequest request = new DefaultInvocationRequest();
request.setBaseDirectory( basedir );
- Properties props = new Properties();
+ Properties props = getProperties();
props.setProperty( "key", "value with spaces" );
props.setProperty( "key with spaces", "value" );
request.setProperties( props );
@@ -303,5 +287,21 @@
System.out.println( "Starting: " + element.getMethodName() );
}
-
+
+ private Properties getProperties()
+ {
+ Properties properties = new Properties();
+ if ( !System.getProperty( "java.version" ).startsWith( "1." ) )
+ {
+ properties.put( "maven.compiler.source", "1.7" );
+ properties.put( "maven.compiler.target", "1.7" );
+ }
+
+ String httpProtocols = System.getProperty( "https.protocols" );
+ if ( httpProtocols != null )
+ {
+ properties.put( "https.protocols", httpProtocols );
+ }
+ return properties;
+ }
}