Package org.xwiki.tool.xar
Class FormatMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.xwiki.tool.xar.AbstractVerifyMojo
org.xwiki.tool.xar.FormatMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
Pretty prints and set valid authors and version to XAR XML files.
- Version:
- $Id: b590c26fee37b4e417c07126f82e99e24d89d47e $
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
The encoding to use when generating the package summary file and when storing file names.protected String[]
List of files to exclude.protected org.apache.maven.artifact.factory.ArtifactFactory
Used to look up Artifacts in the remote repository.protected static final String
The name of the tag that marks a specific file inlink #PACKAGE_XML
.protected static final String
The name of the tag that marks the list of files inlink #PACKAGE_XML
.protected String[]
List of files to include.protected org.apache.maven.project.MavenProjectBuilder
Project builder -- builds a model from a pom.xml.protected static final String
The name of the XAR descriptor file.protected org.apache.maven.project.MavenProject
The maven project.protected List<org.apache.maven.artifact.repository.ArtifactRepository>
List of Remote Repositories used by the resolver.protected org.apache.maven.artifact.resolver.ArtifactResolver
Used to look up Artifacts in the remote repository.Fields inherited from class org.xwiki.tool.xar.AbstractVerifyMojo
AUTHOR, commonsVersion, contentPages, defaultLanguage, force, formatLicense, skipAuthors, skipAuthorsDocumentList, skipDates, skipDatesDocumentList, translatablePages, VERSION, visibleTechnicalPages
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
execute()
protected org.xwiki.tool.xar.internal.XWikiDocument
getDocFromXML
(File file) Load a XWiki document from its XML representation.protected String[]
protected String[]
org.apache.maven.project.MavenProject
protected File
protected Set<org.apache.maven.artifact.Artifact>
resolveArtifactDependencies
(org.apache.maven.artifact.Artifact artifact) This method resolves all transitive dependencies of an artifact.protected Set<org.apache.maven.artifact.Artifact>
resolveDependencyArtifacts
(org.apache.maven.project.MavenProject pomProject) protected void
unpack
(File file, File location, String logName, boolean overwrite, String[] includes, String[] excludes) Unpacks the XAR file (exclude the package.xml file if it exists).protected void
unpackXARToOutputDirectory
(org.apache.maven.artifact.Artifact artifact, String[] includes, String[] excludes) Unpacks A XAR artifacts into the build output directory, along with the project's XAR files.Methods inherited from class org.xwiki.tool.xar.AbstractVerifyMojo
executeLicenseGoal, getXARXMLFiles, getXWikiCommonsVersion, guessDefaultLocale, initializePatterns, isContentPage, isTranslatablePage, isVisibleTechnicalPage
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
PACKAGE_XML
The name of the XAR descriptor file.- See Also:
-
FILES_TAG
The name of the tag that marks the list of files inlink #PACKAGE_XML
.- See Also:
-
FILE_TAG
The name of the tag that marks a specific file inlink #PACKAGE_XML
.- See Also:
-
includes
List of files to include. Specified as fileset patterns. -
excludes
List of files to exclude. Specified as fileset patterns. -
project
@Parameter(property="project", required=true, readonly=true) protected org.apache.maven.project.MavenProject projectThe maven project. -
encoding
The encoding to use when generating the package summary file and when storing file names. -
remoteRepos
@Parameter(property="project.remoteArtifactRepositories", readonly=true, required=true) protected List<org.apache.maven.artifact.repository.ArtifactRepository> remoteReposList of Remote Repositories used by the resolver. -
mavenProjectBuilder
@Component protected org.apache.maven.project.MavenProjectBuilder mavenProjectBuilderProject builder -- builds a model from a pom.xml. -
factory
@Component protected org.apache.maven.artifact.factory.ArtifactFactory factoryUsed to look up Artifacts in the remote repository. -
resolver
@Component protected org.apache.maven.artifact.resolver.ArtifactResolver resolverUsed to look up Artifacts in the remote repository.
-
-
Constructor Details
-
FormatMojo
public FormatMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
getIncludes
- Returns:
- the includes
-
getExcludes
- Returns:
- the excludes
-
getEntryMap
- Returns:
- the map containing all the XAR entries
-
unpack
protected void unpack(File file, File location, String logName, boolean overwrite, String[] includes, String[] excludes) throws org.apache.maven.plugin.MojoExecutionException Unpacks the XAR file (exclude the package.xml file if it exists).- Parameters:
file
- the file to be unpacked.location
- the location where to put the unpacket files.logName
- the name use withConsoleLogger
.overwrite
- indicate if extracted files has to overwrite existing ones.- Throws:
org.apache.maven.plugin.MojoExecutionException
- error when unpacking the file.
-
unpackXARToOutputDirectory
protected void unpackXARToOutputDirectory(org.apache.maven.artifact.Artifact artifact, String[] includes, String[] excludes) throws org.apache.maven.plugin.MojoExecutionException Unpacks A XAR artifacts into the build output directory, along with the project's XAR files.- Parameters:
artifact
- the XAR artifact to unpack.- Throws:
org.apache.maven.plugin.MojoExecutionException
- in case of unpack error
-
getProject
public org.apache.maven.project.MavenProject getProject()- Returns:
- Returns the project.
-
resolveArtifactDependencies
protected Set<org.apache.maven.artifact.Artifact> resolveArtifactDependencies(org.apache.maven.artifact.Artifact artifact) throws org.apache.maven.artifact.resolver.ArtifactResolutionException, org.apache.maven.artifact.resolver.ArtifactNotFoundException, org.apache.maven.project.ProjectBuildingException This method resolves all transitive dependencies of an artifact.- Parameters:
artifact
- the artifact used to retrieve dependencies- Returns:
- resolved set of dependencies
- Throws:
org.apache.maven.artifact.resolver.ArtifactResolutionException
- errororg.apache.maven.artifact.resolver.ArtifactNotFoundException
- errororg.apache.maven.project.ProjectBuildingException
- errororg.apache.maven.project.artifact.InvalidDependencyVersionException
- error
-
resolveDependencyArtifacts
protected Set<org.apache.maven.artifact.Artifact> resolveDependencyArtifacts(org.apache.maven.project.MavenProject pomProject) throws org.apache.maven.artifact.resolver.ArtifactResolutionException, org.apache.maven.artifact.resolver.ArtifactNotFoundException, org.apache.maven.project.artifact.InvalidDependencyVersionException - Parameters:
pomProject
- the project- Returns:
- set of dependencies
- Throws:
org.apache.maven.artifact.resolver.ArtifactResolutionException
- errororg.apache.maven.artifact.resolver.ArtifactNotFoundException
- errororg.apache.maven.project.artifact.InvalidDependencyVersionException
- error
-
getDocFromXML
protected org.xwiki.tool.xar.internal.XWikiDocument getDocFromXML(File file) throws org.apache.maven.plugin.MojoExecutionException Load a XWiki document from its XML representation.- Parameters:
file
- the file to parse.- Returns:
- the loaded document object or null if the document cannot be parsed
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
getResourcesDirectory
- Returns:
- the Maven Resources directory for the project
-