Class DefaultFilesetArchetypeGenerator
java.lang.Object
org.codehaus.plexus.logging.AbstractLogEnabled
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator
- All Implemented Interfaces:
FilesetArchetypeGenerator
,org.codehaus.plexus.logging.LogEnabled
@Component(role=FilesetArchetypeGenerator.class)
public class DefaultFilesetArchetypeGenerator
extends org.codehaus.plexus.logging.AbstractLogEnabled
implements FilesetArchetypeGenerator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ArchetypeArtifactManager
private ArchetypeFilesResolver
private PomManager
private static final java.util.regex.Pattern
Pattern used to detect tokens in a string.private org.codehaus.plexus.velocity.VelocityComponent
Fields inherited from interface org.apache.maven.archetype.generator.FilesetArchetypeGenerator
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
copyFile
(java.io.File outFile, java.lang.String template, boolean failIfExists, java.util.zip.ZipFile archetypeZipFile) private int
copyFiles
(java.lang.String directory, java.util.List<java.lang.String> fileSetResources, boolean packaged, java.lang.String packageName, java.io.File outputDirectoryFile, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, boolean failIfExists, org.apache.velocity.context.Context context) private java.lang.String
evaluateExpression
(org.apache.velocity.context.Context context, java.lang.String key, java.lang.String value) void
generateArchetype
(ArchetypeGenerationRequest request, java.io.File archetypeFile) Generate a project from an archetype file.private java.lang.String
getEncoding
(java.lang.String archetypeEncoding) private java.lang.String
getOffsetSeparator
(java.lang.String moduleOffset) private java.io.File
getOutputFile
(java.lang.String template, java.lang.String directory, java.io.File outputDirectoryFile, boolean packaged, java.lang.String packageName, java.lang.String moduleOffset, org.apache.velocity.context.Context context) java.lang.String
getPackageAsDirectory
(java.lang.String packageName) private java.lang.String
getPackageInPathFormat
(java.lang.String aPackage) private java.io.File
getTemporaryFile
(java.io.File file) private boolean
isArchetypeConfigured
(ArchetypeDescriptor archetypeDescriptor, ArchetypeGenerationRequest request) private boolean
maybeVelocityExpression
(java.lang.String value) private org.apache.velocity.context.Context
private void
processArchetypeTemplates
(AbstractArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile) private void
processArchetypeTemplatesWithWarning
(ArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile) private int
processFileSet
(java.lang.String directory, java.util.List<java.lang.String> fileSetResources, boolean packaged, java.lang.String packageName, org.apache.velocity.context.Context context, java.io.File outputDirectoryFile, java.lang.String moduleOffset, java.lang.String archetypeEncoding, boolean failIfExists) private void
processFilesetModule
(java.lang.String rootArtifactId, java.lang.String artifactId, java.util.List<java.lang.String> archetypeResources, java.io.File pom, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, java.io.File basedirPom, java.io.File outputDirectoryFile, java.lang.String packageName, AbstractArchetypeDescriptor archetypeDescriptor, org.apache.velocity.context.Context context) private void
processFilesetProject
(AbstractArchetypeDescriptor archetypeDescriptor, java.lang.String moduleId, java.util.List<java.lang.String> archetypeResources, java.io.File pom, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile, java.io.File basedirPom) private void
processPom
(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset) private void
processPomWithMerge
(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset) private void
processPomWithParent
(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset, java.io.File basedirPom, java.lang.String moduleId) private boolean
processTemplate
(java.io.File outFile, org.apache.velocity.context.Context context, java.lang.String templateFileName, java.lang.String encoding, boolean failIfExists) private void
processTemplates
(java.lang.String packageName, java.io.File outputDirectoryFile, org.apache.velocity.context.Context context, AbstractArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, boolean failIfExists) private java.lang.String
replaceFilenameTokens
(java.lang.String filePath, org.apache.velocity.context.Context context) Replaces all tokens (text matchingTOKEN_PATTERN
) within the given string, using properties contained within the context.private void
restoreParentArtifactId
(org.apache.velocity.context.Context context, java.lang.String parentArtifactId) private void
setParentArtifactId
(org.apache.velocity.context.Context context, java.lang.String artifactId) Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
archetypeArtifactManager
-
archetypeFilesResolver
-
pomManager
-
velocity
@Requirement private org.codehaus.plexus.velocity.VelocityComponent velocity -
TOKEN_PATTERN
private static final java.util.regex.Pattern TOKEN_PATTERNPattern used to detect tokens in a string. Tokens are any text surrounded by the delimiter__
.
-
-
Constructor Details
-
DefaultFilesetArchetypeGenerator
public DefaultFilesetArchetypeGenerator()
-
-
Method Details
-
generateArchetype
public void generateArchetype(ArchetypeGenerationRequest request, java.io.File archetypeFile) throws UnknownArchetype, ArchetypeNotConfigured, ProjectDirectoryExists, PomFileExists, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging Description copied from interface:FilesetArchetypeGenerator
Generate a project from an archetype file. -
getPackageAsDirectory
public java.lang.String getPackageAsDirectory(java.lang.String packageName) -
copyFile
private boolean copyFile(java.io.File outFile, java.lang.String template, boolean failIfExists, java.util.zip.ZipFile archetypeZipFile) throws OutputFileExists, java.io.IOException - Throws:
OutputFileExists
java.io.IOException
-
copyFiles
private int copyFiles(java.lang.String directory, java.util.List<java.lang.String> fileSetResources, boolean packaged, java.lang.String packageName, java.io.File outputDirectoryFile, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, boolean failIfExists, org.apache.velocity.context.Context context) throws OutputFileExists, java.io.FileNotFoundException, java.io.IOException - Throws:
OutputFileExists
java.io.FileNotFoundException
java.io.IOException
-
getEncoding
private java.lang.String getEncoding(java.lang.String archetypeEncoding) -
getOffsetSeparator
private java.lang.String getOffsetSeparator(java.lang.String moduleOffset) -
getOutputFile
private java.io.File getOutputFile(java.lang.String template, java.lang.String directory, java.io.File outputDirectoryFile, boolean packaged, java.lang.String packageName, java.lang.String moduleOffset, org.apache.velocity.context.Context context) -
replaceFilenameTokens
private java.lang.String replaceFilenameTokens(java.lang.String filePath, org.apache.velocity.context.Context context) Replaces all tokens (text matchingTOKEN_PATTERN
) within the given string, using properties contained within the context. If a property does not exist in the context, the token is left unmodified and a warning is logged.- Parameters:
filePath
- the file name and path to be interpolatedcontext
- contains the available properties
-
getPackageInPathFormat
private java.lang.String getPackageInPathFormat(java.lang.String aPackage) -
isArchetypeConfigured
private boolean isArchetypeConfigured(ArchetypeDescriptor archetypeDescriptor, ArchetypeGenerationRequest request) -
setParentArtifactId
private void setParentArtifactId(org.apache.velocity.context.Context context, java.lang.String artifactId) -
prepareVelocityContext
private org.apache.velocity.context.Context prepareVelocityContext(ArchetypeGenerationRequest request) -
maybeVelocityExpression
private boolean maybeVelocityExpression(java.lang.String value) -
evaluateExpression
private java.lang.String evaluateExpression(org.apache.velocity.context.Context context, java.lang.String key, java.lang.String value) -
processArchetypeTemplates
private void processArchetypeTemplates(AbstractArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile) throws OutputFileExists, ArchetypeGenerationFailure, java.io.FileNotFoundException, java.io.IOException - Throws:
OutputFileExists
ArchetypeGenerationFailure
java.io.FileNotFoundException
java.io.IOException
-
processArchetypeTemplatesWithWarning
private void processArchetypeTemplatesWithWarning(ArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile) throws OutputFileExists, ArchetypeGenerationFailure, java.io.FileNotFoundException, java.io.IOException - Throws:
OutputFileExists
ArchetypeGenerationFailure
java.io.FileNotFoundException
java.io.IOException
-
processFileSet
private int processFileSet(java.lang.String directory, java.util.List<java.lang.String> fileSetResources, boolean packaged, java.lang.String packageName, org.apache.velocity.context.Context context, java.io.File outputDirectoryFile, java.lang.String moduleOffset, java.lang.String archetypeEncoding, boolean failIfExists) throws java.io.IOException, OutputFileExists, ArchetypeGenerationFailure - Throws:
java.io.IOException
OutputFileExists
ArchetypeGenerationFailure
-
processFilesetModule
private void processFilesetModule(java.lang.String rootArtifactId, java.lang.String artifactId, java.util.List<java.lang.String> archetypeResources, java.io.File pom, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, java.io.File basedirPom, java.io.File outputDirectoryFile, java.lang.String packageName, AbstractArchetypeDescriptor archetypeDescriptor, org.apache.velocity.context.Context context) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, java.io.IOException, javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, javax.xml.transform.TransformerException, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging - Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
java.io.IOException
javax.xml.parsers.ParserConfigurationException
org.xml.sax.SAXException
javax.xml.transform.TransformerException
OutputFileExists
ArchetypeGenerationFailure
InvalidPackaging
-
processFilesetProject
private void processFilesetProject(AbstractArchetypeDescriptor archetypeDescriptor, java.lang.String moduleId, java.util.List<java.lang.String> archetypeResources, java.io.File pom, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, org.apache.velocity.context.Context context, java.lang.String packageName, java.io.File outputDirectoryFile, java.io.File basedirPom) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, java.io.IOException, javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, javax.xml.transform.TransformerException, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging - Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
java.io.IOException
javax.xml.parsers.ParserConfigurationException
org.xml.sax.SAXException
javax.xml.transform.TransformerException
OutputFileExists
ArchetypeGenerationFailure
InvalidPackaging
-
processPom
private void processPom(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset) throws java.io.IOException, OutputFileExists, ArchetypeGenerationFailure - Throws:
java.io.IOException
OutputFileExists
ArchetypeGenerationFailure
-
processPomWithMerge
private void processPomWithMerge(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset) throws OutputFileExists, java.io.IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException, ArchetypeGenerationFailure - Throws:
OutputFileExists
java.io.IOException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
ArchetypeGenerationFailure
-
processPomWithParent
private void processPomWithParent(org.apache.velocity.context.Context context, java.io.File pom, java.lang.String moduleOffset, java.io.File basedirPom, java.lang.String moduleId) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, java.io.IOException, javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException, javax.xml.transform.TransformerException, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging - Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
java.io.IOException
javax.xml.parsers.ParserConfigurationException
org.xml.sax.SAXException
javax.xml.transform.TransformerException
OutputFileExists
ArchetypeGenerationFailure
InvalidPackaging
-
processTemplate
private boolean processTemplate(java.io.File outFile, org.apache.velocity.context.Context context, java.lang.String templateFileName, java.lang.String encoding, boolean failIfExists) throws java.io.IOException, OutputFileExists, ArchetypeGenerationFailure - Throws:
java.io.IOException
OutputFileExists
ArchetypeGenerationFailure
-
processTemplates
private void processTemplates(java.lang.String packageName, java.io.File outputDirectoryFile, org.apache.velocity.context.Context context, AbstractArchetypeDescriptor archetypeDescriptor, java.util.List<java.lang.String> archetypeResources, java.util.zip.ZipFile archetypeZipFile, java.lang.String moduleOffset, boolean failIfExists) throws OutputFileExists, ArchetypeGenerationFailure, java.io.IOException - Throws:
OutputFileExists
ArchetypeGenerationFailure
java.io.IOException
-
restoreParentArtifactId
private void restoreParentArtifactId(org.apache.velocity.context.Context context, java.lang.String parentArtifactId) -
getTemporaryFile
private java.io.File getTemporaryFile(java.io.File file)
-