Author: brett Date: Mon Aug 1 14:35:28 2011 New Revision: 1152803 URL: http://svn.apache.org/viewvc?rev=1152803&view=rev Log: [ARCHETYPE-349] Property not available in config when defaultValue in descriptor contains token Submitted by: Petr Janata, Jesse McConnell
Added: maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/pom.xml (with props) maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/META-INF/ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/META-INF/maven/ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/META-INF/maven/archetype-metadata.xml (with props) maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/archetype-resources/ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/archetype-resources/pom.xml (with props) Modified: maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java Added: maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/pom.xml URL: http://svn.apache.org/viewvc/maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/pom.xml?rev=1152803&view=auto ============================================================================== --- maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/pom.xml (added) +++ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/pom.xml Mon Aug 1 14:35:28 2011 @@ -0,0 +1,10 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>com.company</groupId> + <artifactId>archetype1</artifactId> + <packaging>jar</packaging> + <version>1.0-SNAPSHOT</version> + +</project> Propchange: maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/META-INF/maven/archetype-metadata.xml URL: http://svn.apache.org/viewvc/maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/META-INF/maven/archetype-metadata.xml?rev=1152803&view=auto ============================================================================== --- maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/META-INF/maven/archetype-metadata.xml (added) +++ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/META-INF/maven/archetype-metadata.xml Mon Aug 1 14:35:28 2011 @@ -0,0 +1,9 @@ +<archetype-descriptor xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" + name="archetype1"> + <requiredProperties> + <requiredProperty key="foo"> + <defaultValue>${some.name}</defaultValue> + </requiredProperty> + </requiredProperties> +</archetype-descriptor> Propchange: maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/META-INF/maven/archetype-metadata.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/archetype-resources/pom.xml URL: http://svn.apache.org/viewvc/maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/archetype-resources/pom.xml?rev=1152803&view=auto ============================================================================== --- maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/archetype-resources/pom.xml (added) +++ maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/archetype-resources/pom.xml Mon Aug 1 14:35:28 2011 @@ -0,0 +1,15 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>${groupId}</groupId> + <artifactId>${artifactId}</artifactId> + <packaging>jar</packaging> + <version>1.0-SNAPSHOT</version> + + <properties> + <foo>${foo}</foo> + </properties> + +</project> + Propchange: maven/archetype/trunk/maven-archetype-plugin/src/it/property-setting-cli/src/main/resources/archetype-resources/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Modified: maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java URL: http://svn.apache.org/viewvc/maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java?rev=1152803&r1=1152802&r2=1152803&view=diff ============================================================================== --- maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java (original) +++ maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java Mon Aug 1 14:35:28 2011 @@ -128,12 +128,18 @@ public class DefaultArchetypeFactory String defaultValue = requiredProperty.getDefaultValue(); - if ( properties.getProperty( key, defaultValue ) != null && !containsInnerProperty( defaultValue ) ) + if ( properties.getProperty( key ) != null ) { - String value = properties.getProperty( key, defaultValue ); + String value = properties.getProperty( key ); configuration.setProperty( key, value ); getLogger().debug( "Setting property " + key + "=" + value ); } + else if ( properties.getProperty( key, defaultValue ) != null && !containsInnerProperty( defaultValue ) ) + { + String value = properties.getProperty( key, defaultValue ); + configuration.setProperty( key, value ); + getLogger().debug( "Setting property " + key + "=" + value ); + } if ( requiredProperty.getDefaultValue() != null ) {