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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to