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 Summary
Fields Modifier and Type Field Description private org.sonatype.plexus.build.incremental.BuildContext
buildContext
private static java.lang.String[]
DEFAULT_INCLUDES
private java.util.List<java.lang.String>
defaultNonFilteredFileExtensions
private static java.lang.String[]
EMPTY_STRING_ARRAY
private MavenFileFilter
mavenFileFilter
-
Constructor Summary
Constructors Constructor Description DefaultMavenResourcesFiltering()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
copyDirectoryLayout(java.io.File sourceDirectory, java.io.File destinationDirectory, org.codehaus.plexus.util.Scanner scanner)
boolean
filteredFileExtension(java.lang.String fileName, java.util.List<java.lang.String> userNonFilteredFileExtensions)
private java.lang.String
filterFileName(java.lang.String name, java.util.List<org.apache.maven.shared.utils.io.FileUtils.FilterWrapper> wrappers)
void
filterResources(MavenResourcesExecution mavenResourcesExecution)
java.util.List<java.lang.String>
getDefaultNonFilteredFileExtensions()
return the List of the non filtered extensions (jpg,jpeg,gif,bmp,png,ico)private java.io.File
getDestinationFile(java.io.File outputDirectory, java.lang.String targetPath, java.lang.String name, MavenResourcesExecution mavenResourcesExecution)
(package private) 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.private java.lang.String
getRelativeOutputDirectory(MavenResourcesExecution execution)
private void
handleDefaultFilterWrappers(MavenResourcesExecution mavenResourcesExecution)
void
initialize()
(package private) static boolean
isPropertiesFile(java.io.File file)
Determine whether a file is a properties file or not.private java.lang.String[]
setupScanner(org.apache.maven.model.Resource resource, org.codehaus.plexus.util.Scanner scanner, boolean addDefaultExcludes)
-
-
-
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
-
mavenFileFilter
@Requirement private MavenFileFilter mavenFileFilter
-
-
Method Detail
-
initialize
public void initialize() throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
- Specified by:
initialize
in interfaceorg.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 interfaceMavenResourcesFiltering
- Parameters:
fileName
- the file nameuserNonFilteredFileExtensions
- 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 java.util.List<java.lang.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 interfaceMavenResourcesFiltering
- Returns:
List
ofString
-
filterResources
public void filterResources(MavenResourcesExecution mavenResourcesExecution) throws MavenFilteringException
- Specified by:
filterResources
in interfaceMavenResourcesFiltering
- Parameters:
mavenResourcesExecution
-MavenResourcesExecution
- Throws:
MavenFilteringException
- in case of failure.
-
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 checkencoding
- The encoding to use for regular filespropertiesEncoding
- 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", otherwisefalse
- Since:
- 3.2.0
-
handleDefaultFilterWrappers
private void handleDefaultFilterWrappers(MavenResourcesExecution mavenResourcesExecution) throws MavenFilteringException
- Throws:
MavenFilteringException
-
getDestinationFile
private java.io.File getDestinationFile(java.io.File outputDirectory, java.lang.String targetPath, java.lang.String name, MavenResourcesExecution mavenResourcesExecution) throws MavenFilteringException
- Throws:
MavenFilteringException
-
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
-
-