You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2021/12/14 08:49:57 UTC
[maven-archetype] 01/01: [ARCHTYPE-308] optionally ask for properties with default values in
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch ARCHETYPE-308
in repository https://gitbox.apache.org/repos/asf/maven-archetype.git
commit 2af05560ad872b3437ecb249cdad1740698a7292
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Thu Oct 8 20:19:38 2020 +0200
[ARCHTYPE-308] optionally ask for properties with default values in
interactive mode
Closes #60
---
.../apache/maven/archetype/ArchetypeGenerationRequest.java | 14 ++++++++++++++
.../archetype/mojos/CreateProjectFromArchetypeMojo.java | 8 ++++++++
.../generation/DefaultArchetypeGenerationConfigurator.java | 2 +-
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java b/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
index 2f3d124..4f89d83 100644
--- a/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
+++ b/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeGenerationRequest.java
@@ -40,6 +40,8 @@ public class ArchetypeGenerationRequest
private boolean interactiveMode;
+ private boolean askForDefaultPropertyValues;
+
private TransferListener transferListener;
private String outputDirectory;
@@ -297,6 +299,18 @@ public class ArchetypeGenerationRequest
return this;
}
+ public boolean isAskForDefaultPropertyValues()
+ {
+ return askForDefaultPropertyValues;
+ }
+
+ public ArchetypeGenerationRequest setAskForDefaultPropertyValues( boolean askForDefaultPropertyValues )
+ {
+ this.askForDefaultPropertyValues = askForDefaultPropertyValues;
+
+ return this;
+ }
+
public boolean isOffline()
{
return offline;
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
index 88d2223..c7c7819 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
@@ -121,6 +121,13 @@ public class CreateProjectFromArchetypeMojo
private String archetypeCatalog;
/**
+ * If set to {@code true} will ask for values also for properties having defaults in the first place.
+ * Only has an effect if {@link #interactiveMode} is used.
+ */
+ @Parameter( property = "askForDefaultPropertyValues", defaultValue = "false", required = true )
+ private Boolean askForDefaultPropertyValues;
+
+ /**
* Local Maven repository.
*/
@Parameter( defaultValue = "${localRepository}", readonly = true, required = true )
@@ -177,6 +184,7 @@ public class CreateProjectFromArchetypeMojo
.setLocalRepository( localRepository )
.setRemoteArtifactRepositories( remoteArtifactRepositories )
.setFilter( filter )
+ .setAskForDefaultPropertyValues( askForDefaultPropertyValues )
.setProjectBuildingRequest( session.getProjectBuildingRequest() );
try
diff --git a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
index c28e307..6b9e9e7 100644
--- a/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
+++ b/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/generation/DefaultArchetypeGenerationConfigurator.java
@@ -198,7 +198,7 @@ public class DefaultArchetypeGenerationConfigurator
{
String value;
- if ( archetypeConfiguration.isConfigured( requiredProperty ) )
+ if ( archetypeConfiguration.isConfigured( requiredProperty ) && !request.isAskForDefaultPropertyValues() )
{
getLogger().info(
"Using property: " + requiredProperty + " = " + archetypeConfiguration.getProperty(