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 <[email protected]>
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(

Reply via email to