Class AbstractWarPackagingTask
java.lang.Object
org.apache.maven.plugins.war.packaging.AbstractWarPackagingTask
- All Implemented Interfaces:
WarPackagingTask
- Direct Known Subclasses:
ArtifactsPackagingTask,ClassesPackagingTask,CopyUserManifestTask,OverlayPackagingTask,WarProjectPackagingTask
- Author:
- Stephane Nicoll
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcopyFile(String sourceId, WarPackagingContext context, File file, String targetFilename) Copy the specified file if the target location has not yet already been used.protected booleancopyFile(WarPackagingContext context, File source, File destination, String targetFilename, boolean onlyIfModified) Copy file from source to destination.protected voidcopyFiles(String sourceId, WarPackagingContext context, File sourceBaseDir, PathSet sourceFilesSet, boolean filtered) Copies the files if possible as is.protected voidcopyFiles(String sourceId, WarPackagingContext context, File sourceBaseDir, PathSet sourceFilesSet, String targetPrefix, boolean filtered) Copies the files if possible with an optional target prefix.protected booleancopyFilteredFile(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 voiddoUnpack(WarPackagingContext context, File file, File unpackDirectory) Unpacks the specified file to the specified directory.protected StringgetArtifactFinalName(WarPackagingContext context, org.apache.maven.artifact.Artifact artifact) Returns the final name of the specified artifact.protected StringgetEncoding(File webXml) Get the encoding from an XML-file.protected PathSetgetFilesToIncludes(File baseDir, String[] includes, String[] excludes) Returns the file to copy.protected PathSetgetFilesToIncludes(File baseDir, String[] includes, String[] excludes, boolean includeDirectories) Returns the file to copy.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.maven.plugins.war.packaging.WarPackagingTask
performPackaging
-
Field Details
-
DEFAULT_INCLUDES
The default list of includes. -
WEB_INF_PATH
TheWEB-INFpath.- See Also:
-
META_INF_PATH
TheMETA-INFpath.- See Also:
-
CLASSES_PATH
Theclassespath.- See Also:
-
LIB_PATH
Thelibpath.- 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 thetargetPrefixparameter to specify in which particular directory the files should be copied. Usenullto copy the files with the same structure- Parameters:
sourceId- the source idcontext- the context to usesourceBaseDir- the base directory from which thesourceFilesSetwill 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 thesourceFilesSetwill 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. ThetargetFileNameis 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. ThetargetFileNameis 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 todestinationwill be created if they don't already exist. if theonlyIfModifiedflag isfalse,destinationwill be overwritten if it already exists. If the flag istruedestination will be overwritten if it's not up to date.- Parameters:
context- the packaging contextsource- an existing non-directoryFileto copy bytes fromdestination- a non-directoryFileto 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- ifsourcedoes not exist,destinationcannot 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 arenullor 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 arenullor 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 theoutputFileNameMappingis 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.
-