Title: EBAMavenPluginProject # EBA Maven Plugin The EBA Maven Plugin provides the ability to generate EBA archives using Maven. The EBA archive format is described in [Applications](applications.html) . An EBA archive can optionally contain an Application manifest (APPLICATION.MF). This can be added in one of two ways 1. Hand written and added into the archive. 1. Generated based on pom configuration. ## Using the Plugin The plugin is included by as follows: org.apache.aries eba-maven-plugin By default it will not generate a manifest, so in the above example it will attempt to copy a pre-defined APPLICATION.MF from src/main/resources/META-INF. If that file does not exist, then no application manifest will be included. ## Generating an APPLICATION.MF The following example shows how to get the plugin to generate an APPLICATION.MF based on the pom configuration: org.apache.aries eba-maven-plugin true The pom to application manfiest header mapping is as follows: * Pom . -> Application-SymbolicName * Pom -> Application-Name * Pom -> Application-Version (cleaned up for OSGi) * Pom -> Application-Description * Pom -> Application-Content ## Overriding Application-SymbolicName The application symbolic name defaults to the $\{project.groupId\}.$\{project.artifaceId\}. The following shows how to override this: ${project.artifaceId} ## Adding Application-ExportService and Application-ImportService headers The application import service and export service headers can be set as follows. The text inside the elements is included as-is. ... ... ## Adding the Use-Bundle header The application Use-Bundle header can be set as follows. The text inside the elements is included as-is. ... ## Including transitive dependencies (deprecated) This configuration option is deprecated in favor of . By default, the archive will only include the direct dependencies of the project. Transitive dependencies can be includes as follows: true ## Including bundles in the archive By default, the archive will only include the direct dependencies of the project. The `` element can be used to control the archive artifact contents. The following shows how to include all direct and transitive dependencies. all The following shows how to exclude all dependencies from the archive. This is useful if you just want the application definition and will use a bundle repository to provision the bundles during deployment. none The following specifies the default of including only the direct dependencies (assumes the application contents and direct dependencies are the same). applicationContent