org.kohsuke.stapler

## Class AbstractCompilerMojo

- java.lang.Object
- - org.apache.maven.plugin.AbstractMojo
  - - org.kohsuke.stapler.AbstractCompilerMojo

All Implemented Interfaces:
  org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

Direct Known Subclasses:
  CompilerMojo, TestCompilerMojo

    public abstract class AbstractCompilerMojo
    extends org.apache.maven.plugin.AbstractMojo

TODO: At least one step could be optimized, currently the plugin will do two scans of all the source code if the compiler has to have the entire set of sources. This is currently the case for at least the C# compiler and most likely all the other .NET compilers too.

Version:
  $Id: AbstractCompilerMojo.java 383 2007-08-19 17:12:03Z kohsuke $
Author:
  others, Trygve Laugstøl

### Field Summary

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

`ROLE`

### Constructor Summary

Constructors
Constructor and Description
`AbstractCompilerMojo()`

### Method Summary

Methods
`void` `execute()`
`protected abstract List` `getClasspathElements()`
`protected abstract List` `getCompileSourceRoots()`
`protected abstract File` `getOutputDirectory()`
`protected abstract org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner` `getSourceInclusionScanner(int staleMillis)`
`protected abstract org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner` `getSourceInclusionScanner(String inputFileEnding)`

### 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`

### Constructor Detail

#### AbstractCompilerMojo

    public AbstractCompilerMojo()

### Method Detail

#### getSourceInclusionScanner

    protected abstract org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner getSourceInclusionScanner(int staleMillis)

#### getSourceInclusionScanner

    protected abstract org.codehaus.plexus.compiler.util.scan.SourceInclusionScanner getSourceInclusionScanner(String inputFileEnding)

#### getClasspathElements

    protected abstract List getClasspathElements()

#### getCompileSourceRoots

    protected abstract List getCompileSourceRoots()

#### getOutputDirectory

    protected abstract File getOutputDirectory()

#### execute

    public void execute()
                 throws org.apache.maven.plugin.MojoExecutionException,
                        org.apache.maven.plugin.CompilationFailureException

Throws:
  `org.apache.maven.plugin.MojoExecutionException`
  `org.apache.maven.plugin.CompilationFailureException`