Package org.eclipse.sisu.mojos
Class IndexMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- org.eclipse.sisu.mojos.IndexMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="index", requiresDependencyResolution=TEST, threadSafe=true) public class IndexMojo extends org.apache.maven.plugin.AbstractMojoGenerates a qualified class index for the current project and its dependencies.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.sonatype.plexus.build.incremental.BuildContextbuildContextFor m2e incremental build supportprotected java.lang.StringexcludeArtifactIdsComma separated list of ArtifactIds to exclude when indexing.protected java.lang.StringexcludeClassifiersComma Separated list of Classifiers to exclude when indexing.protected java.lang.StringexcludeGroupIdsComma separated list of GroupIds to exclude when indexing.protected java.lang.StringexcludeScopeScope to exclude.protected booleanexcludeTransitiveIf we should exclude transitive dependencies when indexing.protected java.lang.StringexcludeTypesComma Separated list of Types to exclude when indexing.protected java.lang.StringincludeArtifactIdsComma separated list of ArtifactIds to include when indexing.protected java.lang.StringincludeClassifiersComma Separated list of Classifiers to include when indexing.protected booleanincludeDependenciesIf we should include project dependencies when indexing.protected java.lang.StringincludeGroupIdsComma separated list of GroupIds to include when indexing.protected java.lang.StringincludeScopeScope to include.protected java.lang.StringincludeTypesComma Separated list of Types to include when indexing.(package private) static java.lang.StringINDEX_FOLDERprotected java.io.FileoutputDirectoryThe output directory.private org.apache.maven.project.MavenProjectprojectThe Maven project to index.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidappendDirectoryToClassPath(java.util.List<java.net.URL> urls, java.io.File directory)private voidappendFileToClassPath(java.util.List<java.net.URL> urls, java.io.File file)private static java.lang.StringcleanList(java.lang.String list)private voiddumpEntries(java.lang.String name, java.util.List<java.net.URL> urls)voidexecute()private java.net.URL[]getIndexPath()private java.lang.ClassLoadergetProjectClassLoader()voidsetOutputDirectory(java.io.File outputDirectory)voidsetProject(org.apache.maven.project.MavenProject project)
-
-
-
Field Detail
-
INDEX_FOLDER
static final java.lang.String INDEX_FOLDER
- See Also:
- Constant Field Values
-
outputDirectory
@Parameter(property="outputDirectory", defaultValue="${project.build.outputDirectory}") protected java.io.File outputDirectoryThe output directory.
-
includeDependencies
@Parameter(property="includeDependencies", defaultValue="true") protected boolean includeDependenciesIf we should include project dependencies when indexing.
-
excludeGroupIds
@Parameter(property="excludeGroupIds", defaultValue="") protected java.lang.String excludeGroupIdsComma separated list of GroupIds to exclude when indexing.
-
includeGroupIds
@Parameter(property="includeGroupIds", defaultValue="") protected java.lang.String includeGroupIdsComma separated list of GroupIds to include when indexing.
-
excludeArtifactIds
@Parameter(property="excludeArtifactIds", defaultValue="") protected java.lang.String excludeArtifactIdsComma separated list of ArtifactIds to exclude when indexing.
-
includeArtifactIds
@Parameter(property="includeArtifactIds", defaultValue="") protected java.lang.String includeArtifactIdsComma separated list of ArtifactIds to include when indexing.
-
excludeClassifiers
@Parameter(property="excludeClassifiers", defaultValue="") protected java.lang.String excludeClassifiersComma Separated list of Classifiers to exclude when indexing.
-
includeClassifiers
@Parameter(property="includeClassifiers", defaultValue="") protected java.lang.String includeClassifiersComma Separated list of Classifiers to include when indexing.
-
excludeTypes
@Parameter(property="excludeTypes", defaultValue="") protected java.lang.String excludeTypesComma Separated list of Types to exclude when indexing.
-
includeTypes
@Parameter(property="includeTypes", defaultValue="") protected java.lang.String includeTypesComma Separated list of Types to include when indexing.
-
excludeScope
@Parameter(property="excludeScope", defaultValue="") protected java.lang.String excludeScopeScope to exclude. Empty string indicates no scopes (default).
-
includeScope
@Parameter(property="includeScope", defaultValue="") protected java.lang.String includeScopeScope to include. Empty string indicates all scopes (default).
-
excludeTransitive
@Parameter(property="excludeTransitive", defaultValue="false") protected boolean excludeTransitiveIf we should exclude transitive dependencies when indexing.
-
project
@Parameter(property="project", required=true, readonly=true) private org.apache.maven.project.MavenProject projectThe Maven project to index.
-
buildContext
@Component protected org.sonatype.plexus.build.incremental.BuildContext buildContext
For m2e incremental build support
-
-
Method Detail
-
setProject
public void setProject(org.apache.maven.project.MavenProject project)
-
setOutputDirectory
public void setOutputDirectory(java.io.File outputDirectory)
-
execute
public void execute()
-
getProjectClassLoader
private java.lang.ClassLoader getProjectClassLoader()
-
getIndexPath
private java.net.URL[] getIndexPath()
-
dumpEntries
private void dumpEntries(java.lang.String name, java.util.List<java.net.URL> urls)
-
appendDirectoryToClassPath
private void appendDirectoryToClassPath(java.util.List<java.net.URL> urls, java.io.File directory)
-
appendFileToClassPath
private void appendFileToClassPath(java.util.List<java.net.URL> urls, java.io.File file)- Parameters:
urls- the list to which to append the URLfile- must either be a directory or a JAR file
-
cleanList
private static java.lang.String cleanList(java.lang.String list)
-
-