[ https://issues.apache.org/jira/browse/ARCHETYPE-505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17154593#comment-17154593 ]
Dietrich Schulten commented on ARCHETYPE-505: --------------------------------------------- The .gitignore and .gitattributes files are ignored both by {{{color:#808080}{color:#172b4d}create-from-project {color}{color}}}{color:#172b4d}*and* by {color}{color:#808080}{color:#172b4d}{{generate}}. With maven-archetype-plugin:3.1.2 and maven-resources-plugin:3.1.0 in Maven 3.6.2 not even the {{addDefaultExcludes}} option of the resources plugin has any effect, although create-from-project lists .gitignore and .gitattributes explicitly as file to include in archteype-metadata.xml.{color} {color} {color:#808080}{color:#172b4d}Since the .gitxxx files don't make it into the archetype, a groovy script can't restore them either.{color}{color} {color:#808080}{color:#172b4d}The handling of files which are on plexus' default excludes list is thoroughly broken in the current versions of the plugins.{color}{color} > archetype:create-from-project,the .gitignore file not copy to > archetype-resources > --------------------------------------------------------------------------------- > > Key: ARCHETYPE-505 > URL: https://issues.apache.org/jira/browse/ARCHETYPE-505 > Project: Maven Archetype > Issue Type: Bug > Components: Archetypes > Affects Versions: 2.4 > Environment: maven 3.3 ,maven-archetype-plugin 2.4 > Reporter: feilong > Priority: Major > Attachments: webapp-springmvc32.zip > > > I have a very simple maven test project for {{archetype:create-from-project}} > such as :(you can download from the Attachment) > {noformat} > | .gitignore > | pom.xml > | > \---src > +---main > | \---java > | overview.html > | > \---test > {noformat} > only {{.gitignore}} and {{pom.xml}}, and {{overview.html}} files > and I excute the command line in the root folder: > {code:xml} > mvn -X archetype:create-from-project > {code} > I see ,in the > {{target\generated-sources\archetype\src\main\resources\archetype-resources}} > folder, only > {noformat} > | pom.xml > | > \---src > \---main > \---java > overview.html > {noformat} > no {{.gitignore}} file > ---- > first , I search the same issue in jira, there is #ARCHETYPE-474 , but not as > my scene > ---- > I search some solution in stackoverflow > http://stackoverflow.com/questions/7981060/maven-archetype-plugin-doesnt-let-resources-in-archetype-resources-through#answer-37322323 > In pom.xml,I have also configed that > {code:xml} > <plugin> > <artifactId>maven-resources-plugin</artifactId> > <version>3.0.1</version> > <configuration> > <encoding>utf-8</encoding> > <includeEmptyDirs>true</includeEmptyDirs> > <addDefaultExcludes>false</addDefaultExcludes> > </configuration> > <executions> > <execution> > <id>default-resources</id> > <phase>process-resources</phase> > <goals> > <goal>resources</goal> > </goals> > <configuration> > <detail>true</detail> > </configuration> > </execution> > <execution> > <id>default-testResources</id> > <phase>process-test-resources</phase> > <goals> > <goal>testResources</goal> > </goals> > </execution> > </executions> > </plugin> > {code} > {{maven-resources-plugin}} set {{addDefaultExcludes}} attribute to {{false}} > but does't work > ---- > so, I look for the maven-archetype source code in github > https://github.com/apache/maven-archetype > the > org.apache.maven.archetype.creator.FilesetArchetypeCreator.*createArchetypeFiles*(Properties, > List<FileSet>, String, File, File, String) method > line 796 show that: > {code:title=FilesetArchetypeCreator.java|borderStyle=solid} > private void createArchetypeFiles( Properties reverseProperties, > List<FileSet> fileSets, String packageName, > File basedir, File > archetypeFilesDirectory, String defaultEncoding ) > throws IOException > { > getLogger().debug( "Creating Archetype/Module files from " + basedir > + " to " + archetypeFilesDirectory ); > for ( FileSet fileSet : fileSets ) > { > DirectoryScanner scanner = new DirectoryScanner(); > scanner.setBasedir( basedir ); > scanner.setIncludes( (String[]) concatenateToList( > fileSet.getIncludes(), fileSet.getDirectory() ).toArray( > new String[fileSet.getIncludes().size()] ) ); > scanner.setExcludes( (String[]) fileSet.getExcludes().toArray( > new String[fileSet.getExcludes().size()] ) ); > scanner.addDefaultExcludes(); > getLogger().debug( "Using fileset " + fileSet ); > scanner.scan(); > List<String> fileSetResources = Arrays.asList( > scanner.getIncludedFiles() ); > getLogger().debug( "Scanned " + fileSetResources.size() + " > resources" ); > > ..... > {code} > here is {{scanner.addDefaultExcludes();}} > So , the result log show that : > {noformat} > [DEBUG] Creating Archetype/Module files from > C:\Users\feilong\feilong\feilong-archetypes\0726-232539 to > C:\Users\feilong\feilong\feilong-archetypes\0726-232539\ > target\generated-sources\archetype\src\main\resources\archetype-resources > [DEBUG] Using fileset src/main/java (Copied-Flat) [**/*.html -- ] > [DEBUG] Scanned 1 resources > [DEBUG] Package as Directory: Package:com.baozun.store->com\baozun\store > [DEBUG] InputFileName:src\main\java\overview.html > [DEBUG] OutputFileName:src\main\java\overview.html > [DEBUG] Copied src/main/java files > [DEBUG] Using fileset (Copied-Flat) [.gitignore -- ] > [DEBUG] Scanned 0 resources > [DEBUG] Package as Directory: Package:com.baozun.store->com\baozun\store > [DEBUG] Copied files > [DEBUG] Created files for webapp-springmvc3 > {noformat} > when scan {{.gitignore}} , {{Scanned 0 resources}} > ---- -- This message was sent by Atlassian Jira (v8.3.4#803005)