# PublishingOptions

# PublishingOptions

<br />

```
public interface PublishingOptions
```

<br />

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

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

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

|--------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|
| [ApplicationSingleVariant](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ApplicationSingleVariant) | Single variant publishing options for application projects. |
| [LibrarySingleVariant](https://developer.android.com/reference/tools/gradle-api/8.3/null/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.3/null/com/android/build/api/dsl/SingleVariant)and[MultipleVariants](https://developer.android.com/reference/tools/gradle-api/8.3/null/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.3/null/com/android/build/api/dsl/PublishingOptions#withSourcesJar())and[withJavadocJar](https://developer.android.com/reference/tools/gradle-api/8.3/null/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 methods |
|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract void`    | [withJavadocJar](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/PublishingOptions#withJavadocJar())`()` Publish javadoc jar generated from java \& kotlin source as a secondary artifact to a Maven repository. |
| `abstract void`    | [withSourcesJar](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/PublishingOptions#withSourcesJar())`()` Publish java \& kotlin sources jar as a secondary artifact to a Maven repository.                       |

## Public methods

### withJavadocJar

```
abstract void withJavadocJar()
```

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

### withSourcesJar

```
abstract void withSourcesJar()
```

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