Class DefaultMavenResourcesFiltering

  • All Implemented Interfaces:
    MavenResourcesFiltering, org.codehaus.plexus.logging.LogEnabled, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable

    @Component(role=MavenResourcesFiltering.class,
               hint="default")
    public class DefaultMavenResourcesFiltering
    extends org.codehaus.plexus.logging.AbstractLogEnabled
    implements MavenResourcesFiltering, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
    • Field Detail

      • EMPTY_STRING_ARRAY

        private static final java.lang.String[] EMPTY_STRING_ARRAY
      • DEFAULT_INCLUDES

        private static final java.lang.String[] DEFAULT_INCLUDES
      • defaultNonFilteredFileExtensions

        private java.util.List<java.lang.String> defaultNonFilteredFileExtensions
      • buildContext

        @Requirement
        private org.sonatype.plexus.build.incremental.BuildContext buildContext
    • Constructor Detail

      • DefaultMavenResourcesFiltering

        public DefaultMavenResourcesFiltering()
    • Method Detail

      • initialize

        public void initialize()
                        throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
        Specified by:
        initialize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
        Throws:
        org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
      • filteredFileExtension

        public boolean filteredFileExtension​(java.lang.String fileName,
                                             java.util.List<java.lang.String> userNonFilteredFileExtensions)
        Specified by:
        filteredFileExtension in interface MavenResourcesFiltering
        Parameters:
        fileName - the file name
        userNonFilteredFileExtensions - an extra list of file extensions
        Returns:
        true if filtering can be applied to the file (means extensions.lowerCase is in the default List or in the user defined extension List)
      • getEncoding

        static java.lang.String getEncoding​(java.io.File file,
                                            java.lang.String encoding,
                                            java.lang.String propertiesEncoding)
        Get the encoding to use when filtering the specified file. Properties files can be configured to use a different encoding than regular files.
        Parameters:
        file - The file to check
        encoding - The encoding to use for regular files
        propertiesEncoding - The encoding to use for properties files
        Returns:
        The encoding to use when filtering the specified file
        Since:
        3.2.0
      • isPropertiesFile

        static boolean isPropertiesFile​(java.io.File file)
        Determine whether a file is a properties file or not.
        Parameters:
        file - The file to check
        Returns:
        true if the file name has an extension of "properties", otherwise false
        Since:
        3.2.0
      • setupScanner

        private java.lang.String[] setupScanner​(org.apache.maven.model.Resource resource,
                                                org.codehaus.plexus.util.Scanner scanner,
                                                boolean addDefaultExcludes)
      • copyDirectoryLayout

        private void copyDirectoryLayout​(java.io.File sourceDirectory,
                                         java.io.File destinationDirectory,
                                         org.codehaus.plexus.util.Scanner scanner)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • getRelativeOutputDirectory

        private java.lang.String getRelativeOutputDirectory​(MavenResourcesExecution execution)
      • filterFileName

        private java.lang.String filterFileName​(java.lang.String name,
                                                java.util.List<org.apache.maven.shared.utils.io.FileUtils.FilterWrapper> wrappers)
                                         throws MavenFilteringException
        Throws:
        MavenFilteringException