org.apache.felix.bundleplugin
Class BundlePlugin

java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by org.apache.felix.bundleplugin.BundlePlugin
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo
Direct Known Subclasses:
AntPlugin, ManifestPlugin

public class BundlePlugin
extends org.apache.maven.plugin.AbstractMojo

Create an OSGi bundle from Maven project


Field Summary
protected  String classifier
          Classifier type of the bundle to be installed.
protected  String excludeDependencies
          Comma separated list of artifactIds to exclude from the dependency classpath passed to BND (use "true" to exclude everything)
protected  File manifestLocation
          Directory where the manifest will be written
protected  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  aQute.lib.osgi.Builder buildOSGiBundle(org.apache.maven.project.MavenProject currentProject, Map originalInstructions, Properties properties, aQute.lib.osgi.Jar[] classpath)
           
protected  String convertVersionToOsgi(String version)
          Convert a Maven version into an OSGi compliant version
protected static void dumpClasspath(String title, List classpath, org.apache.maven.plugin.logging.Log log)
           
protected static void dumpInstructions(String title, Properties properties, org.apache.maven.plugin.logging.Log log)
           
protected static void dumpManifest(String title, Manifest manifest, org.apache.maven.plugin.logging.Log log)
           
 void execute()
           
protected  void execute(org.apache.maven.project.MavenProject currentProject, Map originalInstructions, Properties properties)
           
protected  void execute(org.apache.maven.project.MavenProject currentProject, Map originalInstructions, Properties properties, aQute.lib.osgi.Jar[] classpath)
           
protected  String getBuildDirectory()
           
protected  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  Properties getDefaultProperties(org.apache.maven.project.MavenProject currentProject)
           
protected  Collection getEmbeddableArtifacts(org.apache.maven.project.MavenProject project, aQute.lib.osgi.Analyzer analyzer)
           
protected  File getFile(org.apache.maven.artifact.Artifact artifact)
          Get the file for an Artifact
protected  Maven2OsgiConverter getMaven2OsgiConverter()
           
protected  Set getOptionalPackages(org.apache.maven.project.MavenProject currentProject)
           
protected  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(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.Jar jar, String[] removeHeaders, org.apache.maven.plugin.logging.Log log)
           
protected static String removeTagFromInstruction(String instruction, String tag)
           
protected  void setBasedir(File _basedir)
           
protected  void setBuildDirectory(String _buildirectory)
           
protected  void setMaven2OsgiConverter(Maven2OsgiConverter maven2OsgiConverter)
           
protected  void setOutputDirectory(File _outputDirectory)
           
protected static Map transformDirectives(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 File manifestLocation
Directory where the manifest will be written


unpackBundle

protected boolean unpackBundle
When true, unpack the bundle contents to the outputDirectory


excludeDependencies

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


classifier

protected 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 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,
                       Map originalInstructions,
                       Properties properties)
                throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

transformDirectives

protected static Map transformDirectives(Map originalInstructions)

execute

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

buildOSGiBundle

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

dumpInstructions

protected static void dumpInstructions(String title,
                                       Properties properties,
                                       org.apache.maven.plugin.logging.Log log)

dumpClasspath

protected static void dumpClasspath(String title,
                                    List classpath,
                                    org.apache.maven.plugin.logging.Log log)

dumpManifest

protected static void dumpManifest(String title,
                                   Manifest manifest,
                                   org.apache.maven.plugin.logging.Log log)

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.Jar jar,
                                  String[] removeHeaders,
                                  org.apache.maven.plugin.logging.Log log)
                           throws IOException
Throws:
IOException

getOptionalPackages

protected Set getOptionalPackages(org.apache.maven.project.MavenProject currentProject)
                           throws IOException,
                                  org.apache.maven.plugin.MojoExecutionException
Throws:
IOException
org.apache.maven.plugin.MojoExecutionException

isTransitivelyOptional

protected boolean isTransitivelyOptional(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 String removeTagFromInstruction(String instruction,
                                                 String tag)

getClasspath

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

getFile

protected File getFile(org.apache.maven.artifact.Artifact artifact)
Get the file for an Artifact

Parameters:
artifact -

convertVersionToOsgi

protected String convertVersionToOsgi(String version)
Convert a Maven version into an OSGi compliant version

Parameters:
version - Maven version
Returns:
the OSGi version

getBundleName

protected String getBundleName(org.apache.maven.project.MavenProject currentProject)
TODO this should return getMaven2Osgi().getBundleFileName( project.getArtifact() )


getBuildDirectory

protected String getBuildDirectory()

setBuildDirectory

protected void setBuildDirectory(String _buildirectory)

getDefaultProperties

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

setBasedir

protected void setBasedir(File _basedir)

getOutputDirectory

protected File getOutputDirectory()

setOutputDirectory

protected void setOutputDirectory(File _outputDirectory)

getEmbeddableArtifacts

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


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.