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.StringbndBnd instructions for this project specified directly in the pom file.private java.lang.StringbndfileFile path to a bnd file containing bnd instructions for this project.private org.sonatype.plexus.build.incremental.BuildContextbuildContextprivate java.io.FileclassesDirprivate booleanincludeClassesDirprivate static org.slf4j.Loggerloggerprivate static java.lang.StringMANIFEST_LAST_MODIFIEDprivate java.io.FilemanifestPathprivate static java.lang.StringMARKED_FILESprivate org.apache.maven.plugin.MojoExecutionmojoExecutionprivate java.io.FileoutputDirprivate static java.lang.StringPACKAGING_JARprivate static java.lang.StringPACKAGING_WARprivate java.util.List<java.lang.String>packagingTypesprivate org.apache.maven.project.MavenProjectprojectprivate java.io.FilepropertiesFileprivate java.util.List<org.apache.maven.model.Resource>resourcesprivate org.apache.maven.settings.Settingssettingsprivate booleanskipprivate java.io.FilesourceDirprivate java.io.FiletargetDirprivate static java.lang.StringTSTAMPprivate java.io.FilewarOutputDir
-
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.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(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 voidloadParentProjectProperties(Builder builder, org.apache.maven.project.MavenProject currentProject)private java.io.FileloadProjectProperties(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(Builder builder)private booleanmanifestOutOfDate()private voidreportErrorsAndWarnings(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.MojoExecutionExceptionorg.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()
-
-