Class ResourcesMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
    Direct Known Subclasses:
    CopyResourcesMojo, TestResourcesMojo

    @Mojo(name="resources",
          defaultPhase=PROCESS_RESOURCES,
          requiresProject=true,
          threadSafe=true)
    public class ResourcesMojo
    extends org.apache.maven.plugin.AbstractMojo
    implements org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
    Copy resources for the main source code to the main output directory. Always uses the project.build.resources element to specify the resources to copy.
    Author:
    Michal Maczka, Jason van Zyl, Andreas Hoheneder, William Ferguson
    • Field Detail

      • encoding

        @Parameter(defaultValue="${project.build.sourceEncoding}")
        protected String encoding
        The character encoding to use when reading and writing filtered resources.
      • propertiesEncoding

        @Parameter
        protected String propertiesEncoding
        The character encoding to use when reading and writing filtered properties files. If not specified, it will default to the value of the "encoding" parameter.
        Since:
        3.2.0
      • project

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

        @Parameter(defaultValue="${project.build.filters}",
                   readonly=true)
        protected List<String> buildFilters
        The list of additional filter properties files to be used along with System and project properties, which would be used for the filtering.
        Since:
        2.4
        See Also:
        filters
      • filters

        @Parameter
        protected List<String> filters

        The list of extra filter properties files to be used along with System properties, project properties, and filter properties files specified in the POM build/filters section, which should be used for the filtering during the current mojo execution.

        Normally, these will be configured from a plugin's execution section, to provide a different set of filters for a particular execution. For instance, starting in Maven 2.2.0, you have the option of configuring executions with the id's default-resources and default-testResources to supply different configurations for the two different types of resources. By supplying extraFilters configurations, you can separate which filters are used for which type of resource.

      • useBuildFilters

        @Parameter(defaultValue="true")
        protected boolean useBuildFilters
        If false, don't use the filters specified in the build/filters section of the POM when processing resources in this mojo execution.
        Since:
        2.4
        See Also:
        buildFilters, filters
      • mavenResourcesFiltering

        @Component(role=org.apache.maven.shared.filtering.MavenResourcesFiltering.class,
                   hint="default")
        protected org.apache.maven.shared.filtering.MavenResourcesFiltering mavenResourcesFiltering
      • session

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

        @Parameter
        protected String escapeString
        Expressions preceded with this string won't be interpolated. Anything else preceded with this string will be passed through unchanged. For example \${foo} will be replaced with ${foo} but \\${foo} will be replaced with \\value of foo, if this parameter has been set to the backslash.
        Since:
        2.3
      • includeEmptyDirs

        @Parameter(defaultValue="false")
        protected boolean includeEmptyDirs
        Copy any empty directories included in the Resources.
        Since:
        2.3
      • nonFilteredFileExtensions

        @Parameter
        protected List<String> nonFilteredFileExtensions
        Additional file extensions to not apply filtering (already defined are : jpg, jpeg, gif, bmp, png)
        Since:
        2.3
      • escapeWindowsPaths

        @Parameter(defaultValue="true")
        protected boolean escapeWindowsPaths
        Whether to escape backslashes and colons in windows-style paths.
        Since:
        2.4
      • delimiters

        @Parameter
        protected LinkedHashSet<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).

        Since:
        2.4
      • useDefaultDelimiters

        @Parameter(defaultValue="true")
        protected boolean useDefaultDelimiters
        Use default delimiters in addition to custom delimiters, if any.
        Since:
        2.4
      • addDefaultExcludes

        @Parameter(defaultValue="true")
        protected boolean addDefaultExcludes
        By default files like .gitignore, .cvsignore etc. are excluded which means they will not being copied. If you need them for a particular reason you can do that by settings this to false. This means all files like the following will be copied.
        • Misc: **/*~, **/#*#, **/.#*, **/%*%, **/._*
        • CVS: **/CVS, **/CVS/**, **/.cvsignore
        • RCS: **/RCS, **/RCS/**
        • SCCS: **/SCCS, **/SCCS/**
        • VSSercer: **/vssver.scc
        • MKS: **/project.pj
        • SVN: **/.svn, **/.svn/**
        • GNU: **/.arch-ids, **/.arch-ids/**
        • Bazaar: **/.bzr, **/.bzr/**
        • SurroundSCM: **/.MySCMServerInfo
        • Mac: **/.DS_Store
        • Serena Dimension: **/.metadata, **/.metadata/**
        • Mercurial: **/.hg, **/.hg/**
        • GIT: **/.git, **/.gitignore, **/.gitattributes, **/.git/**
        • Bitkeeper: **/BitKeeper, **/BitKeeper/**, **/ChangeSet, **/ChangeSet/**
        • Darcs: **/_darcs, **/_darcs/**, **/.darcsrepo, **/.darcsrepo/****/-darcs-backup*, **/.darcs-temp-mail
        Since:
        3.0.0
    • Constructor Detail

      • ResourcesMojo

        public ResourcesMojo()
    • Method Detail

      • contextualize

        public void contextualize​(org.codehaus.plexus.context.Context context)
                           throws org.codehaus.plexus.context.ContextException
        Specified by:
        contextualize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable
        Throws:
        org.codehaus.plexus.context.ContextException
      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException
        Specified by:
        execute in interface org.apache.maven.plugin.Mojo
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • executeUserFilterComponents

        protected void executeUserFilterComponents​(org.apache.maven.shared.filtering.MavenResourcesExecution mavenResourcesExecution)
                                            throws org.apache.maven.plugin.MojoExecutionException,
                                                   org.apache.maven.shared.filtering.MavenFilteringException
        Parameters:
        mavenResourcesExecution - MavenResourcesExecution
        Throws:
        org.apache.maven.plugin.MojoExecutionException - in case of wrong lookup.
        org.apache.maven.shared.filtering.MavenFilteringException - in case of failure.
        Since:
        2.5
      • getCombinedFiltersList

        protected List<String> getCombinedFiltersList()
        Returns:
        The combined filters.
      • getResources

        public List<org.apache.maven.model.Resource> getResources()
        Returns:
        resources
      • setResources

        public void setResources​(List<org.apache.maven.model.Resource> resources)
        Parameters:
        resources - set resources
      • setOutputDirectory

        public void setOutputDirectory​(File outputDirectory)
        Parameters:
        outputDirectory - the output folder.
      • isOverwrite

        public boolean isOverwrite()
        Returns:
        overwrite
      • setOverwrite

        public void setOverwrite​(boolean overwrite)
        Parameters:
        overwrite - true to overwrite false otherwise.
      • isIncludeEmptyDirs

        public boolean isIncludeEmptyDirs()
        Returns:
        includeEmptyDirs
      • setIncludeEmptyDirs

        public void setIncludeEmptyDirs​(boolean includeEmptyDirs)
        Parameters:
        includeEmptyDirs - true/false.
      • setFilters

        public void setFilters​(List<String> filters)
        Parameters:
        filters - The filters to use.
      • setDelimiters

        public void setDelimiters​(LinkedHashSet<String> delimiters)
        Parameters:
        delimiters - The delimiters to use.
      • setUseDefaultDelimiters

        public void setUseDefaultDelimiters​(boolean useDefaultDelimiters)
        Parameters:
        useDefaultDelimiters - true to use ${*}
      • isSkip

        public boolean isSkip()
        Returns:
        skip