Class DefaultMavenResourcesFiltering

java.lang.Object
org.codehaus.plexus.logging.AbstractLogEnabled
org.apache.maven.shared.filtering.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 Details

    • EMPTY_STRING_ARRAY

      private static final String[] EMPTY_STRING_ARRAY
    • DEFAULT_INCLUDES

      private static final String[] DEFAULT_INCLUDES
    • defaultNonFilteredFileExtensions

      private List<String> defaultNonFilteredFileExtensions
    • buildContext

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

      @Requirement private MavenFileFilter mavenFileFilter
  • Constructor Details

    • DefaultMavenResourcesFiltering

      public DefaultMavenResourcesFiltering()
  • Method Details

    • 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(String fileName, List<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)
    • getDefaultNonFilteredFileExtensions

      public List<String> getDefaultNonFilteredFileExtensions()
      Description copied from interface: MavenResourcesFiltering
      return the List of the non filtered extensions (jpg,jpeg,gif,bmp,png,ico)
      Specified by:
      getDefaultNonFilteredFileExtensions in interface MavenResourcesFiltering
      Returns:
      List of String
    • filterResources

      public void filterResources(MavenResourcesExecution mavenResourcesExecution) throws MavenFilteringException
      Specified by:
      filterResources in interface MavenResourcesFiltering
      Parameters:
      mavenResourcesExecution - MavenResourcesExecution
      Throws:
      MavenFilteringException - in case of failure.
    • getEncoding

      static String getEncoding(File file, String encoding, 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(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
    • handleDefaultFilterWrappers

      private void handleDefaultFilterWrappers(MavenResourcesExecution mavenResourcesExecution) throws MavenFilteringException
      Throws:
      MavenFilteringException
    • getDestinationFile

      private File getDestinationFile(File outputDirectory, String targetPath, String name, MavenResourcesExecution mavenResourcesExecution) throws MavenFilteringException
      Throws:
      MavenFilteringException
    • setupScanner

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

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

      private String getRelativeOutputDirectory(MavenResourcesExecution execution)
    • filterFileName

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