Class 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.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.util.List<java.lang.String> addLists​(java.util.List<java.lang.String> list, java.util.List<java.lang.String> other)  
      private void addRequiredProperties​(ArchetypeDescriptor archetypeDescriptor, java.util.Properties properties)  
      private java.util.List<java.lang.String> concatenateToList​(java.util.List<java.lang.String> toConcatenate, java.lang.String with)  
      private void copyFiles​(java.io.File basedir, java.io.File archetypeFilesDirectory, java.lang.String directory, java.util.List<java.lang.String> fileSetResources, boolean packaged, java.lang.String packageName, java.util.Properties reverseProperties)  
      private void copyResource​(java.lang.String name, java.io.File destination)  
      void createArchetype​(ArchetypeCreationRequest request, ArchetypeCreationResult result)  
      private void createArchetypeBasicIt​(ArchetypeDescriptor archetypeDescriptor, java.io.File generatedSourcesDirectory)
      Create an archetype IT, ie goals.txt and archetype.properties in src/test/resources/projects/basic.
      private void createArchetypeFiles​(java.util.Properties reverseProperties, java.util.List<FileSet> fileSets, java.lang.String packageName, java.io.File basedir, java.io.File archetypeFilesDirectory, java.lang.String defaultEncoding, java.util.List<java.lang.String> excludePatterns)  
      private void createArchetypePom​(org.apache.maven.model.Model pom, java.io.File archetypeFilesDirectory, java.util.Properties pomReversedProperties, java.io.File initialPomFile, boolean preserveCData, boolean keepParent)  
      private java.io.File createArchetypeProjectPom​(org.apache.maven.project.MavenProject project, org.apache.maven.project.ProjectBuildingRequest buildingRequest, java.util.Properties configurationProperties, java.io.File projectDir)
      Create the archetype project pom.xml file, that will be used to build the archetype.
      private FileSet createFileSet​(java.util.List<java.lang.String> excludes, boolean packaged, boolean filtered, java.lang.String group, java.util.List<java.lang.String> includes, java.lang.String defaultEncoding)  
      private java.util.List<FileSet> createFileSets​(java.util.List<java.lang.String> files, int level, boolean packaged, java.lang.String packageName, boolean filtered, java.lang.String defaultEncoding)  
      private ModuleDescriptor createModule​(java.util.Properties reverseProperties, java.lang.String rootArtifactId, java.lang.String moduleId, java.lang.String packageName, java.io.File basedir, java.io.File archetypeFilesDirectory, java.util.List<java.lang.String> languages, java.util.List<java.lang.String> filtereds, java.lang.String defaultEncoding, boolean preserveCData, boolean keepParent)  
      private void createModulePom​(org.apache.maven.model.Model pom, java.lang.String rootArtifactId, java.io.File archetypeFilesDirectory, java.util.Properties pomReversedProperties, java.io.File initialPomFile, boolean preserveCData, boolean keepParent)  
      private void createModulePoms​(java.util.Properties pomReversedProperties, java.lang.String rootArtifactId, java.lang.String packageName, java.io.File basedir, java.io.File archetypeFilesDirectory, boolean preserveCData, boolean keepParent)  
      private void createPoms​(org.apache.maven.model.Model pom, java.lang.String rootArtifactId, java.lang.String artifactId, java.io.File archetypeFilesDirectory, java.io.File basedir, java.io.File rootPom, java.util.Properties pomReversedProperties, boolean preserveCData, boolean keepParent)  
      private void extractPropertiesFromProject​(org.apache.maven.project.MavenProject project, java.util.Properties properties, java.util.Properties configurationProperties, java.lang.String packageName)  
      java.lang.String getArchetypeVersion()  
      private java.util.Set<java.lang.String> getExtensions​(java.util.List<java.lang.String> files)  
      private java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getGroupsMap​(java.util.List<java.lang.String> files, int level)  
      private FileSet getPackagedFileSet​(boolean filtered, java.util.Set<java.lang.String> packagedExtensions, java.lang.String group, java.util.Set<java.lang.String> unpackagedExtensions, java.util.List<java.lang.String> unpackagedFiles, java.lang.String defaultEncoding)  
      private java.util.List<FileSet> getPackagedFileSets​(boolean filtered, java.lang.String group, java.util.List<java.lang.String> groupFiles, java.lang.String packageName, java.lang.String defaultEncoding)  
      private java.lang.String getPackageInPathFormat​(java.lang.String aPackage)  
      private java.lang.String getReversedContent​(java.lang.String content, java.util.Properties properties)  
      private java.lang.String getReversedFilename​(java.lang.String filename, java.util.Properties properties)  
      private java.lang.String getReversedPlainContent​(java.lang.String content, java.util.Properties properties)  
      private java.util.Properties getReversedProperties​(ArchetypeDescriptor archetypeDescriptor, java.util.Properties properties)  
      private java.lang.String getTemplateOutputDirectory()  
      private FileSet getUnpackagedFileSet​(boolean filtered, java.lang.String group, java.util.List<java.lang.String> groupFiles, java.lang.String defaultEncoding)  
      private FileSet getUnpackagedFileSet​(boolean filtered, java.util.Set<java.lang.String> unpackagedExtensions, java.util.List<java.lang.String> unpackagedFiles, java.lang.String group, java.util.Set<java.lang.String> packagedExtensions, java.lang.String defaultEncoding)  
      private void processFileSet​(java.io.File basedir, java.io.File archetypeFilesDirectory, java.lang.String directory, java.util.List<java.lang.String> fileSetResources, boolean packaged, java.lang.String packageName, java.util.Properties reverseProperties, java.lang.String defaultEncoding)  
      private java.util.List<java.lang.String> resolveFileNames​(org.apache.maven.model.Model pom, java.io.File basedir, java.util.List<java.lang.String> excludePatterns)  
      private java.util.List<FileSet> resolveFileSets​(java.lang.String packageName, java.util.List<java.lang.String> fileNames, java.util.List<java.lang.String> languages, java.util.List<java.lang.String> filtereds, java.lang.String defaultEncoding)  
      private void restoreArtifactId​(java.util.Properties properties, java.lang.String artifactId)  
      private void restoreParentArtifactId​(java.util.Properties properties, java.lang.String parentArtifactId)  
      private void rewriteDependencyReferences​(org.apache.maven.model.Dependency dependency, java.lang.String rootArtifactId, java.lang.String groupId)  
      private void rewriteEARPluginReferences​(org.apache.maven.model.Plugin plugin, java.lang.String rootArtifactId, java.lang.String groupId)  
      private void rewritePluginReferences​(org.apache.maven.model.Plugin plugin, java.lang.String rootArtifactId, java.lang.String groupId)  
      private void rewriteReferences​(org.apache.maven.model.Model pom, java.lang.String rootArtifactId, java.lang.String groupId)  
      private void setArtifactId​(java.util.Properties properties, java.lang.String artifactId)  
      private void setParentArtifactId​(java.util.Properties properties, java.lang.String parentArtifactId)  
      • 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 Detail

      • DEFAULT_OUTPUT_DIRECTORY

        private static final java.lang.String DEFAULT_OUTPUT_DIRECTORY
      • pomManager

        @Requirement
        private PomManager pomManager
      • invoker

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

        private static final java.lang.String MAVEN_PROPERTIES
        See Also:
        Constant Field Values
    • Constructor Detail

      • FilesetArchetypeCreator

        public FilesetArchetypeCreator()
    • Method Detail

      • createArchetypeBasicIt

        private void createArchetypeBasicIt​(ArchetypeDescriptor archetypeDescriptor,
                                            java.io.File generatedSourcesDirectory)
                                     throws java.io.IOException
        Create an archetype IT, ie goals.txt and archetype.properties in src/test/resources/projects/basic.
        Parameters:
        archetypeDescriptor -
        generatedSourcesDirectory -
        Throws:
        java.io.IOException
        Since:
        2.0-alpha-5
      • extractPropertiesFromProject

        private void extractPropertiesFromProject​(org.apache.maven.project.MavenProject project,
                                                  java.util.Properties properties,
                                                  java.util.Properties configurationProperties,
                                                  java.lang.String packageName)
      • createArchetypeProjectPom

        private java.io.File createArchetypeProjectPom​(org.apache.maven.project.MavenProject project,
                                                       org.apache.maven.project.ProjectBuildingRequest buildingRequest,
                                                       java.util.Properties configurationProperties,
                                                       java.io.File projectDir)
                                                throws TemplateCreationException,
                                                       java.io.IOException
        Create the archetype project pom.xml file, that will be used to build the archetype.
        Throws:
        TemplateCreationException
        java.io.IOException
      • copyResource

        private void copyResource​(java.lang.String name,
                                  java.io.File destination)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • addRequiredProperties

        private void addRequiredProperties​(ArchetypeDescriptor archetypeDescriptor,
                                           java.util.Properties properties)
      • createModulePoms

        private void createModulePoms​(java.util.Properties pomReversedProperties,
                                      java.lang.String rootArtifactId,
                                      java.lang.String packageName,
                                      java.io.File basedir,
                                      java.io.File archetypeFilesDirectory,
                                      boolean preserveCData,
                                      boolean keepParent)
                               throws java.io.FileNotFoundException,
                                      java.io.IOException,
                                      org.codehaus.plexus.util.xml.pull.XmlPullParserException
        Throws:
        java.io.FileNotFoundException
        java.io.IOException
        org.codehaus.plexus.util.xml.pull.XmlPullParserException
      • createPoms

        private void createPoms​(org.apache.maven.model.Model pom,
                                java.lang.String rootArtifactId,
                                java.lang.String artifactId,
                                java.io.File archetypeFilesDirectory,
                                java.io.File basedir,
                                java.io.File rootPom,
                                java.util.Properties pomReversedProperties,
                                boolean preserveCData,
                                boolean keepParent)
                         throws java.io.IOException,
                                java.io.FileNotFoundException,
                                org.codehaus.plexus.util.xml.pull.XmlPullParserException
        Throws:
        java.io.IOException
        java.io.FileNotFoundException
        org.codehaus.plexus.util.xml.pull.XmlPullParserException
      • getPackageInPathFormat

        private java.lang.String getPackageInPathFormat​(java.lang.String aPackage)
      • rewriteReferences

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

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

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

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

        private void setArtifactId​(java.util.Properties properties,
                                   java.lang.String artifactId)
      • concatenateToList

        private java.util.List<java.lang.String> concatenateToList​(java.util.List<java.lang.String> toConcatenate,
                                                                   java.lang.String with)
      • addLists

        private java.util.List<java.lang.String> addLists​(java.util.List<java.lang.String> list,
                                                          java.util.List<java.lang.String> other)
      • copyFiles

        private void copyFiles​(java.io.File basedir,
                               java.io.File archetypeFilesDirectory,
                               java.lang.String directory,
                               java.util.List<java.lang.String> fileSetResources,
                               boolean packaged,
                               java.lang.String packageName,
                               java.util.Properties reverseProperties)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • createArchetypeFiles

        private void createArchetypeFiles​(java.util.Properties reverseProperties,
                                          java.util.List<FileSet> fileSets,
                                          java.lang.String packageName,
                                          java.io.File basedir,
                                          java.io.File archetypeFilesDirectory,
                                          java.lang.String defaultEncoding,
                                          java.util.List<java.lang.String> excludePatterns)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • createArchetypePom

        private void createArchetypePom​(org.apache.maven.model.Model pom,
                                        java.io.File archetypeFilesDirectory,
                                        java.util.Properties pomReversedProperties,
                                        java.io.File initialPomFile,
                                        boolean preserveCData,
                                        boolean keepParent)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • createFileSet

        private FileSet createFileSet​(java.util.List<java.lang.String> excludes,
                                      boolean packaged,
                                      boolean filtered,
                                      java.lang.String group,
                                      java.util.List<java.lang.String> includes,
                                      java.lang.String defaultEncoding)
      • createFileSets

        private java.util.List<FileSet> createFileSets​(java.util.List<java.lang.String> files,
                                                       int level,
                                                       boolean packaged,
                                                       java.lang.String packageName,
                                                       boolean filtered,
                                                       java.lang.String defaultEncoding)
      • createModule

        private ModuleDescriptor createModule​(java.util.Properties reverseProperties,
                                              java.lang.String rootArtifactId,
                                              java.lang.String moduleId,
                                              java.lang.String packageName,
                                              java.io.File basedir,
                                              java.io.File archetypeFilesDirectory,
                                              java.util.List<java.lang.String> languages,
                                              java.util.List<java.lang.String> filtereds,
                                              java.lang.String defaultEncoding,
                                              boolean preserveCData,
                                              boolean keepParent)
                                       throws java.io.IOException,
                                              org.codehaus.plexus.util.xml.pull.XmlPullParserException
        Throws:
        java.io.IOException
        org.codehaus.plexus.util.xml.pull.XmlPullParserException
      • createModulePom

        private void createModulePom​(org.apache.maven.model.Model pom,
                                     java.lang.String rootArtifactId,
                                     java.io.File archetypeFilesDirectory,
                                     java.util.Properties pomReversedProperties,
                                     java.io.File initialPomFile,
                                     boolean preserveCData,
                                     boolean keepParent)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • getExtensions

        private java.util.Set<java.lang.String> getExtensions​(java.util.List<java.lang.String> files)
      • getGroupsMap

        private java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getGroupsMap​(java.util.List<java.lang.String> files,
                                                                                                    int level)
      • getPackagedFileSet

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

        private java.util.List<FileSet> getPackagedFileSets​(boolean filtered,
                                                            java.lang.String group,
                                                            java.util.List<java.lang.String> groupFiles,
                                                            java.lang.String packageName,
                                                            java.lang.String defaultEncoding)
      • setParentArtifactId

        private void setParentArtifactId​(java.util.Properties properties,
                                         java.lang.String parentArtifactId)
      • processFileSet

        private void processFileSet​(java.io.File basedir,
                                    java.io.File archetypeFilesDirectory,
                                    java.lang.String directory,
                                    java.util.List<java.lang.String> fileSetResources,
                                    boolean packaged,
                                    java.lang.String packageName,
                                    java.util.Properties reverseProperties,
                                    java.lang.String defaultEncoding)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • getReversedProperties

        private java.util.Properties getReversedProperties​(ArchetypeDescriptor archetypeDescriptor,
                                                           java.util.Properties properties)
      • resolveFileNames

        private java.util.List<java.lang.String> resolveFileNames​(org.apache.maven.model.Model pom,
                                                                  java.io.File basedir,
                                                                  java.util.List<java.lang.String> excludePatterns)
                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • resolveFileSets

        private java.util.List<FileSet> resolveFileSets​(java.lang.String packageName,
                                                        java.util.List<java.lang.String> fileNames,
                                                        java.util.List<java.lang.String> languages,
                                                        java.util.List<java.lang.String> filtereds,
                                                        java.lang.String defaultEncoding)
      • restoreArtifactId

        private void restoreArtifactId​(java.util.Properties properties,
                                       java.lang.String artifactId)
      • restoreParentArtifactId

        private void restoreParentArtifactId​(java.util.Properties properties,
                                             java.lang.String parentArtifactId)
      • getReversedContent

        private java.lang.String getReversedContent​(java.lang.String content,
                                                    java.util.Properties properties)
      • getReversedPlainContent

        private java.lang.String getReversedPlainContent​(java.lang.String content,
                                                         java.util.Properties properties)
      • getReversedFilename

        private java.lang.String getReversedFilename​(java.lang.String filename,
                                                     java.util.Properties properties)
      • getTemplateOutputDirectory

        private java.lang.String getTemplateOutputDirectory()
      • getUnpackagedFileSet

        private FileSet getUnpackagedFileSet​(boolean filtered,
                                             java.lang.String group,
                                             java.util.List<java.lang.String> groupFiles,
                                             java.lang.String defaultEncoding)
      • getUnpackagedFileSet

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

        public java.lang.String getArchetypeVersion()