Package: org.gradle.api.plugins.osgi

## [Java] Interface OsgiManifest

- org.gradle.api.java.archives.Manifest

- All Superinterfaces:
    Manifest

  Represents a manifest file for a JAR containing an OSGi bundle.

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `File` | `getClassesDir()` Returns the classes dir.
    `FileCollection` | `getClasspath()` Returns the classpath.
    `String` | `getDescription()` Returns the description.
    `String` | `getDocURL()` Returns the docURL value.
    `Map<String, List<String>>` | `getInstructions()` Returns all existing instruction.
    `String` | `getLicense()` Returns the license.
    `String` | `getName()` Returns the name.
    `String` | `getSymbolicName()` Returns the symbolic name.
    `String` | `getVendor()` Returns the vendor.
    `String` | `getVersion()` Returns the version.
    `OsgiManifest` | `instruction(String name, String... values)` Adds arguments to an instruction.
    `OsgiManifest` | `instructionFirst(String name, String... values)` Adds arguments to an instruction.
    `OsgiManifest` | `instructionReplace(String name, String... values)` Sets the values for an instruction.
    `List<String>` | `instructionValue(String instructionName)` Returns the list of arguments for a particular instruction.
    `void` | `setClassesDir(File classesDir)` Sets the classes dir.
    `void` | `setClasspath(FileCollection classpath)` A convenient method for setting a Bundle-Classpath instruction.
    `void` | `setDescription(String description)` A convenient method for setting a Bundle-Description instruction.
    `void` | `setDocURL(String docURL)` A convenient method for setting a Bundle-DocURL instruction.
    `void` | `setLicense(String license)` A convenient method for setting a Bundle-License instruction.
    `void` | `setName(String name)` A convenient method for setting a Bundle-Name instruction.
    `void` | `setSymbolicName(String symbolicName)` A convenient method for setting a Bundle-SymbolicName instruction.
    `void` | `setVendor(String vendor)` A convenient method for setting a Bundle-Vendor instruction.
    `void` | `setVersion(String version)` A convenient method for setting a Bundle-Version instruction.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface Manifest` | `attributes, attributes, from, from, getAttributes, getEffectiveManifest, getSections, writeTo, writeTo`

- - ### Method Detail

    - #### public File getClassesDir()

      Returns the classes dir.

      See Also:
        setClassesDir(java.io.File)

    - #### public FileCollection getClasspath()

      Returns the classpath.

      See Also:
        setClasspath(org.gradle.api.file.FileCollection)

    - #### public String getDescription()

      Returns the description.

      See Also:
        setDescription(String)

    - #### public String getDocURL()

      Returns the docURL value.

      See Also:
        setDocURL(String)

    - #### public Map<String, List<String>> getInstructions()

      Returns all existing instruction.

      Returns:
        A map with instructions. The key of the map is the instruction name, the value a list of arguments.

    - #### public String getLicense()

      Returns the license.

      See Also:
        setLicense(String)

    - #### public String getName()

      Returns the name.

      See Also:
        setName(String)

    - #### public String getSymbolicName()

      Returns the symbolic name.

      Returns:
        the symbolic name.
      See Also:
        setSymbolicName(String)

    - #### public String getVendor()

      Returns the vendor.

      See Also:
        setVendor(String)

    - #### public String getVersion()

      Returns the version.

      See Also:
        setVersion(String)

    - #### public OsgiManifest instruction(String name, String... values)

      Adds arguments to an instruction. If the instruction does not exists, it is created. If it does exists, the arguments are appended to the existing arguments.

      Parameters:
        name
        values
      Returns:
        this
      See Also:
        instructionFirst(String, String...)
        instructionReplace(String, String...)

    - #### public OsgiManifest instructionFirst(String name, String... values)

      Adds arguments to an instruction. If the instruction does not exists, it is created. If it does exists, the arguments are inserted before the existing arguments.

      Parameters:
        `name` - Name of the instruction.
        `values` - The values for the instruction.
      Returns:
        this
      See Also:
        instruction(String, String...)
        instructionReplace(String, String...)

    - #### public OsgiManifest instructionReplace(String name, String... values)

      Sets the values for an instruction. If the instruction does not exists, it is created. If it does exists, the values replace the existing values.

      Parameters:
        `name` - Name of the instruction.
        `values` - The values for the instruction.
      Returns:
        this
      See Also:
        instruction(String, String...)
        instructionFirst(String, String...)

    - #### public List<String> instructionValue(String instructionName)

      Returns the list of arguments for a particular instruction.

      Parameters:
        instructionName
      Returns:
        The list of arguments
      See Also:
        instruction(String, String...)

    - #### public void setClassesDir(File classesDir)

      Sets the classes dir. This directory is the major source of input for generation the OSGi manifest. All classes are analyzed for its packages and package dependencies. Based on this the Import-Package value is set. This auto generated value can be overwritten by explicitly setting an instruction.

      Parameters:
        classesDir
      See Also:
        instruction(String, String...)

    - #### public void setClasspath(FileCollection classpath)

      A convenient method for setting a Bundle-Classpath instruction. The information of the classpath elements are only used if they are OSGi bundles. In this case for example the version information provided by the bundle is used in the Import-Package of the generated OSGi bundle.

      Parameters:
        `classpath` - The classpath elements

    - #### public void setDescription(String description)

      A convenient method for setting a Bundle-Description instruction.

      Parameters:
        `description` - the description to set

    - #### public void setDocURL(String docURL)

      A convenient method for setting a Bundle-DocURL instruction.

      Parameters:
        `docURL` - the docURL to set.

    - #### public void setLicense(String license)

      A convenient method for setting a Bundle-License instruction.

      Parameters:
        `license` - The license to set

    - #### public void setName(String name)

      A convenient method for setting a Bundle-Name instruction.

      Parameters:
        `name` - the name to set

    - #### public void setSymbolicName(String symbolicName)

      A convenient method for setting a Bundle-SymbolicName instruction.

      Parameters:
        `symbolicName` - the symbolicName to set

    - #### public void setVendor(String vendor)

      A convenient method for setting a Bundle-Vendor instruction.

      Parameters:
        `vendor` - The vendor to set

    - #### public void setVersion(String version)

      A convenient method for setting a Bundle-Version instruction.

      Parameters:
        `version` - the version to set