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 )
             {


Reply via email to