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

@Named("fileset") @Singleton 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 Details

    • DEFAULT_OUTPUT_DIRECTORY

      private static final String DEFAULT_OUTPUT_DIRECTORY
    • archetypeFilesResolver

      @Inject private ArchetypeFilesResolver archetypeFilesResolver
    • pomManager

      @Inject private PomManager pomManager
    • invoker

      @Inject private org.apache.maven.shared.invoker.Invoker invoker
    • MAVEN_PROPERTIES

      private static final String MAVEN_PROPERTIES
      See Also:
  • Constructor Details

    • FilesetArchetypeCreator

      public FilesetArchetypeCreator()
  • Method Details

    • createArchetype

      public void createArchetype(ArchetypeCreationRequest request, ArchetypeCreationResult result)
      Specified by:
      createArchetype in interface ArchetypeCreator
    • 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, Properties configurationProperties, File projectDir) throws IOException
      Create the archetype project pom.xml file, that will be used to build the archetype.
      Throws:
      IOException
    • copyResource

      private void copyResource(String name, File destination) throws IOException
      Throws:
      IOException
    • addRequiredProperties

      private void addRequiredProperties(ArchetypeDescriptor archetypeDescriptor, Properties properties)
    • createModulePoms

      private void createModulePoms(Properties pomReversedProperties, String rootArtifactId, String packageName, File basedir, File archetypeFilesDirectory, boolean preserveCData, boolean keepParent) throws IOException, org.codehaus.plexus.util.xml.pull.XmlPullParserException
      Throws:
      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, org.codehaus.plexus.util.xml.pull.XmlPullParserException
      Throws:
      IOException
      org.codehaus.plexus.util.xml.pull.XmlPullParserException
    • getPackageInPathFormat

      private String getPackageInPathFormat(String aPackage)
    • rewriteReferences

      private void rewriteReferences(org.apache.maven.model.Model pom, String rootArtifactId, String groupId)
    • rewriteDependencyReferences

      private void rewriteDependencyReferences(org.apache.maven.model.Dependency dependency, String rootArtifactId, String groupId)
    • rewritePluginReferences

      private void rewritePluginReferences(org.apache.maven.model.Plugin plugin, String rootArtifactId, String groupId)
    • rewriteEARPluginReferences

      private void rewriteEARPluginReferences(org.apache.maven.model.Plugin plugin, String rootArtifactId, String groupId)
    • setArtifactId

      private void setArtifactId(Properties properties, String artifactId)
    • concatenateToList

      private List<String> concatenateToList(List<String> toConcatenate, String with)
    • addLists

      private List<String> addLists(List<String> list, List<String> other)
    • 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

      private FileSet createFileSet(List<String> excludes, boolean packaged, boolean filtered, String group, List<String> includes, String defaultEncoding)
    • createFileSets

      private List<FileSet> createFileSets(List<String> files, int level, boolean packaged, String packageName, boolean filtered, String defaultEncoding)
    • 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

      private Set<String> getExtensions(List<String> files)
    • getGroupsMap

      private Map<String,List<String>> getGroupsMap(List<String> files, int level)
    • getPackagedFileSet

      private FileSet getPackagedFileSet(boolean filtered, Set<String> packagedExtensions, String group, Set<String> unpackagedExtensions, List<String> unpackagedFiles, String defaultEncoding)
    • getPackagedFileSets

      private List<FileSet> getPackagedFileSets(boolean filtered, String group, List<String> groupFiles, String packageName, String defaultEncoding)
    • setParentArtifactId

      private void setParentArtifactId(Properties properties, String parentArtifactId)
    • 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

      private List<FileSet> resolveFileSets(String packageName, List<String> fileNames, List<String> languages, List<String> filtereds, String defaultEncoding)
    • restoreArtifactId

      private void restoreArtifactId(Properties properties, String artifactId)
    • restoreParentArtifactId

      private void restoreParentArtifactId(Properties properties, String parentArtifactId)
    • getReversedContent

      private String getReversedContent(String content, Properties properties)
    • getReversedPlainContent

      private String getReversedPlainContent(String content, Properties properties)
    • getReversedFilename

      private String getReversedFilename(String filename, Properties properties)
    • getTemplateOutputDirectory

      private String getTemplateOutputDirectory()
    • getUnpackagedFileSet

      private FileSet getUnpackagedFileSet(boolean filtered, String group, List<String> groupFiles, String defaultEncoding)
    • getUnpackagedFileSet

      private FileSet getUnpackagedFileSet(boolean filtered, Set<String> unpackagedExtensions, List<String> unpackagedFiles, String group, Set<String> packagedExtensions, String defaultEncoding)
    • getArchetypeVersion

      public String getArchetypeVersion()