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 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
private int
copyFiles
(String directory, List<String> fileSetResources, boolean packaged, String packageName, File outputDirectoryFile, ZipFile archetypeZipFile, String moduleOffset, boolean failIfExists, org.apache.velocity.context.Context context) private String
evaluateExpression
(org.apache.velocity.context.Context context, String key, String value) void
generateArchetype
(ArchetypeGenerationRequest request, File archetypeFile) Generate a project from an archetype file.private String
getEncoding
(String archetypeEncoding) private String
getOffsetSeparator
(String moduleOffset) private File
getOutputFile
(String template, String directory, File outputDirectoryFile, boolean packaged, String packageName, String moduleOffset, org.apache.velocity.context.Context context) getPackageAsDirectory
(String packageName) private String
getPackageInPathFormat
(String aPackage) private File
getTemporaryFile
(File file) private boolean
isArchetypeConfigured
(ArchetypeDescriptor archetypeDescriptor, ArchetypeGenerationRequest request) private boolean
maybeVelocityExpression
(String value) private org.apache.velocity.context.Context
private void
processArchetypeTemplates
(AbstractArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, org.apache.velocity.context.Context context, String packageName, File outputDirectoryFile) private void
processArchetypeTemplatesWithWarning
(ArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, org.apache.velocity.context.Context context, String packageName, File outputDirectoryFile) private int
processFileSet
(String directory, List<String> fileSetResources, boolean packaged, String packageName, org.apache.velocity.context.Context context, File outputDirectoryFile, String moduleOffset, String archetypeEncoding, boolean failIfExists) private void
processFilesetModule
(String rootArtifactId, String artifactId, List<String> archetypeResources, File pom, ZipFile archetypeZipFile, String moduleOffset, File basedirPom, File outputDirectoryFile, String packageName, AbstractArchetypeDescriptor archetypeDescriptor, org.apache.velocity.context.Context context) private void
processFilesetProject
(AbstractArchetypeDescriptor archetypeDescriptor, String moduleId, List<String> archetypeResources, File pom, ZipFile archetypeZipFile, String moduleOffset, org.apache.velocity.context.Context context, String packageName, File outputDirectoryFile, File basedirPom) private void
processPom
(org.apache.velocity.context.Context context, File pom, String moduleOffset) private void
processPomWithMerge
(org.apache.velocity.context.Context context, File pom, String moduleOffset) private void
processPomWithParent
(org.apache.velocity.context.Context context, File pom, String moduleOffset, File basedirPom, String moduleId) private boolean
processTemplate
(File outFile, org.apache.velocity.context.Context context, String templateFileName, String encoding, boolean failIfExists) private void
processTemplates
(String packageName, File outputDirectoryFile, org.apache.velocity.context.Context context, AbstractArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, boolean failIfExists) private String
replaceFilenameTokens
(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, String parentArtifactId) private void
setParentArtifactId
(org.apache.velocity.context.Context context, String artifactId) Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
archetypeArtifactManager
-
archetypeFilesResolver
-
pomManager
-
velocity
@Requirement private org.codehaus.plexus.velocity.VelocityComponent velocity -
TOKEN_PATTERN
Pattern 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, File archetypeFile) throws UnknownArchetype, ArchetypeNotConfigured, ProjectDirectoryExists, PomFileExists, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging Description copied from interface:FilesetArchetypeGenerator
Generate a project from an archetype file. -
getPackageAsDirectory
-
copyFile
private boolean copyFile(File outFile, String template, boolean failIfExists, ZipFile archetypeZipFile) throws OutputFileExists, IOException - Throws:
OutputFileExists
IOException
-
copyFiles
private int copyFiles(String directory, List<String> fileSetResources, boolean packaged, String packageName, File outputDirectoryFile, ZipFile archetypeZipFile, String moduleOffset, boolean failIfExists, org.apache.velocity.context.Context context) throws OutputFileExists, FileNotFoundException, IOException -
getEncoding
-
getOffsetSeparator
-
getOutputFile
-
replaceFilenameTokens
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
-
isArchetypeConfigured
private boolean isArchetypeConfigured(ArchetypeDescriptor archetypeDescriptor, ArchetypeGenerationRequest request) -
setParentArtifactId
-
prepareVelocityContext
private org.apache.velocity.context.Context prepareVelocityContext(ArchetypeGenerationRequest request) -
maybeVelocityExpression
-
evaluateExpression
-
processArchetypeTemplates
private void processArchetypeTemplates(AbstractArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, org.apache.velocity.context.Context context, String packageName, File outputDirectoryFile) throws OutputFileExists, ArchetypeGenerationFailure, FileNotFoundException, IOException -
processArchetypeTemplatesWithWarning
private void processArchetypeTemplatesWithWarning(ArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, org.apache.velocity.context.Context context, String packageName, File outputDirectoryFile) throws OutputFileExists, ArchetypeGenerationFailure, FileNotFoundException, IOException -
processFileSet
private int processFileSet(String directory, List<String> fileSetResources, boolean packaged, String packageName, org.apache.velocity.context.Context context, File outputDirectoryFile, String moduleOffset, String archetypeEncoding, boolean failIfExists) throws IOException, OutputFileExists, ArchetypeGenerationFailure -
processFilesetModule
private void processFilesetModule(String rootArtifactId, String artifactId, List<String> archetypeResources, File pom, ZipFile archetypeZipFile, String moduleOffset, File basedirPom, File outputDirectoryFile, String packageName, AbstractArchetypeDescriptor archetypeDescriptor, org.apache.velocity.context.Context context) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, IOException, ParserConfigurationException, SAXException, TransformerException, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging - Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
IOException
ParserConfigurationException
SAXException
TransformerException
OutputFileExists
ArchetypeGenerationFailure
InvalidPackaging
-
processFilesetProject
private void processFilesetProject(AbstractArchetypeDescriptor archetypeDescriptor, String moduleId, List<String> archetypeResources, File pom, ZipFile archetypeZipFile, String moduleOffset, org.apache.velocity.context.Context context, String packageName, File outputDirectoryFile, File basedirPom) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, IOException, ParserConfigurationException, SAXException, TransformerException, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging - Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
IOException
ParserConfigurationException
SAXException
TransformerException
OutputFileExists
ArchetypeGenerationFailure
InvalidPackaging
-
processPom
private void processPom(org.apache.velocity.context.Context context, File pom, String moduleOffset) throws IOException, OutputFileExists, ArchetypeGenerationFailure -
processPomWithMerge
private void processPomWithMerge(org.apache.velocity.context.Context context, File pom, String moduleOffset) throws OutputFileExists, IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException, ArchetypeGenerationFailure - Throws:
OutputFileExists
IOException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
ArchetypeGenerationFailure
-
processPomWithParent
private void processPomWithParent(org.apache.velocity.context.Context context, File pom, String moduleOffset, File basedirPom, String moduleId) throws org.codehaus.plexus.util.xml.pull.XmlPullParserException, IOException, ParserConfigurationException, SAXException, TransformerException, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging - Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException
IOException
ParserConfigurationException
SAXException
TransformerException
OutputFileExists
ArchetypeGenerationFailure
InvalidPackaging
-
processTemplate
private boolean processTemplate(File outFile, org.apache.velocity.context.Context context, String templateFileName, String encoding, boolean failIfExists) throws IOException, OutputFileExists, ArchetypeGenerationFailure -
processTemplates
private void processTemplates(String packageName, File outputDirectoryFile, org.apache.velocity.context.Context context, AbstractArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, boolean failIfExists) throws OutputFileExists, ArchetypeGenerationFailure, IOException -
restoreParentArtifactId
private void restoreParentArtifactId(org.apache.velocity.context.Context context, String parentArtifactId) -
getTemporaryFile
-