# PublishingOptions

# PublishingOptions

```
interface PublishingOptions
```

|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.dsl.PublishingOptions](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/PublishingOptions#) |

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known Direct Subclasses [MultipleVariants](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/MultipleVariants),[SingleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/SingleVariant) |-----------------------------------------------------------------------------------------------------------------------------|------------------------------------| | [MultipleVariants](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/MultipleVariants) | Multi variant publishing options.  | | [SingleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/SingleVariant)       | Single variant publishing options. | |

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known Indirect Subclasses [ApplicationSingleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/ApplicationSingleVariant),[LibrarySingleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/LibrarySingleVariant) |---------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------| | [ApplicationSingleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/ApplicationSingleVariant) | Single variant publishing options for application projects. | | [LibrarySingleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/LibrarySingleVariant)         | Single variant publishing options for library projects.     | |

Maven publishing options shared by[SingleVariant](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/SingleVariant)and[MultipleVariants](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/MultipleVariants).

To publish sources \&amp; javadoc jar apart from AAR, use[withSourcesJar](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/PublishingOptions#withSourcesJar())and[withJavadocJar](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/PublishingOptions#withJavadocJar()). The following sets up publishing of sources \&amp; javadoc jar in two different publishing mechanisms.  

```text
android {
    publishing {
        singleVariant("release") {
            withSourcesJar()
            withJavadocJar()
        }

        multipleVariants {
            withSourcesJar()
            withJavadocJar()
            allVariants()
        }
    }
}
```

## Summary

|                                                                                                                                                                ### Public methods                                                                                                                                                                 ||
|--------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [withJavadocJar](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/PublishingOptions#withJavadocJar())`()` Publish javadoc jar generated from java \&amp; kotlin source as a secondary artifact to a Maven repository. |
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [withSourcesJar](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/dsl/PublishingOptions#withSourcesJar())`()` Publish java \&amp; kotlin sources jar as a secondary artifact to a Maven repository.                       |

## Public methods

### withJavadocJar

```
abstract fun withJavadocJar(): Unit
```

Publish javadoc jar generated from java \&amp; kotlin source as a secondary artifact to a Maven repository.  

### withSourcesJar

```
abstract fun withSourcesJar(): Unit
```

Publish java \&amp; kotlin sources jar as a secondary artifact to a Maven repository.