Class AbstractFilterSourcesMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.codehaus.mojo.templating.AbstractFilterSourcesMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
FilterSourcesMojo, FilterTestSourcesMojo

public abstract class AbstractFilterSourcesMojo extends org.apache.maven.plugin.AbstractMojo
  • Field Details

    • CHECKSUM_BUFFER

      private static final int CHECKSUM_BUFFER
      See Also:
    • copied

      private int copied
    • buildContext

      @Component private org.sonatype.plexus.build.incremental.BuildContext buildContext
    • encoding

      @Parameter(defaultValue="${project.build.sourceEncoding}") private String encoding
      The character encoding scheme to be applied when filtering resources.
    • escapeString

      @Parameter(property="maven.resources.escapeString") protected String escapeString
      Expression preceded with the String won't be interpolated \${foo} will be replaced with ${foo}
    • delimiters

      @Parameter protected List<String> delimiters
      Set of delimiters for expressions to filter within the resources. These delimiters are specified in the form 'beginToken*endToken'. If no '*' is given, the delimiter is assumed to be the same for start and end. So, the default filtering delimiters might be specified as:
       <delimiters>
         <delimiter>${*}</delimiter>
         <delimiter>@</delimiter>
       </delimiters>
       
      Since the '@' delimiter is the same on both ends, we don't need to specify '@*@' (though we can).
    • useDefaultDelimiters

      @Parameter(defaultValue="true") protected boolean useDefaultDelimiters
      Controls whether the default delimiters are included in addition to those configured delimiters. Does not have any effect if delimiters is empty when the defaults will be included anyway.
    • session

      @Parameter(defaultValue="${session}", required=true, readonly=true) private org.apache.maven.execution.MavenSession session
    • project

      @Parameter(defaultValue="${project}", required=true, readonly=true) private org.apache.maven.project.MavenProject project
    • overwrite

      @Parameter(defaultValue="false") protected boolean overwrite
      Controls whether to overwrite files that are not changed, by default files will not be overwritten
    • skipPoms

      @Parameter(defaultValue="true") protected boolean skipPoms
      Skips POM projects if set to true, which is the default option.
    • mavenResourcesFiltering

      @Component(hint="default") protected org.apache.maven.shared.filtering.MavenResourcesFiltering mavenResourcesFiltering
      The resources filtering which is used.
  • Constructor Details

    • AbstractFilterSourcesMojo

      public AbstractFilterSourcesMojo()
  • Method Details

    • getSourceDirectory

      protected abstract File getSourceDirectory()
      Returns:
      The location of the source directory.
    • getOutputDirectory

      protected abstract File getOutputDirectory()
      Returns:
      The location of the output directory.
    • execute

      public void execute() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • countCopiedFiles

      protected int countCopiedFiles()
      Returns:
      number of copied files.
    • logInfo

      private void logInfo(String format, Object... args)
    • logDebug

      private void logDebug(String format, Object... args)
    • isSomethingBeenUpdated

      private boolean isSomethingBeenUpdated()
    • cleanupTemporaryDirectory

      private void cleanupTemporaryDirectory(File temporaryDirectory) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • filterSourceToTemporaryDir

      private void filterSourceToTemporaryDir(File sourceDirectory, File temporaryDirectory) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • setDelimitersForExecution

      private void setDelimitersForExecution(org.apache.maven.shared.filtering.MavenResourcesExecution mavenResourcesExecution)
    • preconditionsCopyDirectoryStructure

      private void preconditionsCopyDirectoryStructure(File sourceDirectory, File destinationDirectory, File rootDestinationDirectory) throws IOException
      Throws:
      IOException
    • copyDirectoryStructure

      private void copyDirectoryStructure(File sourceDirectory, File destinationDirectory) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • copyDirectoryStructureWithIO

      private void copyDirectoryStructureWithIO(File sourceDirectory, File destinationDirectory, File rootDestinationDirectory) throws IOException
      Throws:
      IOException
    • resolve

      private File resolve(File file, String... subfile)
    • isFileDifferent

      private boolean isFileDifferent(File file, File directory) throws IOException
      Throws:
      IOException
    • getCrc32OfFile

      private long getCrc32OfFile(File target) throws IOException
      Throws:
      IOException
    • close

      private void close(Closeable is) throws IOException
      Throws:
      IOException
    • getTemporaryDirectory

      private File getTemporaryDirectory(File sourceDirectory) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • preconditionsFulfilled

      private boolean preconditionsFulfilled(File sourceDirectory)
    • addSourceFolderToProject

      protected abstract void addSourceFolderToProject(org.apache.maven.project.MavenProject mavenProject)
      Parameters:
      mavenProject - MavenProject