Package org.apache.sling.feature.maven.mojos

# Class AbstractFeatureMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.sling.feature.maven.mojos.AbstractFeatureMojo

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

Direct Known Subclasses:
  `AbstractIncludingFeatureMojo`, `AttachFeaturesMojo`

public abstract class AbstractFeatureMojo extends org.apache.maven.plugin.AbstractMojo
Base class for all mojos.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`AbstractFeatureMojo.BaseArtifactProvider`
`protected class`
`AbstractFeatureMojo.BaseFeatureProvider`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Map<String,Map<String,String>>`
`defaultMetadata`
This parameter is only declared to make Maven happy, it is evaluated in the Preprossor
`protected File`
`features`
Directory containing feature files
`protected int`
`jarStartOrder`
The start level for the attached jar/bundle.
`protected org.apache.maven.execution.MavenSession`
`mavenSession`
`protected org.apache.maven.project.MavenProject`
`project`
`protected org.apache.maven.project.MavenProjectHelper`
`projectHelper`

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

`ROLE`

## Constructor Summary

Constructors
Constructor
Description
`AbstractFeatureMojo()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`checkPreconditions()`
This method needs to be invoked by each mojo that deals with features
`protected File`
`getTmpDir()`

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

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

`execute`

## Field Details

### features

@Parameter(name="features", required=true, defaultValue="src/main/features") protected File features
Directory containing feature files

### jarStartOrder

@Parameter(name="jarStartOrder") protected int jarStartOrder
The start level for the attached jar/bundle.

### defaultMetadata

@Parameter protected Map<String,Map<String,String>> defaultMetadata
This parameter is only declared to make Maven happy, it is evaluated in the Preprossor

### project

@Parameter(property="project", readonly=true, required=true) protected org.apache.maven.project.MavenProject project

### mavenSession

@Parameter(property="session", readonly=true, required=true) protected org.apache.maven.execution.MavenSession mavenSession

### projectHelper

@Component protected org.apache.maven.project.MavenProjectHelper projectHelper

## Constructor Details

### AbstractFeatureMojo

public AbstractFeatureMojo()

## Method Details

### getTmpDir

protected File getTmpDir()

### checkPreconditions

protected void checkPreconditions() throws org.apache.maven.plugin.MojoExecutionException
This method needs to be invoked by each mojo that deals with features

Throws:
  `org.apache.maven.plugin.MojoExecutionException` - If the project has no features defined