Class FilesetArchetypeCreator
java.lang.Object
org.codehaus.plexus.logging.AbstractLogEnabled
org.apache.maven.archetype.creator.FilesetArchetypeCreator
- All Implemented Interfaces:
ArchetypeCreator
,org.codehaus.plexus.logging.LogEnabled
@Component(role=ArchetypeCreator.class,
hint="fileset")
public class FilesetArchetypeCreator
extends org.codehaus.plexus.logging.AbstractLogEnabled
implements ArchetypeCreator
Create a 2.x Archetype project from a project. Since 2.0-alpha-5, an integration-test named "basic" is created along
the archetype itself to provide immediate test when building the archetype.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ArchetypeFilesResolver
private static final String
private org.apache.maven.shared.invoker.Invoker
private static final String
private PomManager
Fields inherited from interface org.apache.maven.archetype.creator.ArchetypeCreator
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addRequiredProperties
(ArchetypeDescriptor archetypeDescriptor, Properties properties) concatenateToList
(List<String> toConcatenate, String with) private void
copyFiles
(File basedir, File archetypeFilesDirectory, String directory, List<String> fileSetResources, boolean packaged, String packageName, Properties reverseProperties) private void
copyResource
(String name, File destination) void
createArchetype
(ArchetypeCreationRequest request, ArchetypeCreationResult result) private void
createArchetypeBasicIt
(ArchetypeDescriptor archetypeDescriptor, File generatedSourcesDirectory) Create an archetype IT, ie goals.txt and archetype.properties in src/test/resources/projects/basic.private void
createArchetypeFiles
(Properties reverseProperties, List<FileSet> fileSets, String packageName, File basedir, File archetypeFilesDirectory, String defaultEncoding, List<String> excludePatterns) private void
createArchetypePom
(org.apache.maven.model.Model pom, File archetypeFilesDirectory, Properties pomReversedProperties, File initialPomFile, boolean preserveCData, boolean keepParent) private File
createArchetypeProjectPom
(org.apache.maven.project.MavenProject project, org.apache.maven.project.ProjectBuildingRequest buildingRequest, Properties configurationProperties, File projectDir) Create the archetype project pom.xml file, that will be used to build the archetype.private FileSet
createFileSet
(List<String> excludes, boolean packaged, boolean filtered, String group, List<String> includes, String defaultEncoding) createFileSets
(List<String> files, int level, boolean packaged, String packageName, boolean filtered, String defaultEncoding) private ModuleDescriptor
createModule
(Properties reverseProperties, String rootArtifactId, String moduleId, String packageName, File basedir, File archetypeFilesDirectory, List<String> languages, List<String> filtereds, String defaultEncoding, boolean preserveCData, boolean keepParent) private void
createModulePom
(org.apache.maven.model.Model pom, String rootArtifactId, File archetypeFilesDirectory, Properties pomReversedProperties, File initialPomFile, boolean preserveCData, boolean keepParent) private void
createModulePoms
(Properties pomReversedProperties, String rootArtifactId, String packageName, File basedir, File archetypeFilesDirectory, boolean preserveCData, boolean keepParent) private void
createPoms
(org.apache.maven.model.Model pom, String rootArtifactId, String artifactId, File archetypeFilesDirectory, File basedir, File rootPom, Properties pomReversedProperties, boolean preserveCData, boolean keepParent) private void
extractPropertiesFromProject
(org.apache.maven.project.MavenProject project, Properties properties, Properties configurationProperties, String packageName) getExtensions
(List<String> files) getGroupsMap
(List<String> files, int level) private FileSet
getPackagedFileSet
(boolean filtered, Set<String> packagedExtensions, String group, Set<String> unpackagedExtensions, List<String> unpackagedFiles, String defaultEncoding) getPackagedFileSets
(boolean filtered, String group, List<String> groupFiles, String packageName, String defaultEncoding) private String
getPackageInPathFormat
(String aPackage) private String
getReversedContent
(String content, Properties properties) private String
getReversedFilename
(String filename, Properties properties) private String
getReversedPlainContent
(String content, Properties properties) private Properties
getReversedProperties
(ArchetypeDescriptor archetypeDescriptor, Properties properties) private String
private FileSet
getUnpackagedFileSet
(boolean filtered, String group, List<String> groupFiles, String defaultEncoding) private FileSet
getUnpackagedFileSet
(boolean filtered, Set<String> unpackagedExtensions, List<String> unpackagedFiles, String group, Set<String> packagedExtensions, String defaultEncoding) private void
processFileSet
(File basedir, File archetypeFilesDirectory, String directory, List<String> fileSetResources, boolean packaged, String packageName, Properties reverseProperties, String defaultEncoding) resolveFileNames
(org.apache.maven.model.Model pom, File basedir, List<String> excludePatterns) resolveFileSets
(String packageName, List<String> fileNames, List<String> languages, List<String> filtereds, String defaultEncoding) private void
restoreArtifactId
(Properties properties, String artifactId) private void
restoreParentArtifactId
(Properties properties, String parentArtifactId) private void
rewriteDependencyReferences
(org.apache.maven.model.Dependency dependency, String rootArtifactId, String groupId) private void
rewriteEARPluginReferences
(org.apache.maven.model.Plugin plugin, String rootArtifactId, String groupId) private void
rewritePluginReferences
(org.apache.maven.model.Plugin plugin, String rootArtifactId, String groupId) private void
rewriteReferences
(org.apache.maven.model.Model pom, String rootArtifactId, String groupId) private void
setArtifactId
(Properties properties, String artifactId) private void
setParentArtifactId
(Properties properties, String parentArtifactId) Methods inherited from class org.codehaus.plexus.logging.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Field Details
-
DEFAULT_OUTPUT_DIRECTORY
-
archetypeFilesResolver
-
pomManager
-
invoker
@Requirement private org.apache.maven.shared.invoker.Invoker invoker -
MAVEN_PROPERTIES
- See Also:
-
-
Constructor Details
-
FilesetArchetypeCreator
public FilesetArchetypeCreator()
-
-
Method Details
-
createArchetype
- Specified by:
createArchetype
in interfaceArchetypeCreator
-
createArchetypeBasicIt
private void createArchetypeBasicIt(ArchetypeDescriptor archetypeDescriptor, File generatedSourcesDirectory) throws IOException Create an archetype IT, ie goals.txt and archetype.properties in src/test/resources/projects/basic.- Parameters:
archetypeDescriptor
-generatedSourcesDirectory
-- Throws:
IOException
- Since:
- 2.0-alpha-5
-
extractPropertiesFromProject
private void extractPropertiesFromProject(org.apache.maven.project.MavenProject project, Properties properties, Properties configurationProperties, String packageName) -
createArchetypeProjectPom
private File createArchetypeProjectPom(org.apache.maven.project.MavenProject project, org.apache.maven.project.ProjectBuildingRequest buildingRequest, Properties configurationProperties, File projectDir) throws TemplateCreationException, IOException Create the archetype project pom.xml file, that will be used to build the archetype.- Throws:
TemplateCreationException
IOException
-
copyResource
- Throws:
IOException
-
addRequiredProperties
-
createModulePoms
private void createModulePoms(Properties pomReversedProperties, String rootArtifactId, String packageName, File basedir, File archetypeFilesDirectory, boolean preserveCData, boolean keepParent) throws FileNotFoundException, IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException - Throws:
FileNotFoundException
IOException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
-
createPoms
private void createPoms(org.apache.maven.model.Model pom, String rootArtifactId, String artifactId, File archetypeFilesDirectory, File basedir, File rootPom, Properties pomReversedProperties, boolean preserveCData, boolean keepParent) throws IOException, FileNotFoundException, org.codehaus.plexus.util.xml.pull.XmlPullParserException - Throws:
IOException
FileNotFoundException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
-
getPackageInPathFormat
-
rewriteReferences
-
rewriteDependencyReferences
-
rewritePluginReferences
-
rewriteEARPluginReferences
-
setArtifactId
-
concatenateToList
-
addLists
-
copyFiles
private void copyFiles(File basedir, File archetypeFilesDirectory, String directory, List<String> fileSetResources, boolean packaged, String packageName, Properties reverseProperties) throws IOException - Throws:
IOException
-
createArchetypeFiles
private void createArchetypeFiles(Properties reverseProperties, List<FileSet> fileSets, String packageName, File basedir, File archetypeFilesDirectory, String defaultEncoding, List<String> excludePatterns) throws IOException - Throws:
IOException
-
createArchetypePom
private void createArchetypePom(org.apache.maven.model.Model pom, File archetypeFilesDirectory, Properties pomReversedProperties, File initialPomFile, boolean preserveCData, boolean keepParent) throws IOException - Throws:
IOException
-
createFileSet
-
createFileSets
-
createModule
private ModuleDescriptor createModule(Properties reverseProperties, String rootArtifactId, String moduleId, String packageName, File basedir, File archetypeFilesDirectory, List<String> languages, List<String> filtereds, String defaultEncoding, boolean preserveCData, boolean keepParent) throws IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException - Throws:
IOException
org.codehaus.plexus.util.xml.pull.XmlPullParserException
-
createModulePom
private void createModulePom(org.apache.maven.model.Model pom, String rootArtifactId, File archetypeFilesDirectory, Properties pomReversedProperties, File initialPomFile, boolean preserveCData, boolean keepParent) throws IOException - Throws:
IOException
-
getExtensions
-
getGroupsMap
-
getPackagedFileSet
-
getPackagedFileSets
-
setParentArtifactId
-
processFileSet
private void processFileSet(File basedir, File archetypeFilesDirectory, String directory, List<String> fileSetResources, boolean packaged, String packageName, Properties reverseProperties, String defaultEncoding) throws IOException - Throws:
IOException
-
getReversedProperties
private Properties getReversedProperties(ArchetypeDescriptor archetypeDescriptor, Properties properties) -
resolveFileNames
private List<String> resolveFileNames(org.apache.maven.model.Model pom, File basedir, List<String> excludePatterns) throws IOException - Throws:
IOException
-
resolveFileSets
-
restoreArtifactId
-
restoreParentArtifactId
-
getReversedContent
-
getReversedPlainContent
-
getReversedFilename
-
getTemplateOutputDirectory
-
getUnpackagedFileSet
-
getUnpackagedFileSet
-
getArchetypeVersion
-