[ https://issues.apache.org/jira/browse/ARCHETYPE-498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Petar Tahchiev updated ARCHETYPE-498: ------------------------------------- Description: Give user the ability to use maven properties in fileset include / exclude pattern. In methodProcessTemplate of class org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator, line 770 (in version 2.4). Adding this lines: {code} FileSet fileSet = iterator.next(); count++; if ( fileSet.getIncludes() != null && !fileSet.getIncludes().isEmpty() ) { final List<String> includes = new ArrayList<String>(); for ( String include : fileSet.getIncludes() ) { includes.add( replaceFilenameTokens( include, context ) ); } fileSet.setIncludes( includes ); } if ( fileSet.getExcludes() != null && !fileSet.getExcludes().isEmpty() ) { final List<String> excludes = new ArrayList<String>(); for ( String exclude : fileSet.getExcludes() ) { excludes.add( replaceFilenameTokens( exclude, context ) ); } fileSet.setExcludes( excludes ); } {code} is really usefull for conditional archetype generation ! So in {{archetype-metadata.xml}} {code} <requiredProperties> <requiredProperty key="base-name"> <defaultValue>${artifactId.substring(0,1)}</defaultValue> </requiredProperty> </requiredProperties> <fileSets> <fileSet filtered="true" packaged="false" encoding="UTF-8"> <directory>src/main/resources/directory> <includes> <include>__base-name__*.*</include> </includes> </fileSet> </fileSets> {code} was: Give user the ability to use maven properties in fileset include / exclude pattern. In methodProcessTemplate of class org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator, line 770 (in version 2.4). Adding this lines: FileSet fileSet = iterator.next(); count++; if ( fileSet.getIncludes() != null && !fileSet.getIncludes().isEmpty() ) { final List<String> includes = new ArrayList<String>(); for ( String include : fileSet.getIncludes() ) { includes.add( replaceFilenameTokens( include, context ) ); } fileSet.setIncludes( includes ); } if ( fileSet.getExcludes() != null && !fileSet.getExcludes().isEmpty() ) { final List<String> excludes = new ArrayList<String>(); for ( String exclude : fileSet.getExcludes() ) { excludes.add( replaceFilenameTokens( exclude, context ) ); } fileSet.setExcludes( excludes ); } is really usefull for conditional archetype generation ! So in archetype-metadata.xml <requiredProperties> <requiredProperty key="base-name"> <defaultValue>${artifactId.substring(0,1)}</defaultValue> </requiredProperty> </requiredProperties> <fileSets> <fileSet filtered="true" packaged="false" encoding="UTF-8"> <directory>src/main/resources/directory> <includes> <include>__base-name__*.*</include> </includes> </fileSet> </fileSets> > Ability to use properties in include and exclude pattern in fileset > ------------------------------------------------------------------- > > Key: ARCHETYPE-498 > URL: https://issues.apache.org/jira/browse/ARCHETYPE-498 > Project: Maven Archetype > Issue Type: New Feature > Components: Generator > Affects Versions: 2.4 > Environment: all > Reporter: Olivier GUILLET > Priority: Critical > Labels: features, patch > > Give user the ability to use maven properties in fileset include / exclude > pattern. > In methodProcessTemplate of class > org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator, line > 770 (in version 2.4). > Adding this lines: > {code} > FileSet fileSet = iterator.next(); > count++; > if ( fileSet.getIncludes() != null && > !fileSet.getIncludes().isEmpty() ) > { > final List<String> includes = new ArrayList<String>(); > for ( String include : fileSet.getIncludes() ) > { > includes.add( replaceFilenameTokens( include, context ) ); > } > fileSet.setIncludes( includes ); > } > if ( fileSet.getExcludes() != null && > !fileSet.getExcludes().isEmpty() ) > { > final List<String> excludes = new ArrayList<String>(); > for ( String exclude : fileSet.getExcludes() ) > { > excludes.add( replaceFilenameTokens( exclude, context ) ); > } > fileSet.setExcludes( excludes ); > } > {code} > is really usefull for conditional archetype generation ! > So in {{archetype-metadata.xml}} > {code} > <requiredProperties> > <requiredProperty key="base-name"> > <defaultValue>${artifactId.substring(0,1)}</defaultValue> > </requiredProperty> > </requiredProperties> > <fileSets> > <fileSet filtered="true" packaged="false" encoding="UTF-8"> > <directory>src/main/resources/directory> > <includes> > <include>__base-name__*.*</include> > </includes> > </fileSet> > </fileSets> > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)