Package aQute.bnd.maven.plugin
Class BndMavenPlugin
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- aQute.bnd.maven.plugin.BndMavenPlugin
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="bnd-process", defaultPhase=PROCESS_CLASSES, requiresDependencyResolution=COMPILE, threadSafe=true) public class BndMavenPlugin extends org.apache.maven.plugin.AbstractMojo
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
bnd
Bnd instructions for this project specified directly in the pom file.private java.lang.String
bndfile
File path to a bnd file containing bnd instructions for this project.private org.sonatype.plexus.build.incremental.BuildContext
buildContext
private java.io.File
classesDir
private boolean
includeClassesDir
private static org.slf4j.Logger
logger
private static java.lang.String
MANIFEST_LAST_MODIFIED
private java.io.File
manifestPath
private static java.lang.String
MARKED_FILES
private org.apache.maven.plugin.MojoExecution
mojoExecution
private java.io.File
outputDir
private static java.lang.String
PACKAGING_JAR
private static java.lang.String
PACKAGING_WAR
private java.util.List<java.lang.String>
packagingTypes
private org.apache.maven.project.MavenProject
project
private java.io.File
propertiesFile
private java.util.List<org.apache.maven.model.Resource>
resources
private org.apache.maven.settings.Settings
settings
private boolean
skip
private java.io.File
sourceDir
private java.io.File
targetDir
private static java.lang.String
TSTAMP
private java.io.File
warOutputDir
-
Constructor Summary
Constructors Constructor Description BndMavenPlugin()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.StringBuilder
addHeaderAttribute(java.lang.StringBuilder builder, java.lang.String key, java.lang.String value, char separator)
private static java.lang.StringBuilder
addHeaderValue(java.lang.StringBuilder builder, java.lang.String value, char separator)
private org.codehaus.plexus.util.xml.Xpp3Dom
defaultConfiguration()
void
execute()
private void
expandJar(Jar jar, java.io.File dir)
private java.util.Optional<org.codehaus.plexus.util.xml.Xpp3Dom>
getConfiguration(java.util.List<org.apache.maven.model.Plugin> plugins)
private void
loadParentProjectProperties(Builder builder, org.apache.maven.project.MavenProject currentProject)
private java.io.File
loadProjectProperties(Builder builder, org.apache.maven.project.MavenProject bndProject, org.apache.maven.project.MavenProject pomProject, org.codehaus.plexus.util.xml.Xpp3Dom configuration)
private java.io.File
loadProperties(Builder builder)
private boolean
manifestOutOfDate()
private void
reportErrorsAndWarnings(Builder builder)
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
MANIFEST_LAST_MODIFIED
private static final java.lang.String MANIFEST_LAST_MODIFIED
- See Also:
- Constant Field Values
-
MARKED_FILES
private static final java.lang.String MARKED_FILES
- See Also:
- Constant Field Values
-
PACKAGING_JAR
private static final java.lang.String PACKAGING_JAR
- See Also:
- Constant Field Values
-
PACKAGING_WAR
private static final java.lang.String PACKAGING_WAR
- See Also:
- Constant Field Values
-
TSTAMP
private static final java.lang.String TSTAMP
- See Also:
- Constant Field Values
-
targetDir
@Parameter(defaultValue="${project.build.directory}", readonly=true) private java.io.File targetDir
-
sourceDir
@Parameter(defaultValue="${project.build.sourceDirectory}", readonly=true) private java.io.File sourceDir
-
resources
@Parameter(defaultValue="${project.build.resources}", readonly=true) private java.util.List<org.apache.maven.model.Resource> resources
-
classesDir
@Parameter(defaultValue="${project.build.outputDirectory}") private java.io.File classesDir
-
includeClassesDir
@Parameter(defaultValue="true") private boolean includeClassesDir
-
outputDir
@Parameter(defaultValue="${project.build.outputDirectory}") private java.io.File outputDir
-
warOutputDir
@Parameter(defaultValue="${project.build.directory}/${project.build.finalName}") private java.io.File warOutputDir
-
manifestPath
@Parameter(defaultValue="${project.build.outputDirectory}/META-INF/MANIFEST.MF") private java.io.File manifestPath
-
project
@Parameter(defaultValue="${project}", required=true, readonly=true) private org.apache.maven.project.MavenProject project
-
settings
@Parameter(defaultValue="${settings}", readonly=true) private org.apache.maven.settings.Settings settings
-
mojoExecution
@Parameter(defaultValue="${mojoExecution}", readonly=true) private org.apache.maven.plugin.MojoExecution mojoExecution
-
skip
@Parameter(property="bnd.skip", defaultValue="false") private boolean skip
-
packagingTypes
@Parameter(property="bnd.packagingTypes", defaultValue="jar,war") private java.util.List<java.lang.String> packagingTypes
-
bndfile
@Parameter(defaultValue="bnd.bnd") private 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 private 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 private org.sonatype.plexus.build.incremental.BuildContext buildContext
-
propertiesFile
private java.io.File propertiesFile
-
-
Method Detail
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException
- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
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(Builder builder) throws java.lang.Exception
- Throws:
java.lang.Exception
-
loadParentProjectProperties
private void loadParentProjectProperties(Builder builder, org.apache.maven.project.MavenProject currentProject) throws java.lang.Exception
- Throws:
java.lang.Exception
-
loadProjectProperties
private java.io.File loadProjectProperties(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
private void reportErrorsAndWarnings(Builder builder) throws org.apache.maven.plugin.MojoFailureException
- Throws:
org.apache.maven.plugin.MojoFailureException
-
expandJar
private void expandJar(Jar jar, java.io.File dir) throws java.lang.Exception
- Throws:
java.lang.Exception
-
manifestOutOfDate
private boolean manifestOutOfDate()
-
-