Class DefaultFilesetArchetypeGenerator
java.lang.Object
org.apache.maven.archetype.generator.DefaultFilesetArchetypeGenerator
- All Implemented Interfaces:
FilesetArchetypeGenerator
@Named
@Singleton
public class DefaultFilesetArchetypeGenerator
extends Object
implements FilesetArchetypeGenerator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ArchetypeArtifactManagerprivate ArchetypeFilesResolverprivate static final org.slf4j.Loggerprivate PomManagerprivate static final PatternPattern used to detect tokens in a string.private org.codehaus.plexus.velocity.VelocityComponentFields inherited from interface FilesetArchetypeGenerator
ROLE -
Constructor Summary
ConstructorsConstructorDescriptionDefaultFilesetArchetypeGenerator(ArchetypeArtifactManager archetypeArtifactManager, ArchetypeFilesResolver archetypeFilesResolver, PomManager pomManager, org.codehaus.plexus.velocity.VelocityComponent velocity) -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanprivate intcopyFiles(String directory, List<String> fileSetResources, boolean packaged, String packageName, File outputDirectoryFile, ZipFile archetypeZipFile, String moduleOffset, boolean failIfExists, org.apache.velocity.context.Context context) private StringevaluateExpression(org.apache.velocity.context.Context context, String key, String value) voidgenerateArchetype(ArchetypeGenerationRequest request, File archetypeFile) Generate a project from an archetype file.private StringgetEncoding(String archetypeEncoding) private StringgetOffsetSeparator(String moduleOffset) private FilegetOutputFile(String template, String directory, File outputDirectoryFile, boolean packaged, String packageName, String moduleOffset, org.apache.velocity.context.Context context) getPackageAsDirectory(String packageName) private StringgetPackageInPathFormat(String aPackage) private FilegetTemporaryFile(File file) private booleanisArchetypeConfigured(ArchetypeDescriptor archetypeDescriptor, ArchetypeGenerationRequest request) private booleanmaybeVelocityExpression(String value) private org.apache.velocity.context.Contextprivate voidprocessArchetypeTemplates(AbstractArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, org.apache.velocity.context.Context context, String packageName, File outputDirectoryFile) private voidprocessArchetypeTemplatesWithWarning(ArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, org.apache.velocity.context.Context context, String packageName, File outputDirectoryFile) private intprocessFileSet(String directory, List<String> fileSetResources, boolean packaged, String packageName, org.apache.velocity.context.Context context, File outputDirectoryFile, String moduleOffset, String archetypeEncoding, boolean failIfExists) private voidprocessFilesetModule(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 voidprocessFilesetProject(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 voidprocessPom(org.apache.velocity.context.Context context, File pom, String moduleOffset) private voidprocessPomWithMerge(org.apache.velocity.context.Context context, File pom, String moduleOffset) private voidprocessPomWithParent(org.apache.velocity.context.Context context, File pom, String moduleOffset, File basedirPom, String moduleId) private booleanprocessTemplate(File outFile, org.apache.velocity.context.Context context, String templateFileName, String encoding, boolean failIfExists) private voidprocessTemplates(String packageName, File outputDirectoryFile, org.apache.velocity.context.Context context, AbstractArchetypeDescriptor archetypeDescriptor, List<String> archetypeResources, ZipFile archetypeZipFile, String moduleOffset, boolean failIfExists) private StringreplaceFilenameTokens(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 voidrestoreParentArtifactId(org.apache.velocity.context.Context context, String parentArtifactId) private voidsetParentArtifactId(org.apache.velocity.context.Context context, String artifactId)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
archetypeArtifactManager
-
archetypeFilesResolver
-
pomManager
-
velocity
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
@Inject public DefaultFilesetArchetypeGenerator(ArchetypeArtifactManager archetypeArtifactManager, ArchetypeFilesResolver archetypeFilesResolver, PomManager pomManager, org.codehaus.plexus.velocity.VelocityComponent velocity)
-
-
Method Details
-
generateArchetype
public void generateArchetype(ArchetypeGenerationRequest request, File archetypeFile) throws UnknownArchetype, ArchetypeNotConfigured, ProjectDirectoryExists, PomFileExists, OutputFileExists, ArchetypeGenerationFailure, InvalidPackaging Description copied from interface:FilesetArchetypeGeneratorGenerate a project from an archetype file. -
getPackageAsDirectory
-
copyFile
private boolean copyFile(File outFile, String template, boolean failIfExists, ZipFile archetypeZipFile) throws OutputFileExists, IOException - Throws:
OutputFileExistsIOException
-
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, IOException - Throws:
OutputFileExistsIOException
-
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, 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, 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.XmlPullParserExceptionIOExceptionParserConfigurationExceptionSAXExceptionTransformerExceptionOutputFileExistsArchetypeGenerationFailureInvalidPackaging
-
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.XmlPullParserExceptionIOExceptionParserConfigurationExceptionSAXExceptionTransformerExceptionOutputFileExistsArchetypeGenerationFailureInvalidPackaging
-
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:
OutputFileExistsIOExceptionorg.codehaus.plexus.util.xml.pull.XmlPullParserExceptionArchetypeGenerationFailure
-
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.XmlPullParserExceptionIOExceptionParserConfigurationExceptionSAXExceptionTransformerExceptionOutputFileExistsArchetypeGenerationFailureInvalidPackaging
-
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
-