Package org.jboss.jandex.maven
Class JandexGoal
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.jboss.jandex.maven.JandexGoal
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="jandex", defaultPhase=PROCESS_CLASSES, threadSafe=true, requiresDependencyCollection=COMPILE_PLUS_RUNTIME, requiresDependencyResolution=COMPILE_PLUS_RUNTIME) public class JandexGoal extends org.apache.maven.plugin.AbstractMojo
Generate a Jandex index for classes compiled as part of the current project.
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.File
classesDir
By default, process the classes compiled for the project.private java.util.List<FileSet>
fileSets
Process the classes found in these file sets, after considering the specified includes and excludes, if any.private java.io.File
indexDir
The directory in which the index file will be created.private java.lang.String
indexName
The name of the index file.private java.lang.Integer
indexVersion
Persistent index format version to write.private org.apache.maven.project.MavenProject
mavenProject
private boolean
processDefaultFileSet
If true, and if a file set rooted in thetarget/classes
directory is not defined explicitly, an implied file set rooted in thetarget/classes
directory will be used.private boolean
skip
Skip execution if set.private boolean
skipForPomPackaging
Skip execution if set and if the module's packaging is POM.private boolean
verbose
Print verbose output (debug output without needing to enable -X for the whole build).
-
Constructor Summary
Constructors Constructor Description JandexGoal()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute()
private java.lang.String[]
findFilesToIndex(FileSet fileSet, org.codehaus.plexus.util.Scanner scanner)
private void
indexDependency(Indexer indexer, FileSet fileSet)
private void
indexDirectory(Indexer indexer, FileSet fileSet)
private boolean
isVerbose()
-
-
-
Field Detail
-
mavenProject
@Parameter(defaultValue="${project}", required=true, readonly=true) private org.apache.maven.project.MavenProject mavenProject
-
classesDir
@Parameter(defaultValue="${project.build.outputDirectory}", readonly=true) private java.io.File classesDir
By default, process the classes compiled for the project. If you need to process other sets of classes, such as test classes, see thefileSets
parameter.
-
fileSets
@Parameter private java.util.List<FileSet> fileSets
Process the classes found in these file sets, after considering the specified includes and excludes, if any. The format is:<fileSets> <fileSet> <directory>path-or-expression</directory> <includes> <include>some/thing/*.good</include> </includes> <excludes> <exclude>some/thing/*.bad</exclude> </excludes> </fileSet> </fileSets>
Instead of thedirectory
element, adependency
element may be used. In that case, if the project has a corresponding dependency, classes in its artifact are processed. Thedependency
element must specify agroupId
and anartifactId
and may specify aclassifier
:<fileSets> <fileSet> <dependency> <groupId>com.example</groupId> <artifactId>my-project</artifactId> <classifier>tests</artifactId> </dependency> <includes> <include>some/thing/*.good</include> </includes> <excludes> <exclude>some/thing/*.bad</exclude> </excludes> </fileSet> </fileSets>
NOTE: Standard globbing expressions are supported in includes/excludes.
-
processDefaultFileSet
@Parameter(defaultValue="true") private boolean processDefaultFileSet
If true, and if a file set rooted in thetarget/classes
directory is not defined explicitly, an implied file set rooted in thetarget/classes
directory will be used.
-
verbose
@Parameter(defaultValue="false") private boolean verbose
Print verbose output (debug output without needing to enable -X for the whole build).
-
indexDir
@Parameter(defaultValue="${project.build.outputDirectory}/META-INF") private java.io.File indexDir
The directory in which the index file will be created. Defaults to${project.build.outputDirectory}/META-INF
.
-
indexName
@Parameter(defaultValue="jandex.idx") private java.lang.String indexName
The name of the index file. Defaults tojandex.idx
.
-
indexVersion
@Parameter private java.lang.Integer indexVersion
Persistent index format version to write. Defaults to max supported version.
-
skip
@Parameter(property="jandex.skip", defaultValue="false") private boolean skip
Skip execution if set.
-
skipForPomPackaging
@Parameter(defaultValue="true") private boolean skipForPomPackaging
Skip execution if set and if the module's packaging is POM.
-
-
Method Detail
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
indexDirectory
private void indexDirectory(Indexer indexer, FileSet fileSet) throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
indexDependency
private void indexDependency(Indexer indexer, FileSet fileSet) throws org.apache.maven.plugin.MojoExecutionException
- Throws:
org.apache.maven.plugin.MojoExecutionException
-
findFilesToIndex
private java.lang.String[] findFilesToIndex(FileSet fileSet, org.codehaus.plexus.util.Scanner scanner)
-
isVerbose
private boolean isVerbose()
-
-