Class AbstractWarPackagingTask
java.lang.Object
org.apache.maven.plugins.war.packaging.AbstractWarPackagingTask
- All Implemented Interfaces:
WarPackagingTask
- Direct Known Subclasses:
ArtifactsPackagingTask
,ClassesPackagingTask
,CopyUserManifestTask
,OverlayPackagingTask
,WarProjectPackagingTask
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
copyFile
(String sourceId, WarPackagingContext context, File file, String targetFilename) Copy the specified file if the target location has not yet already been used.protected boolean
copyFile
(WarPackagingContext context, File source, File destination, String targetFilename, boolean onlyIfModified) Copy file from source to destination.protected void
copyFiles
(String sourceId, WarPackagingContext context, File sourceBaseDir, PathSet sourceFilesSet, boolean filtered) Copies the files if possible as is.protected void
copyFiles
(String sourceId, WarPackagingContext context, File sourceBaseDir, PathSet sourceFilesSet, String targetPrefix, boolean filtered) Copies the files if possible with an optional target prefix.protected boolean
copyFilteredFile
(String sourceId, WarPackagingContext context, File file, String targetFilename) Copy the specified file if the target location has not yet already been used and filter its content with the configured filter properties.protected void
doUnpack
(WarPackagingContext context, File file, File unpackDirectory) Unpacks the specified file to the specified directory.protected String
getArtifactFinalName
(WarPackagingContext context, org.apache.maven.artifact.Artifact artifact) Returns the final name of the specified artifact.protected String
getEncoding
(File webXml) Get the encoding from an XML-file.protected PathSet
getFilesToIncludes
(File baseDir, String[] includes, String[] excludes) Returns the file to copy.protected PathSet
getFilesToIncludes
(File baseDir, String[] includes, String[] excludes, boolean includeDirectories) Returns the file to copy.private boolean
isFileOfType
(File file, String extension) Determine whether a file is of a certain type, by looking at the file extension.private boolean
isPropertiesFile
(File file) Determine whether a file is a properties file or not.private boolean
Returnstrue
if theFile
-object is a file (not a directory) that is notnull
and has a file name that ends in ".xml".Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.maven.plugins.war.packaging.WarPackagingTask
performPackaging
-
Field Details
-
DEFAULT_INCLUDES
The default list of includes. -
WEB_INF_PATH
TheWEB-INF
path.- See Also:
-
META_INF_PATH
TheMETA-INF
path.- See Also:
-
CLASSES_PATH
Theclasses
path.- See Also:
-
LIB_PATH
Thelib
path.- See Also:
-
-
Constructor Details
-
AbstractWarPackagingTask
public AbstractWarPackagingTask()
-
-
Method Details
-
copyFiles
protected void copyFiles(String sourceId, WarPackagingContext context, File sourceBaseDir, PathSet sourceFilesSet, String targetPrefix, boolean filtered) throws IOException, org.apache.maven.plugin.MojoExecutionException Copies the files if possible with an optional target prefix. Copy uses a first-win strategy: files that have already been copied by previous tasks are ignored. This method makes sure to update the list of protected files which gives the list of files that have already been copied. If the structure of the source directory is not the same as the root of the webapp, use thetargetPrefix
parameter to specify in which particular directory the files should be copied. Usenull
to copy the files with the same structure- Parameters:
sourceId
- the source idcontext
- the context to usesourceBaseDir
- the base directory from which thesourceFilesSet
will be copiedsourceFilesSet
- the files to be copiedtargetPrefix
- the prefix to add to the target file namefiltered
- filter or not.- Throws:
IOException
- if an error occurred while copying the filesorg.apache.maven.plugin.MojoExecutionException
- if an error occurs.
-
copyFiles
protected void copyFiles(String sourceId, WarPackagingContext context, File sourceBaseDir, PathSet sourceFilesSet, boolean filtered) throws IOException, org.apache.maven.plugin.MojoExecutionException Copies the files if possible as is. Copy uses a first-win strategy: files that have already been copied by previous tasks are ignored. This method makes sure to update the list of protected files which gives the list of files that have already been copied.- Parameters:
sourceId
- the source idcontext
- the context to usesourceBaseDir
- the base directory from which thesourceFilesSet
will be copiedsourceFilesSet
- the files to be copiedfiltered
- filter or not.- Throws:
IOException
- if an error occurred while copying the filesorg.apache.maven.plugin.MojoExecutionException
- break the build.
-
copyFile
protected void copyFile(String sourceId, WarPackagingContext context, File file, String targetFilename) throws IOException Copy the specified file if the target location has not yet already been used. ThetargetFileName
is the relative path according to the root of the generated web application.- Parameters:
sourceId
- the source idcontext
- the context to usefile
- the file to copytargetFilename
- the relative path according to the root of the webapp- Throws:
IOException
- if an error occurred while copying
-
copyFilteredFile
protected boolean copyFilteredFile(String sourceId, WarPackagingContext context, File file, String targetFilename) throws IOException, org.apache.maven.plugin.MojoExecutionException Copy the specified file if the target location has not yet already been used and filter its content with the configured filter properties. ThetargetFileName
is the relative path according to the root of the generated web application.- Parameters:
sourceId
- the source idcontext
- the context to usefile
- the file to copytargetFilename
- the relative path according to the root of the webapp- Returns:
- true if the file has been copied, false otherwise
- Throws:
IOException
- if an error occurred while copyingorg.apache.maven.plugin.MojoExecutionException
- if an error occurred while retrieving the filter properties
-
doUnpack
protected void doUnpack(WarPackagingContext context, File file, File unpackDirectory) throws org.apache.maven.plugin.MojoExecutionException Unpacks the specified file to the specified directory.- Parameters:
context
- the packaging contextfile
- the file to unpackunpackDirectory
- the directory to use for th unpacked file- Throws:
org.apache.maven.plugin.MojoExecutionException
- if an error occurred while unpacking the file
-
copyFile
protected boolean copyFile(WarPackagingContext context, File source, File destination, String targetFilename, boolean onlyIfModified) throws IOException Copy file from source to destination. The directories up todestination
will be created if they don't already exist. if theonlyIfModified
flag isfalse
,destination
will be overwritten if it already exists. If the flag istrue
destination will be overwritten if it's not up to date.- Parameters:
context
- the packaging contextsource
- an existing non-directoryFile
to copy bytes fromdestination
- a non-directoryFile
to write bytes to (possibly overwriting).targetFilename
- the relative path of the file from the webapp root directoryonlyIfModified
- if true, copy the file only if the source has changed, always copy otherwise- Returns:
- true if the file has been copied/updated, false otherwise
- Throws:
IOException
- ifsource
does not exist,destination
cannot be written to, or an IO error occurs during copying
-
getEncoding
Get the encoding from an XML-file.- Parameters:
webXml
- the XML-file- Returns:
- The encoding of the XML-file, or UTF-8 if it's not specified in the file
- Throws:
IOException
- if an error occurred while reading the file
-
getFilesToIncludes
Returns the file to copy. If the includes arenull
or empty, the default includes are used.- Parameters:
baseDir
- the base directory to start fromincludes
- the includesexcludes
- the excludes- Returns:
- the files to copy
-
getFilesToIncludes
protected PathSet getFilesToIncludes(File baseDir, String[] includes, String[] excludes, boolean includeDirectories) Returns the file to copy. If the includes arenull
or empty, the default includes are used.- Parameters:
baseDir
- the base directory to start fromincludes
- the includesexcludes
- the excludesincludeDirectories
- include directories yes or not.- Returns:
- the files to copy
-
getArtifactFinalName
protected String getArtifactFinalName(WarPackagingContext context, org.apache.maven.artifact.Artifact artifact) throws org.codehaus.plexus.interpolation.InterpolationException Returns the final name of the specified artifact. If theoutputFileNameMapping
is set, it is used, otherwise the standard naming scheme is used.- Parameters:
context
- the packaging contextartifact
- the artifact- Returns:
- the converted filename of the artifact
- Throws:
org.codehaus.plexus.interpolation.InterpolationException
- in case of interpolation problem.
-
isFileOfType
Determine whether a file is of a certain type, by looking at the file extension.- Parameters:
file
- The file to checkextension
- The extension for a file type, including the '.'- Returns:
true
if the file is a file of the specified type, otherwisefalse
- Since:
- 3.4.0
-
isPropertiesFile
Determine whether a file is a properties file or not.- Parameters:
file
- The file to check- Returns:
true
if the file is a properties file, otherwisefalse
- Since:
- 3.4.0
-
isXmlFile
Returnstrue
if theFile
-object is a file (not a directory) that is notnull
and has a file name that ends in ".xml".- Parameters:
file
- The file to check- Returns:
true
if the file is an xml-file, otherwisefalse
- Since:
- 2.3
-