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

@Mojo(name="format", threadSafe=true) public class FormatMojo extends AbstractVerifyMojo
Pretty prints and set valid authors and version to XAR XML files.
Version:
$Id: b590c26fee37b4e417c07126f82e99e24d89d47e $
  • 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

    • 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

      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