## org.apache.felix.bundleplugin
Class BundlePlugin

    java.lang.Object
      org.apache.maven.plugin.AbstractMojo
          org.apache.felix.bundleplugin.BundlePlugin

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

Direct Known Subclasses:
  AntPlugin, InstructionsPlugin, ManifestPlugin

    public class BundlePlugin

extends org.apache.maven.plugin.AbstractMojo

Create an OSGi bundle from Maven project

Field Summary
`protected java.lang.String` `classifier` Classifier type of the bundle to be installed.
`protected java.io.File` `dumpClasspath` File where the BND class-path will be dumped
`protected java.io.File` `dumpInstructions` File where the BND instructions will be dumped
`protected java.lang.String` `excludeDependencies` Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)
`protected java.io.File` `manifestLocation` Directory where the manifest will be written
`protected java.util.List` `supportedProjectTypes` Project types which this plugin supports.
`protected boolean` `unpackBundle` When true, unpack the bundle contents to the outputDirectory

Fields inherited from interface org.apache.maven.plugin.Mojo
`ROLE`

Constructor Summary
`BundlePlugin()`

Method Summary
`protected void` `addMavenInstructions(org.apache.maven.project.MavenProject currentProject, aQute.lib.osgi.Builder builder)`
`protected aQute.lib.osgi.Builder` `buildOSGiBundle(org.apache.maven.project.MavenProject currentProject, java.util.Map originalInstructions, java.util.Properties properties, aQute.lib.osgi.Jar[] classpath)`
`protected java.lang.String` `convertVersionToOsgi(java.lang.String version)` Convert a Maven version into an OSGi compliant version
`protected static java.lang.StringBuilder` `dumpClasspath(java.util.List classpath, java.lang.StringBuilder buf)`
`protected static java.lang.StringBuilder` `dumpInstructions(java.util.Properties properties, java.lang.StringBuilder buf)`
`protected static java.lang.StringBuilder` `dumpManifest(java.util.jar.Manifest manifest, java.lang.StringBuilder buf)`
`void` `execute()`
`protected void` `execute(org.apache.maven.project.MavenProject currentProject, java.util.Map originalInstructions, java.util.Properties properties)`
`protected void` `execute(org.apache.maven.project.MavenProject currentProject, java.util.Map originalInstructions, java.util.Properties properties, aQute.lib.osgi.Jar[] classpath)`
`protected static java.io.File` `getBase(org.apache.maven.project.MavenProject currentProject)`
`protected java.lang.String` `getBuildDirectory()`
`protected java.lang.String` `getBundleName(org.apache.maven.project.MavenProject currentProject)` TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )
`protected aQute.lib.osgi.Jar[]` `getClasspath(org.apache.maven.project.MavenProject currentProject)`
`protected java.util.Properties` `getDefaultProperties(org.apache.maven.project.MavenProject currentProject)`
`protected java.util.Collection` `getEmbeddableArtifacts(org.apache.maven.project.MavenProject currentProject, aQute.lib.osgi.Analyzer analyzer)`
`protected java.io.File` `getFile(org.apache.maven.artifact.Artifact artifact)` Get the file for an Artifact
`protected Maven2OsgiConverter` `getMaven2OsgiConverter()`
`protected static java.lang.String` `getMavenResourcePaths(org.apache.maven.project.MavenProject currentProject)`
`protected java.util.Set` `getOptionalPackages(org.apache.maven.project.MavenProject currentProject)`
`protected aQute.lib.osgi.Builder` `getOSGiBuilder(org.apache.maven.project.MavenProject currentProject, java.util.Map originalInstructions, java.util.Properties properties, aQute.lib.osgi.Jar[] classpath)`
`protected java.io.File` `getOutputDirectory()`
`protected org.apache.maven.project.MavenProject` `getProject()`
`protected static void` `includeMavenResources(org.apache.maven.project.MavenProject currentProject, aQute.lib.osgi.Analyzer analyzer, org.apache.maven.plugin.logging.Log log)`
`protected boolean` `isTransitivelyOptional(java.util.HashSet optionalArtifactIds, org.apache.maven.artifact.Artifact artifact)` Check to see if any dependency along the dependency trail of the artifact is optional.
`protected void` `mergeMavenManifest(org.apache.maven.project.MavenProject currentProject, aQute.lib.osgi.Builder builder)`
`protected static java.lang.String` `removeTagFromInstruction(java.lang.String instruction, java.lang.String tag)`
`protected boolean` `reportErrors(java.lang.String prefix, aQute.lib.osgi.Analyzer analyzer)`
`protected void` `setBuildDirectory(java.lang.String _buildirectory)`
`protected void` `setMaven2OsgiConverter(Maven2OsgiConverter maven2OsgiConverter)`
`protected void` `setOutputDirectory(java.io.File _outputDirectory)`
`protected static java.util.Map` `transformDirectives(java.util.Map originalInstructions)`

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`

Field Detail

### manifestLocation

    protected java.io.File manifestLocation

  Directory where the manifest will be written

### dumpInstructions

    protected java.io.File dumpInstructions

  File where the BND instructions will be dumped

### dumpClasspath

    protected java.io.File dumpClasspath

  File where the BND class-path will be dumped

### unpackBundle

    protected boolean unpackBundle

  When true, unpack the bundle contents to the outputDirectory

### excludeDependencies

    protected java.lang.String excludeDependencies

  Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)

### classifier

    protected java.lang.String classifier

  Classifier type of the bundle to be installed. For example, "jdk14". Defaults to none which means this is the project's main bundle.

### supportedProjectTypes

    protected java.util.List supportedProjectTypes

  Project types which this plugin supports.

Constructor Detail

### BundlePlugin

    public BundlePlugin()

Method Detail

### getMaven2OsgiConverter

    protected Maven2OsgiConverter getMaven2OsgiConverter()

### setMaven2OsgiConverter

    protected void setMaven2OsgiConverter(Maven2OsgiConverter maven2OsgiConverter)

### getProject

    protected org.apache.maven.project.MavenProject getProject()

### execute

    public void execute()
                 throws org.apache.maven.plugin.MojoExecutionException

  Throws:
    `org.apache.maven.plugin.MojoExecutionException`
  See Also:
    `Mojo.execute()`

### execute

    protected void execute(org.apache.maven.project.MavenProject currentProject,
                           java.util.Map originalInstructions,
                           java.util.Properties properties)
                    throws org.apache.maven.plugin.MojoExecutionException

  Throws:
    `org.apache.maven.plugin.MojoExecutionException`

### transformDirectives

    protected static java.util.Map transformDirectives(java.util.Map originalInstructions)

### reportErrors

    protected boolean reportErrors(java.lang.String prefix,
                                   aQute.lib.osgi.Analyzer analyzer)

### execute

    protected void execute(org.apache.maven.project.MavenProject currentProject,
                           java.util.Map originalInstructions,
                           java.util.Properties properties,
                           aQute.lib.osgi.Jar[] classpath)
                    throws org.apache.maven.plugin.MojoExecutionException

  Throws:
    `org.apache.maven.plugin.MojoExecutionException`

### getOSGiBuilder

    protected aQute.lib.osgi.Builder getOSGiBuilder(org.apache.maven.project.MavenProject currentProject,
                                                    java.util.Map originalInstructions,
                                                    java.util.Properties properties,
                                                    aQute.lib.osgi.Jar[] classpath)
                                             throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### addMavenInstructions

    protected void addMavenInstructions(org.apache.maven.project.MavenProject currentProject,
                                        aQute.lib.osgi.Builder builder)
                                 throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### buildOSGiBundle

    protected aQute.lib.osgi.Builder buildOSGiBundle(org.apache.maven.project.MavenProject currentProject,
                                                     java.util.Map originalInstructions,
                                                     java.util.Properties properties,
                                                     aQute.lib.osgi.Jar[] classpath)
                                              throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### dumpInstructions

    protected static java.lang.StringBuilder dumpInstructions(java.util.Properties properties,
                                                              java.lang.StringBuilder buf)

### dumpClasspath

    protected static java.lang.StringBuilder dumpClasspath(java.util.List classpath,
                                                           java.lang.StringBuilder buf)

### dumpManifest

    protected static java.lang.StringBuilder dumpManifest(java.util.jar.Manifest manifest,
                                                          java.lang.StringBuilder buf)

### includeMavenResources

    protected static void includeMavenResources(org.apache.maven.project.MavenProject currentProject,
                                                aQute.lib.osgi.Analyzer analyzer,
                                                org.apache.maven.plugin.logging.Log log)

### mergeMavenManifest

    protected void mergeMavenManifest(org.apache.maven.project.MavenProject currentProject,
                                      aQute.lib.osgi.Builder builder)
                               throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### getOptionalPackages

    protected java.util.Set getOptionalPackages(org.apache.maven.project.MavenProject currentProject)
                                         throws java.io.IOException,
                                                org.apache.maven.plugin.MojoExecutionException

  Throws:
    `java.io.IOException`
    `org.apache.maven.plugin.MojoExecutionException`

### isTransitivelyOptional

    protected boolean isTransitivelyOptional(java.util.HashSet optionalArtifactIds,
                                             org.apache.maven.artifact.Artifact artifact)

  Check to see if any dependency along the dependency trail of the artifact is optional.

  Parameters:
    `artifact` -

### removeTagFromInstruction

    protected static java.lang.String removeTagFromInstruction(java.lang.String instruction,
                                                               java.lang.String tag)

### getClasspath

    protected aQute.lib.osgi.Jar[] getClasspath(org.apache.maven.project.MavenProject currentProject)
                                         throws java.io.IOException,
                                                org.apache.maven.plugin.MojoExecutionException

  Throws:
    `java.io.IOException`
    `org.apache.maven.plugin.MojoExecutionException`

### getFile

    protected java.io.File getFile(org.apache.maven.artifact.Artifact artifact)

  Get the file for an Artifact

  Parameters:
    `artifact` -

### convertVersionToOsgi

    protected java.lang.String convertVersionToOsgi(java.lang.String version)

  Convert a Maven version into an OSGi compliant version

  Parameters:
    `version` - Maven version
  Returns:
    the OSGi version

### getBundleName

    protected java.lang.String getBundleName(org.apache.maven.project.MavenProject currentProject)

  TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )

### getBuildDirectory

    protected java.lang.String getBuildDirectory()

### setBuildDirectory

    protected void setBuildDirectory(java.lang.String _buildirectory)

### getDefaultProperties

    protected java.util.Properties getDefaultProperties(org.apache.maven.project.MavenProject currentProject)

### getBase

    protected static java.io.File getBase(org.apache.maven.project.MavenProject currentProject)

### getOutputDirectory

    protected java.io.File getOutputDirectory()

### setOutputDirectory

    protected void setOutputDirectory(java.io.File _outputDirectory)

### getMavenResourcePaths

    protected static java.lang.String getMavenResourcePaths(org.apache.maven.project.MavenProject currentProject)

### getEmbeddableArtifacts

    protected java.util.Collection getEmbeddableArtifacts(org.apache.maven.project.MavenProject currentProject,
                                                          aQute.lib.osgi.Analyzer analyzer)
                                                   throws org.apache.maven.plugin.MojoExecutionException

  Throws:
    `org.apache.maven.plugin.MojoExecutionException`

Copyright © 2011. All Rights Reserved.