# DependencyVariantSelection

# DependencyVariantSelection

<br />

```
@Incubating
public interface DependencyVariantSelection
```

<br />

*** ** * ** ***

Specifies options for doing variant selection for external Android dependencies based on build types and product flavours

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                    ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                                    |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[ListProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/ListProperty.html)`<@`[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)`>`                                                                                                                                                                                                                                                                                                                                                                                                                   | `@`[Incubating](https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html) [getBuildTypes](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DependencyVariantSelection#getBuildTypes())`()` Specifies a list of build types that the plugin should try to use when a direct variant match with a dependency is not possible.            |
| `abstract @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[MapProperty](https://docs.gradle.org/current/javadoc/org/gradle/api/provider/MapProperty.html)`<@`[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)`, @`[NonNull](https://developer.android.com/reference/tools/gradle-api/8.3/null/androidx/annotation/NonNull)` `[List](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html)`<@`[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)`>>` | `@`[Incubating](https://docs.gradle.org/current/javadoc/org/gradle/api/Incubating.html) [getProductFlavors](https://developer.android.com/reference/tools/gradle-api/8.3/null/com/android/build/api/dsl/DependencyVariantSelection#getProductFlavors())`()` Specifies a map of product flavors that the plugin should try to use when a direct variant match with a dependency is not possible. |

## Public methods

### getBuildTypes

```
@Incubating
abstract @NonNull ListProperty<@NonNull String> getBuildTypes()
```

Specifies a list of build types that the plugin should try to use when a direct variant match with a dependency is not possible.  

### getProductFlavors

```
@Incubating
abstract @NonNull MapProperty<@NonNull String, @NonNull List<@NonNull String>> getProductFlavors()
```

Specifies a map of product flavors that the plugin should try to use when a direct variant match with a dependency is not possible.