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(
