# KotlinMultiplatformAndroidCompilationBuilder

# KotlinMultiplatformAndroidCompilationBuilder

<br />

```
@Incubating interface KotlinMultiplatformAndroidCompilationBuilder
```

<br />

*** ** * ** ***

Options to build a[KotlinMultiplatformAndroidCompilation](https://developer.android.com/reference/tools/gradle-api/8.2/com/android/build/api/dsl/KotlinMultiplatformAndroidCompilation)object.

## Summary

|                                                                                                                                                                         ### Public properties                                                                                                                                                                          ||
|-------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)    | [compilationName](https://developer.android.com/reference/tools/gradle-api/8.2/com/android/build/api/dsl/KotlinMultiplatformAndroidCompilationBuilder#compilationName()) The name of the compilation object.                                                                      |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)    | [defaultSourceSetName](https://developer.android.com/reference/tools/gradle-api/8.2/com/android/build/api/dsl/KotlinMultiplatformAndroidCompilationBuilder#defaultSourceSetName()) The name of the sourceSet that is used in the compilation as the default sourceSet to compile. |
| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`?` | [sourceSetTreeName](https://developer.android.com/reference/tools/gradle-api/8.2/com/android/build/api/dsl/KotlinMultiplatformAndroidCompilationBuilder#sourceSetTreeName()) The name of the sourceSet tree that would be used to infer the dependencies between sourceSets.      |

## Public properties

### compilationName

```
var compilationName: String
```

The name of the compilation object. The name can be used later to access the compilation object using  

```kotlin
kotlin {
  androidLibrary {
    compilations.getByName("main") {
      // configure compilation
    }
  }
}
```  

|                                                                 See also                                                                  ||
|----------------------------------------------------------------------------------------------------------------------------------------|---|
| [KotlinCompilation](https://developer.android.com/reference/tools/gradle-api/8.2/org/jetbrains/kotlin/gradle/plugin/KotlinCompilation) |   |

### defaultSourceSetName

```
var defaultSourceSetName: String
```

The name of the sourceSet that is used in the compilation as the default sourceSet to compile. The sourceSet created will be located at`$projectDir/src/$sourceSetName`.

The sourceSet name can be used later to access the sourceSet object using  

```kotlin
kotlin {
  sourceSets.getByName("androidMain") {
    // configure sourceSet
  }
}
```  

|                                                               See also                                                                ||
|------------------------------------------------------------------------------------------------------------------------------------|---|
| [KotlinSourceSet](https://developer.android.com/reference/tools/gradle-api/8.2/org/jetbrains/kotlin/gradle/plugin/KotlinSourceSet) |   |

### sourceSetTreeName

```
var sourceSetTreeName: String?
```

The name of the sourceSet tree that would be used to infer the dependencies between sourceSets. For example, setting the sourceSetTreeName to`test`means that compilation will include the`commonTest`sourceSet, and setting it to`integrationTest`means that the compilation will include the`commonIntegrationTest`sourceSet if exists.

Setting this value to`null`means that this compilation is not part of any sourceSet trees and the kotlin plugin will not include any common test sourceSets in this compilation.  

|                                     See also                                      ||
|--------------------------------------------------------------------------------|---|
| `org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension.targetHierarchy` |   |