# CompileOptions

# CompileOptions

```
@Incubating interface CompileOptions
```

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

Java compilation options.

## Summary

|                                                                                                                                                                                        ### Public methods                                                                                                                                                                                         ||
|--------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [sourceCompatibility](https://developer.android.com/reference/tools/gradle-api/4.1/com/android/build/api/dsl/CompileOptions#sourceCompatibility(kotlin.Any))`(`sourceCompatibility:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`)` Language level of the java source code. |
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [targetCompatibility](https://developer.android.com/reference/tools/gradle-api/4.1/com/android/build/api/dsl/CompileOptions#targetCompatibility(kotlin.Any))`(`targetCompatibility:` `[Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)`)` Version of the generated Java bytecode. |

|                                                                                                                                                          ### Properties                                                                                                                                                           ||
|------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)       | [encoding](https://developer.android.com/reference/tools/gradle-api/4.1/com/android/build/api/dsl/CompileOptions#encoding:kotlin.String) Java source files encoding.                                                              |
| abstract[Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)     | [isCoreLibraryDesugaringEnabled](https://developer.android.com/reference/tools/gradle-api/4.1/com/android/build/api/dsl/CompileOptions#isCoreLibraryDesugaringEnabled:kotlin.Boolean) Whether core library desugaring is enabled. |
| abstract[JavaVersion](https://docs.gradle.org/current/javadoc/org/gradle/api/JavaVersion.html) | [sourceCompatibility](https://developer.android.com/reference/tools/gradle-api/4.1/com/android/build/api/dsl/CompileOptions#sourceCompatibility:org.gradle.api.JavaVersion) Language level of the java source code.               |
| abstract[JavaVersion](https://docs.gradle.org/current/javadoc/org/gradle/api/JavaVersion.html) | [targetCompatibility](https://developer.android.com/reference/tools/gradle-api/4.1/com/android/build/api/dsl/CompileOptions#targetCompatibility:org.gradle.api.JavaVersion) Version of the generated Java bytecode.               |

## Public methods

### sourceCompatibility

```
abstract fun sourceCompatibility(sourceCompatibility: Any): Unit
```

Language level of the java source code.

Similar to what[Gradle Java plugin](http://www.gradle.org/docs/current/userguide/java_plugin.html)uses. Formats supported are:

- `"1.6"`
- `1.6`
- `JavaVersion.Version_1_6`
- `"Version_1_6"`  

### targetCompatibility

```
abstract fun targetCompatibility(targetCompatibility: Any): Unit
```

Version of the generated Java bytecode.

Similar to what[Gradle Java plugin](http://www.gradle.org/docs/current/userguide/java_plugin.html)uses. Formats supported are:

- `"1.6"`
- `1.6`
- `JavaVersion.Version_1_6`
- `"Version_1_6"`

## Properties

### encoding

```
abstract var encoding: String
```

Java source files encoding.  

### isCoreLibraryDesugaringEnabled

```
abstract var isCoreLibraryDesugaringEnabled: Boolean
```

Whether core library desugaring is enabled.  

### sourceCompatibility

```
abstract var sourceCompatibility: JavaVersion
```

Language level of the java source code.

Similar to what[Gradle Java plugin](http://www.gradle.org/docs/current/userguide/java_plugin.html)uses. Formats supported are:

- `"1.6"`
- `1.6`
- `JavaVersion.Version_1_6`
- `"Version_1_6"`  

### targetCompatibility

```
abstract var targetCompatibility: JavaVersion
```

Version of the generated Java bytecode.

Similar to what[Gradle Java plugin](http://www.gradle.org/docs/current/userguide/java_plugin.html)uses. Formats supported are:

- `"1.6"`
- `1.6`
- `JavaVersion.Version_1_6`
- `"Version_1_6"`