Class UnXARMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.xwiki.tool.xar.UnXARMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="unxar", requiresDependencyResolution=COMPILE, threadSafe=true) public class UnXARMojo extends org.apache.maven.plugin.AbstractMojo
Expand a XAR file.
Version:
$Id: ca4c64aa5746af61da3e147464b352d5365bac90 $
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected 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 in link #PACKAGE_XML.
    protected static final String
    The name of the tag that marks the list of files in link #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 interface org.apache.maven.plugin.Mojo

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    protected org.xwiki.tool.xar.internal.XWikiDocument
    Load a XWiki document from its XML representation.
    protected Map<String,XAREntry>
     
    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
    unpackDependentXars(org.apache.maven.artifact.Artifact artifact)
    Unpack xar dependencies of the provided artifact.
    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.apache.maven.plugin.AbstractMojo

    getLog, getPluginContext, setLog, setPluginContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • PACKAGE_XML

      protected static final String PACKAGE_XML
      The name of the XAR descriptor file.
      See Also:
    • FILES_TAG

      protected static final String FILES_TAG
      The name of the tag that marks the list of files in link #PACKAGE_XML.
      See Also:
    • FILE_TAG

      protected static final String FILE_TAG
      The name of the tag that marks a specific file in link #PACKAGE_XML.
      See Also:
    • includes

      @Parameter(property="includes") protected String[] includes
      List of files to include. Specified as fileset patterns.
    • excludes

      @Parameter(property="excludes") protected String[] excludes
      List of files to exclude. Specified as fileset patterns.
    • project

      @Parameter(property="project", required=true, readonly=true) protected org.apache.maven.project.MavenProject project
      The maven project.
    • encoding

      @Parameter(property="project.build.sourceEncoding") protected String 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> remoteRepos
      List of Remote Repositories used by the resolver.
    • mavenProjectBuilder

      @Component protected org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
      Project builder -- builds a model from a pom.xml.
    • factory

      @Component protected org.apache.maven.artifact.factory.ArtifactFactory factory
      Used to look up Artifacts in the remote repository.
    • resolver

      @Component protected org.apache.maven.artifact.resolver.ArtifactResolver resolver
      Used to look up Artifacts in the remote repository.
  • Constructor Details

    • UnXARMojo

      public UnXARMojo()
  • 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
    • unpackDependentXars

      protected void unpackDependentXars(org.apache.maven.artifact.Artifact artifact) throws org.apache.maven.plugin.MojoExecutionException
      Unpack xar dependencies of the provided artifact.
      Throws:
      org.apache.maven.plugin.MojoExecutionException - error when unpack dependencies.
    • getIncludes

      protected String[] getIncludes()
      Returns:
      the includes
    • getExcludes

      protected String[] getExcludes()
      Returns:
      the excludes
    • getEntryMap

      protected Map<String,XAREntry> 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 with ConsoleLogger.
      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 - error
      org.apache.maven.artifact.resolver.ArtifactNotFoundException - error
      org.apache.maven.project.ProjectBuildingException - error
      org.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 - error
      org.apache.maven.artifact.resolver.ArtifactNotFoundException - error
      org.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

      protected File getResourcesDirectory()
      Returns:
      the Maven Resources directory for the project