# OsgiPluginConvention

API Documentation: | `OsgiPluginConvention`

Is mixed in into the project when applying the `OsgiPlugin` .

### Properties

No properties

### Script blocks

No script blocks

### Methods

Method | Description
`osgiManifest()` | Creates a new instance of `OsgiManifest`. The returned object is preconfigured with:
`osgiManifest(closure)` | Creates and configures a new instance of an `OsgiManifest` . The closure configures the new manifest instance before it is returned.

### Method details

#### `OsgiManifest` `osgiManifest`()

Creates a new instance of `OsgiManifest`. The returned object is preconfigured with:

    version: project.version
    name: project.archivesBaseName
    symbolicName: project.group + "." + project.archivesBaseName (see below for exceptions to this rule)

The symbolic name is usually the group + "." + archivesBaseName, with the following exceptions

- if group has only one section (no dots) and archivesBaseName is not null then the first package name with classes is returned. eg. commons-logging:commons-logging -> org.apache.commons.logging
- if archivesBaseName is equal to last section of group then group is returned. eg. org.gradle:gradle -> org.gradle
- if archivesBaseName starts with last section of group that portion is removed. eg. org.gradle:gradle-core -> org.gradle.core

#### `OsgiManifest` `osgiManifest`(`Closure` closure)

Creates and configures a new instance of an `OsgiManifest` . The closure configures the new manifest instance before it is returned.