You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Jelu Gunther <gu...@infrabel.be> on 2014/03/20 15:49:48 UTC
DefaultFilesetArchetypeGenerator.java
Hi,
We are bumping into the following problem, a partial archetype contains files that already exist in the maven project. At the moment this goes into error although it seems that it should go into warning (looking at the name of the method used).
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator contains the following method: 'private void processArchetypeTemplatesWithWarning'
The implementation is: processTemplates( packageName, outputDirectoryFile, context, archetypeDescriptor, archetypeResources, archetypeZipFile, moduleOffset, true );
The boolean parameter true represents that the method should fail if the file already exists. Since it is true an exception is thrown, but the method is called 'processArchetypeTemplatesWithWarning':
Line 703 has the following statement:
if ( failIfExists )
{
throw new OutputFileExists( "Don't override file " + outFile.getAbsolutePath() );
}
getLogger().warn( "Don't override file " + outFile );
Since the method is called 'processArchetypeTemplatesWithWarning', we expect it to log a warning and not throw an exception. An interesting solution might be that a property can be used to control if it should overwrite, ignore or throw an error if a file already exists for a partial archetype.
The stacktrace:
org.apache.maven.archetype.exception.OutputFileExists: Don't override file C:\01._LocalData\Workspaces\Eclipse\dummy-test-project\src\test.txt
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processTemplate(DefaultFilesetArchetypeGenerator.java:705)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processFileSet(DefaultFilesetArchetypeGenerator.java:540)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processTemplates(DefaultFilesetArchetypeGenerator.java:785)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.processArchetypeTemplatesWithWarning(DefaultFilesetArchetypeGenerator.java:524)
at org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator.generateArchetype(DefaultFilesetArchetypeGenerator.java:169)
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.processFileSetArchetype(DefaultArchetypeGenerator.java:129)
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype(DefaultArchetypeGenerator.java:100)
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype(DefaultArchetypeGenerator.java:143)
Regards,
Günther
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org