Class AbstractAntlrMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.codehaus.mojo.antlr.AbstractAntlrMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, Environment
Direct Known Subclasses:
AntlrHtmlReport, AntlrPlugin

public abstract class AbstractAntlrMojo extends org.apache.maven.plugin.AbstractMojo implements Environment
Base class with majority of Antlr functionalities.
Version:
$Id: AbstractAntlrMojo.java 13111 2010-11-16 22:16:36Z pgier $
  • Field Details

    • sourceDirectory

      protected File sourceDirectory
      Specifies the Antlr directory containing grammar files.
    • project

      protected org.apache.maven.project.MavenProject project
      The Maven Project Object
    • projectHelper

      private org.apache.maven.project.MavenProjectHelper projectHelper
      The maven project's helper.
    • outputDirectory

      protected File outputDirectory
      Specifies the destination directory where Antlr should generate files.
      See Command Line Options
    • grammars

      protected String grammars
      Comma separated grammar file names or grammar pattern file names present in the sourceDirectory directory.
      See Command Line Options
    • grammarDefs

      protected Grammar[] grammarDefs
      Grammar list presents in the sourceDirectory directory.
      See Command Line Options
      Example:
       <grammarDefs>
      <grammar>
      <name>myGrammar.g</name>
      <glib>mySuperGrammar.g;myOtherSuperGrammar.g</glib>
      </grammar>
      </grammarDefs>
    • debug

      private boolean debug
      Launch the ParseView debugger upon parser invocation.
      See Command Line Options
    • diagnostic

      private boolean diagnostic
      Generate a text file from your grammar with a lot of debugging info.
      See Command Line Options
    • trace

      private boolean trace
      Have all rules call traceIn/traceOut.
      See Command Line Options
    • traceParser

      private boolean traceParser
      Have parser rules call traceIn/traceOut.
      See Command Line Options
    • traceLexer

      private boolean traceLexer
      Have lexer rules call traceIn/traceOut.
      See Command Line Options
    • traceTreeParser

      private boolean traceTreeParser
      Have tree rules call traceIn/traceOut.
      See Command Line Options
  • Constructor Details

    • AbstractAntlrMojo

      public AbstractAntlrMojo()
  • Method Details

    • getSourceDirectory

      public File getSourceDirectory()
      Specified by:
      getSourceDirectory in interface Environment
    • getOutputDirectory

      public File getOutputDirectory()
      Specified by:
      getOutputDirectory in interface Environment
    • executeAntlr

      protected void executeAntlr() throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • locateAntlrArtifact

      protected final org.apache.maven.artifact.Artifact locateAntlrArtifact() throws AbstractAntlrMojo.NoAntlrDependencyDefinedException
      Throws:
      AbstractAntlrMojo.NoAntlrDependencyDefinedException
    • performGeneration

      protected void performGeneration(GenerationPlan plan, org.apache.maven.artifact.Artifact antlrArtifact) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • generateClasspathForProcessSpawning

      private String generateClasspathForProcessSpawning(org.apache.maven.artifact.Artifact antlrArtifact)
    • executeAntlrInIsolatedClassLoader

      private void executeAntlrInIsolatedClassLoader(String[] args, org.apache.maven.artifact.Artifact antlrArtifact) throws org.apache.maven.plugin.MojoExecutionException
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • addArgs

      protected abstract void addArgs(List arguments)
      Add arguments to be included in Antlr call
      Parameters:
      arguments -
    • addArgIf

      protected static void addArgIf(List arguments, boolean b, String value)
      Convenience method to add an argument
      Parameters:
      arguments -
      b -
      value -
    • getGeneratedFile

      private File getGeneratedFile(String grammar, File outputDir) throws IOException
      Parameters:
      grammar -
      outputDir -
      Returns:
      generated file
      Throws:
      IOException
    • validateParameters

      private void validateParameters() throws org.apache.maven.plugin.MojoExecutionException
      grammars or grammarDefs parameters is required
      Throws:
      org.apache.maven.plugin.MojoExecutionException
    • getGrammars

      private Grammar[] getGrammars()
      Get the list of all grammars to be compiled. The grammars variable can be a list of file or patterns. For instance, one can use *.g instead of a full list of grammar names. Be aware that sometime the grammar order is important, and that patterns won't keep this order, but we can still combine both elements( ordered names first, then the patterns). File name won't be added twice in the list of files.
      Returns:
      an array of grammar from grammars and grammarDefs variables