# PublishingOptions

# PublishingOptions

<br />

```
interface PublishingOptions
```

<br />

Known direct subclasses  
[MultipleVariants](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/dsl/MultipleVariants),[SingleVariant](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/dsl/SingleVariant)  

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

Known indirect subclasses  
[ApplicationSingleVariant](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/dsl/ApplicationSingleVariant),[LibrarySingleVariant](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/dsl/LibrarySingleVariant)  

|---------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|
| [ApplicationSingleVariant](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/dsl/ApplicationSingleVariant) | Single variant publishing options for application projects. |
| [LibrarySingleVariant](https://developer.android.com/reference/tools/gradle-api/8.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/8.1/com/android/build/api/dsl/SingleVariant)and[MultipleVariants](https://developer.android.com/reference/tools/gradle-api/8.1/com/android/build/api/dsl/MultipleVariants).

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

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

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

## Summary

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

## Public functions

### withJavadocJar

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

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

### withSourcesJar

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

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