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, InstructionsPlugin, 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  File dumpClasspath
          File where the BND class-path will be dumped
protected  File dumpInstructions
          File where the BND instructions will be dumped
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  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, 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 StringBuilder dumpClasspath(List classpath, StringBuilder buf)
           
protected static StringBuilder dumpInstructions(Properties properties, StringBuilder buf)
           
protected static StringBuilder dumpManifest(Manifest manifest, StringBuilder buf)
           
 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 static File getBase(org.apache.maven.project.MavenProject currentProject)
           
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 currentProject, aQute.lib.osgi.Analyzer analyzer)
           
protected  File getFile(org.apache.maven.artifact.Artifact artifact)
          Get the file for an Artifact
protected  Maven2OsgiConverter getMaven2OsgiConverter()
           
protected static String getMavenResourcePaths(org.apache.maven.project.MavenProject currentProject)
           
protected  Set getOptionalPackages(org.apache.maven.project.MavenProject currentProject)
           
protected  aQute.lib.osgi.Builder getOSGiBuilder(org.apache.maven.project.MavenProject currentProject, Map originalInstructions, Properties properties, aQute.lib.osgi.Jar[] classpath)
           
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.Builder builder)
           
protected static String removeTagFromInstruction(String instruction, String tag)
           
protected  boolean reportErrors(String prefix, aQute.lib.osgi.Analyzer analyzer)
           
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


dumpInstructions

protected File dumpInstructions
File where the BND instructions will be dumped


dumpClasspath

protected 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 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)

reportErrors

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

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

getOSGiBuilder

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

addMavenInstructions

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

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 StringBuilder dumpInstructions(Properties properties,
                                                StringBuilder buf)

dumpClasspath

protected static StringBuilder dumpClasspath(List classpath,
                                             StringBuilder buf)

dumpManifest

protected static StringBuilder dumpManifest(Manifest manifest,
                                            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 Exception
Throws:
Exception

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)

getBase

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

getOutputDirectory

protected File getOutputDirectory()

setOutputDirectory

protected void setOutputDirectory(File _outputDirectory)

getMavenResourcePaths

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

getEmbeddableArtifacts

protected 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 © 2006-2011 Apache Software Foundation. All Rights Reserved.