Package: org.gradle.jvm

## [Java] Interface JvmApiSpec

- Specifies the packages that constitute the API of a library. Facilitates separation of API and implementation binaries for that library. Backing object for the `api {`} DSL.

  Since:
    2.10

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `dependencies(groovy.lang.Closure<?> configureAction)` Specify the dependencies of this API.
    `void` | `exports(String packageName)` Specify a package to be exported as part of the library API.
    `DependencySpecContainer` | `getDependencies()` The dependencies of this API.
    `Set<String>` | `getExports()` The set of packages that comprise this library's public API.

- - ### Method Detail

    - #### public void dependencies(groovy.lang.Closure<?> configureAction)

      Specify the dependencies of this API.

    - #### public void exports(String packageName)

      Specify a package to be exported as part of the library API.

      throws:
        org.gradle.api.InvalidUserDataException if the package name is not valid or has already been exported
      Parameters:
        `packageName` - the name of the package to be exported, e.g. "com.example.p1"

    - #### public DependencySpecContainer getDependencies()

      The dependencies of this API.

    - #### public Set<String> getExports()

      The set of packages that comprise this library's public API.