Class TagMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
com.github.koraktor.mavanagaiata.mojo.TagMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

@Mojo(name="tag", defaultPhase=INITIALIZE, threadSafe=true) public class TagMojo extends org.apache.maven.plugin.AbstractMojo
This goal provides the most recent Git tag in the "mavanagaiata.tag" and "mvngit.tag" properties. This goal provides the most recent Git tag name in the "mavanagaiata.tag.name" and "mvngit.tag.name" properties. Additionally, more exact information as per git describe is provided in the "mavanagaiata.tag.describe" and "mvngit.tag.describe" properties
Since:
0.1.0
Author:
Sebastian Staudt
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
    The date format to use for various dates
    protected org.apache.maven.project.MavenProject
    The Maven project

    Fields inherited from interface org.apache.maven.plugin.Mojo

    ROLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final void
    Generic execution sequence for a Mavanagaiata mojo
    protected GitRepository
    Generic initialization for all Mavanagaiata mojos
    void
    run(GitRepository repository)
    This will first read all tags and walk the commit hierarchy down from HEAD until it finds one of the tags.

    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

    • dateFormat

      @Parameter(property="mavanagaiata.dateFormat", defaultValue="MM/dd/yyyy hh:mm a Z") protected String dateFormat
      The date format to use for various dates
    • project

      @Parameter(defaultValue="${project}", readonly=true) protected org.apache.maven.project.MavenProject project
      The Maven project
  • Constructor Details

    • TagMojo

      public TagMojo()
  • Method Details

    • run

      public void run(GitRepository repository) throws com.github.koraktor.mavanagaiata.mojo.MavanagaiataMojoException
      This will first read all tags and walk the commit hierarchy down from HEAD until it finds one of the tags. The name of that tag is written into "mavanagaiata.tag.name" and "mvngit.tag.name" respectively.

      A more canonical representation as per git describe is stored in "mavanagaiata.tag.describe" and "mvngit.tag.describe".

      Parameters:
      repository - The repository instance to use
      Throws:
      com.github.koraktor.mavanagaiata.mojo.MavanagaiataMojoException - if the tags cannot be read
    • execute

      public final void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
      Generic execution sequence for a Mavanagaiata mojo

      Will initialize any needed resources, run the actual mojo code and cleanup afterwards.

      Throws:
      org.apache.maven.plugin.MojoExecutionException - if the mojo execution fails and failGracefully is false
      org.apache.maven.plugin.MojoFailureException - if the mojo execution fails and failGracefully is true
      See Also:
    • init

      protected GitRepository init() throws com.github.koraktor.mavanagaiata.mojo.MavanagaiataMojoException
      Generic initialization for all Mavanagaiata mojos

      This will initialize the JGit repository instance for further usage by the mojo.

      Returns:
      false if the execution should be skipped
      Throws:
      com.github.koraktor.mavanagaiata.mojo.MavanagaiataMojoException - if the repository cannot be initialized