Package aQute.bnd.maven.plugin
Class AbstractBndMavenPlugin
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- aQute.bnd.maven.plugin.AbstractBndMavenPlugin
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
- Direct Known Subclasses:
BndMavenPlugin,BndMavenTestsPlugin
public abstract class AbstractBndMavenPlugin extends org.apache.maven.plugin.AbstractMojo
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.StringbndBnd instructions for this project specified directly in the pom file.(package private) java.lang.StringbndfileFile path to a bnd file containing bnd instructions for this project.(package private) org.sonatype.plexus.build.incremental.BuildContextbuildContext(package private) booleanincludeClassesDirprotected org.slf4j.Loggerlogger(package private) static java.lang.StringMANIFEST_LAST_MODIFIED(package private) static java.lang.StringMARKED_FILES(package private) org.apache.maven.plugin.MojoExecutionmojoExecution(package private) static java.lang.StringOUTPUT_TIMESTAMP(package private) static java.lang.StringPACKAGING_JAR(package private) static java.lang.StringPACKAGING_WAR(package private) java.util.List<java.lang.String>packagingTypes(package private) org.apache.maven.project.MavenProjectproject(package private) java.io.FilepropertiesFile(package private) org.apache.maven.settings.Settingssettings(package private) static java.lang.StringSNAPSHOT(package private) java.io.FiletargetDir(package private) static java.lang.StringTSTAMP(package private) java.io.FilewarOutputDir
-
Constructor Summary
Constructors Constructor Description AbstractBndMavenPlugin()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private static java.lang.StringBuilderaddHeaderAttribute(java.lang.StringBuilder builder, java.lang.String key, java.lang.String value, char separator)private static java.lang.StringBuilderaddHeaderValue(java.lang.StringBuilder builder, java.lang.String value, char separator)private org.codehaus.plexus.util.xml.Xpp3DomdefaultConfiguration()voidexecute()private voidexpandJar(aQute.bnd.osgi.Jar jar, java.io.File dir)abstract java.io.FilegetClassesDir()private java.util.Optional<org.codehaus.plexus.util.xml.Xpp3Dom>getConfiguration(java.util.List<org.apache.maven.model.Plugin> plugins)abstract java.io.FilegetManifestPath()abstract java.io.FilegetOutputDir()abstract java.util.List<org.apache.maven.model.Resource>getResources()abstract java.io.FilegetSourceDir()abstract booleanisSkip()private voidloadParentProjectProperties(aQute.bnd.osgi.Builder builder, org.apache.maven.project.MavenProject currentProject)private java.io.FileloadProjectProperties(aQute.bnd.osgi.Builder builder, org.apache.maven.project.MavenProject bndProject, org.apache.maven.project.MavenProject pomProject, org.codehaus.plexus.util.xml.Xpp3Dom configuration)private java.io.FileloadProperties(aQute.bnd.osgi.Builder builder)private booleanmanifestOutOfDate()protected voidprocessBuilder(aQute.bnd.osgi.Builder builder)If a mojo needs to tweak the builder for any particular reason, do it here.protected voidprocessBuildPath(java.util.List<java.lang.Object> buildpath)If a mojo needs to update the buildpath for any particular reason, do it here.protected voidreportErrorsAndWarnings(aQute.bnd.osgi.Builder builder)
-
-
-
Field Detail
-
logger
protected final org.slf4j.Logger logger
-
MANIFEST_LAST_MODIFIED
static final java.lang.String MANIFEST_LAST_MODIFIED
- See Also:
- Constant Field Values
-
MARKED_FILES
static final java.lang.String MARKED_FILES
- See Also:
- Constant Field Values
-
PACKAGING_JAR
static final java.lang.String PACKAGING_JAR
- See Also:
- Constant Field Values
-
PACKAGING_WAR
static final java.lang.String PACKAGING_WAR
- See Also:
- Constant Field Values
-
TSTAMP
static final java.lang.String TSTAMP
- See Also:
- Constant Field Values
-
SNAPSHOT
static final java.lang.String SNAPSHOT
- See Also:
- Constant Field Values
-
OUTPUT_TIMESTAMP
static final java.lang.String OUTPUT_TIMESTAMP
- See Also:
- Constant Field Values
-
targetDir
@Parameter(defaultValue="${project.build.directory}", readonly=true) java.io.File targetDir
-
includeClassesDir
@Parameter(defaultValue="true") boolean includeClassesDir
-
warOutputDir
@Parameter(defaultValue="${project.build.directory}/${project.build.finalName}") java.io.File warOutputDir
-
project
@Parameter(defaultValue="${project}", required=true, readonly=true) org.apache.maven.project.MavenProject project
-
settings
@Parameter(defaultValue="${settings}", readonly=true) org.apache.maven.settings.Settings settings
-
mojoExecution
@Parameter(defaultValue="${mojoExecution}", readonly=true) org.apache.maven.plugin.MojoExecution mojoExecution
-
packagingTypes
@Parameter(property="bnd.packagingTypes", defaultValue="jar,war") java.util.List<java.lang.String> packagingTypes
-
bndfile
@Parameter(defaultValue="bnd.bnd") java.lang.String bndfile
File path to a bnd file containing bnd instructions for this project. Defaults tobnd.bnd. The file path can be an absolute or relative to the project directory.The bnd instructions for this project are merged with the bnd instructions, if any, for the parent project.
-
bnd
@Parameter java.lang.String bnd
Bnd instructions for this project specified directly in the pom file. This is generally be done using a<![CDATA[]]>section. If the projects has abnd file, then this configuration element is ignored.The bnd instructions for this project are merged with the bnd instructions, if any, for the parent project.
-
buildContext
@Component org.sonatype.plexus.build.incremental.BuildContext buildContext
-
propertiesFile
java.io.File propertiesFile
-
-
Method Detail
-
getSourceDir
public abstract java.io.File getSourceDir()
-
getResources
public abstract java.util.List<org.apache.maven.model.Resource> getResources()
-
getClassesDir
public abstract java.io.File getClassesDir()
-
getOutputDir
public abstract java.io.File getOutputDir()
-
getManifestPath
public abstract java.io.File getManifestPath()
-
isSkip
public abstract boolean isSkip()
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoExecutionExceptionorg.apache.maven.plugin.MojoFailureException
-
processBuilder
protected void processBuilder(aQute.bnd.osgi.Builder builder) throws org.apache.maven.plugin.MojoFailureExceptionIf a mojo needs to tweak the builder for any particular reason, do it here.- Parameters:
builder- the Builder created to analyze the jar contents- Throws:
org.apache.maven.plugin.MojoFailureException- if an issue is encountered
-
processBuildPath
protected void processBuildPath(java.util.List<java.lang.Object> buildpath)
If a mojo needs to update the buildpath for any particular reason, do it here.- Parameters:
buildpath- the set of jars and class directories used while analyzing the jar contents
-
addHeaderValue
private static java.lang.StringBuilder addHeaderValue(java.lang.StringBuilder builder, java.lang.String value, char separator)
-
addHeaderAttribute
private static java.lang.StringBuilder addHeaderAttribute(java.lang.StringBuilder builder, java.lang.String key, java.lang.String value, char separator)
-
loadProperties
private java.io.File loadProperties(aQute.bnd.osgi.Builder builder) throws java.lang.Exception- Throws:
java.lang.Exception
-
loadParentProjectProperties
private void loadParentProjectProperties(aQute.bnd.osgi.Builder builder, org.apache.maven.project.MavenProject currentProject) throws java.lang.Exception- Throws:
java.lang.Exception
-
loadProjectProperties
private java.io.File loadProjectProperties(aQute.bnd.osgi.Builder builder, org.apache.maven.project.MavenProject bndProject, org.apache.maven.project.MavenProject pomProject, org.codehaus.plexus.util.xml.Xpp3Dom configuration) throws java.lang.Exception- Throws:
java.lang.Exception
-
getConfiguration
private java.util.Optional<org.codehaus.plexus.util.xml.Xpp3Dom> getConfiguration(java.util.List<org.apache.maven.model.Plugin> plugins)
-
defaultConfiguration
private org.codehaus.plexus.util.xml.Xpp3Dom defaultConfiguration()
-
reportErrorsAndWarnings
protected void reportErrorsAndWarnings(aQute.bnd.osgi.Builder builder) throws org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoFailureException
-
expandJar
private void expandJar(aQute.bnd.osgi.Jar jar, java.io.File dir) throws java.lang.Exception- Throws:
java.lang.Exception
-
manifestOutOfDate
private boolean manifestOutOfDate()
-
-