[ 
https://issues.apache.org/jira/browse/ARCHETYPE-558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Elliotte Rusty Harold updated ARCHETYPE-558:
--------------------------------------------
    Fix Version/s: 3.2.1

> Allow transitive requiredProperty from non default ones
> -------------------------------------------------------
>
>                 Key: ARCHETYPE-558
>                 URL: https://issues.apache.org/jira/browse/ARCHETYPE-558
>             Project: Maven Archetype
>          Issue Type: New Feature
>          Components: Generator
>    Affects Versions: 3.0.1
>            Reporter: Esteban DUGUEPEROUX
>            Priority: Major
>             Fix For: 3.2.1
>
>
> Hi,
> I want to create a Maven Archetype with 2 requiredProperty :
>  
> <requiredProperty key="apiName" />
> <requiredProperty key="resourceName" />
>  
> apiName is used for the artifactId as follow:
> <requiredProperty key="artifactId">
>  <defaultValue>${apiName}</defaultValue>
>  </requiredProperty>
>  
> I want also to define transitive properties from these 2 first properties:
>  
> <requiredProperty key="camelCaseAPIName">
>  <defaultValue>${artifactId.replaceAll("^a|-a", "A").replaceAll("^b|-b", 
> "B").replaceAll("^c|-c", "C").replaceAll("^d|-d", "D").replaceAll("^e|-e", 
> "E").replaceAll("^f|-f", "F").replaceAll("^g|-g", "G").replaceAll("^h|-h", 
> "H").replaceAll("^i|-i", "I").replaceAll("^j|-j", "J").replaceAll("^k|-k", 
> "K").replaceAll("^l|-l", "L").replaceAll("^m|-m", "M").replaceAll("^n|-n", 
> "N").replaceAll("^o|-o", "O").replaceAll("^p|-p", "P").replaceAll("^q|-q", 
> "Q").replaceAll("^r|-r", "R").replaceAll("^s|-s", "S").replaceAll("^t|-t", 
> "T").replaceAll("^u|-u", "U").replaceAll("^v|-v", "V").replaceAll("^w|-w", 
> "W").replaceAll("^x|-x", "X").replaceAll("^y|-y", "Y").replaceAll("^z|-z", 
> "Z")}</defaultValue>
>  </requiredProperty>
>  <requiredProperty key="camelCaseResourceName">
>  <defaultValue>${resourceName.replaceAll("^a|-a", "A").replaceAll("^b|-b", 
> "B").replaceAll("^c|-c", "C").replaceAll("^d|-d", "D").replaceAll("^e|-e", 
> "E").replaceAll("^f|-f", "F").replaceAll("^g|-g", "G").replaceAll("^h|-h", 
> "H").replaceAll("^i|-i", "I").replaceAll("^j|-j", "J").replaceAll("^k|-k", 
> "K").replaceAll("^l|-l", "L").replaceAll("^m|-m", "M").replaceAll("^n|-n", 
> "N").replaceAll("^o|-o", "O").replaceAll("^p|-p", "P").replaceAll("^q|-q", 
> "Q").replaceAll("^r|-r", "R").replaceAll("^s|-s", "S").replaceAll("^t|-t", 
> "T").replaceAll("^u|-u", "U").replaceAll("^v|-v", "V").replaceAll("^w|-w", 
> "W").replaceAll("^x|-x", "X").replaceAll("^y|-y", "Y").replaceAll("^z|-z", 
> "Z")}</defaultValue>
>  </requiredProperty>
>  
> to have a camel case version of the 2 first properties.
> For camelCaseAPIName property, it works because it uses artifactId property 
> which is same as apiName. But for camelCaseResourceName it doesn't works 
> because resourceName property is not added in velocity context. Only 
> requiredProperty with no value and default value are set in velocity context.
> See 
> org.apache.maven.archetype.ui.generation.DefaultArchetypeGenerationConfigurator.configureArchetype(ArchetypeGenerationRequest,
>  Boolean, Properties) line 262.
>  
> Could we have velocity context extended to property with value and no default 
> value?
>  
> Best Regards.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to