You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2018/08/10 09:29:30 UTC
[maven-archetype] 01/01: [ARCHETYPE-553] Allow additional
properties for IntegrationTestMojo's MavenInvoker
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch ARCHETYPE-553
in repository https://gitbox.apache.org/repos/asf/maven-archetype.git
commit eeef35777425204c46874f0d9946bbab2b58660f
Author: rfscholte <rf...@apache.org>
AuthorDate: Fri Aug 10 11:29:19 2018 +0200
[ARCHETYPE-553] Allow additional properties for IntegrationTestMojo's MavenInvoker
---
maven-archetype-plugin/pom.xml | 4 ++++
.../pom.xml | 5 ++++-
.../build-archetype-ignore-eol-encoding/pom.xml | 5 ++++-
.../src/it/projects/build-archetype/pom.xml | 6 +++++-
.../maven/archetype/mojos/IntegrationTestMojo.java | 21 +++++++++++++++++++++
5 files changed, 38 insertions(+), 3 deletions(-)
diff --git a/maven-archetype-plugin/pom.xml b/maven-archetype-plugin/pom.xml
index fccb897..d3435ba 100644
--- a/maven-archetype-plugin/pom.xml
+++ b/maven-archetype-plugin/pom.xml
@@ -232,6 +232,10 @@
<repository.proxy.url>${mrm.repository.url}</repository.proxy.url>
<archetype-repo.proxy.url>${archetype-repo.proxy.url}</archetype-repo.proxy.url>
</filterProperties>
+ <properties>
+ <!-- e.g. ensure that Java7 picks up TLSv1.2 when connecting with Central -->
+ <https.protocols>${https.protocols}</https.protocols>
+ </properties>
</configuration>
<executions>
<execution>
diff --git a/maven-archetype-plugin/src/it/projects/build-archetype-and-run-its-with-existing-parent/pom.xml b/maven-archetype-plugin/src/it/projects/build-archetype-and-run-its-with-existing-parent/pom.xml
index d9ef111..4261595 100644
--- a/maven-archetype-plugin/src/it/projects/build-archetype-and-run-its-with-existing-parent/pom.xml
+++ b/maven-archetype-plugin/src/it/projects/build-archetype-and-run-its-with-existing-parent/pom.xml
@@ -53,8 +53,11 @@ under the License.
<settingsFile>${basedir}/test-settings.xml</settingsFile>
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
<ignoreEOLStyle>true</ignoreEOLStyle>
+ <properties>
+ <!-- e.g. ensure that Java7 picks up TLSv1.2 when connecting with Central -->
+ <https.protocols>${https.protocols}</https.protocols>
+ </properties>
</configuration>
-
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
diff --git a/maven-archetype-plugin/src/it/projects/build-archetype-ignore-eol-encoding/pom.xml b/maven-archetype-plugin/src/it/projects/build-archetype-ignore-eol-encoding/pom.xml
index 833ee27..ae35464 100644
--- a/maven-archetype-plugin/src/it/projects/build-archetype-ignore-eol-encoding/pom.xml
+++ b/maven-archetype-plugin/src/it/projects/build-archetype-ignore-eol-encoding/pom.xml
@@ -56,8 +56,11 @@ under the License.
<configuration>
<settingsFile>${basedir}/test-settings.xml</settingsFile>
<localRepositoryPath>${basedir}/target/local-repo</localRepositoryPath>
+ <properties>
+ <!-- e.g. ensure that Java7 picks up TLSv1.2 when connecting with Central -->
+ <https.protocols>${https.protocols}</https.protocols>
+ </properties>
</configuration>
-
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
diff --git a/maven-archetype-plugin/src/it/projects/build-archetype/pom.xml b/maven-archetype-plugin/src/it/projects/build-archetype/pom.xml
index 31b8dad..37f7aef 100644
--- a/maven-archetype-plugin/src/it/projects/build-archetype/pom.xml
+++ b/maven-archetype-plugin/src/it/projects/build-archetype/pom.xml
@@ -50,11 +50,15 @@ under the License.
<artifactId>maven-archetype-plugin</artifactId>
<version>@project.version@</version>
<configuration>
+ <debug>true</debug>
<settingsFile>${basedir}/test-settings.xml</settingsFile>
<localRepositoryPath>${basedir}/target/local-repo</localRepositoryPath>
<ignoreEOLStyle>true</ignoreEOLStyle>
+ <properties>
+ <!-- e.g. ensure that Java7 picks up TLSv1.2 when connecting with Central -->
+ <https.protocols>${https.protocols}</https.protocols>
+ </properties>
</configuration>
-
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
index d1d1ba0..32e9815 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java
@@ -270,6 +270,14 @@ public class IntegrationTestMojo
@Parameter( property = "archetype.test.settingsFile" )
private File settingsFile;
+ /**
+ * Common set of properties to pass in on each project's command line, via -D parameters.
+ *
+ * @since 3.0.2
+ */
+ @Parameter
+ private Map<String, String> properties = new HashMap<String, String>();
+
public void execute()
throws MojoExecutionException, MojoFailureException
{
@@ -656,6 +664,19 @@ public class IntegrationTestMojo
request.setOutputHandler( logger );
}
+
+ if ( !properties.isEmpty() )
+ {
+ Properties props = new Properties();
+ for ( Map.Entry<String, String> entry : properties.entrySet() )
+ {
+ if ( entry.getValue() != null )
+ {
+ props.setProperty( entry.getKey(), entry.getValue() );
+ }
+ }
+ request.setProperties( props );
+ }
File interpolatedSettingsFile = null;
if ( settingsFile != null )