# DslExtension.Builder

# DslExtension.Builder

<br />

```
@Incubating
public final class DslExtension.Builder
```

<br />

*** ** * ** ***

Creates a[Builder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder)to instance to create a[DslExtension](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension)containing all desired extension points to the Android Gradle Plugin DSL.

## Summary

|                                                                                                                                                                           ### Public constructors                                                                                                                                                                            |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Builder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder#Builder(kotlin.String))`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` dslName)` |

|                                                                                                                        ### Public methods                                                                                                                        |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `final @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[DslExtension](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension)                 | [build](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder#build())`()` Builds the final[DslExtension](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension)instance that can be used with the[AndroidComponentsExtension.registerExtension](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/AndroidComponentsExtension#registerExtension(com.android.build.api.variant.DslExtension,kotlin.Function1))API                                                                                                                                                                                                                                    |
| `final @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[DslExtension.Builder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder) | [extendBuildTypeWith](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder#extendBuildTypeWith(java.lang.Class))`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Class](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Object](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html)`> typeExtension)` Registers an extension point for the[com.android.build.api.dsl.BuildType](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BuildType)                 |
| `final @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[DslExtension.Builder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder) | [extendProductFlavorWith](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder#extendProductFlavorWith(java.lang.Class))`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Class](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Object](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html)`> typeExtension)` Registers an extension point for the[com.android.build.api.dsl.ProductFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ProductFlavor) |
| `final @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[DslExtension.Builder](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder) | [extendProjectWith](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension.Builder#extendProjectWith(java.lang.Class))`(@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Class](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html)`<@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[Object](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html)`> typeExtension)` Registers an extension point for the module's DSL, it will be available under the android block.                                                                                                     |

## Public constructors

### Builder

```
public Builder(@NonNull String dslName)
```  

|                                                                                                      Parameters                                                                                                      |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
| `@`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[String](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html)` dslName` | the extension point name as it appears in build files. |

## Public methods

### build

```
public final @NonNull DslExtension build()
```

Builds the final[DslExtension](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/DslExtension)instance that can be used with the[AndroidComponentsExtension.registerExtension](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/variant/AndroidComponentsExtension#registerExtension(com.android.build.api.variant.DslExtension,kotlin.Function1))API  

### extendBuildTypeWith

```
public final @NonNull DslExtension.Builder extendBuildTypeWith(@NonNull Class<@NonNull Object> typeExtension)
```

Registers an extension point for the[com.android.build.api.dsl.BuildType](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/BuildType)  

### extendProductFlavorWith

```
public final @NonNull DslExtension.Builder extendProductFlavorWith(@NonNull Class<@NonNull Object> typeExtension)
```

Registers an extension point for the[com.android.build.api.dsl.ProductFlavor](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/ProductFlavor)  

### extendProjectWith

```
public final @NonNull DslExtension.Builder extendProjectWith(@NonNull Class<@NonNull Object> typeExtension)
```

Registers an extension point for the module's DSL, it will be available under the android block.