# VariantSelector

# VariantSelector

```
interface VariantSelector : VariantSelector
```

|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [com.android.build.api.extension.VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#) |

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                     ### Public methods                                                                                                                                                                                                                                                                                                                                                                                     ||
|------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#) | [all](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#all())`()` Creates a[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#)of[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)that includes all the variants for the current module.                                                                                                                                                                         |
| abstract[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#) | [withBuildType](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#withBuildType(kotlin.String))`(`buildType:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Returns a new selector for[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)objects with a given build type.                                                                                                                                                                                |
| abstract[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#) | [withFlavor](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#withFlavor(kotlin.Pair))`(`flavorToDimension:` `[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)>`)` Returns a new selector for[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)objects with a given (dimension, flavorName). |
| abstract[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#) | [withName](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#withName(java.util.regex.Pattern))`(`pattern:` `[Pattern](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)`)` Returns a new selector for[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)objects with a given name pattern.                                                                                                                                                                                |
| abstract[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#) | [withName](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#withName(kotlin.String))`(`name:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Returns a new selector for[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)objects with a given name.                                                                                                                                                                                                     |

## Public methods

### all

```
abstract fun all(): VariantSelector
```

Creates a[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#)of[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)that includes all the variants for the current module.

| Return ||
|---|---|
| a[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#)for all variants. ||

### withBuildType

```
abstract fun withBuildType(buildType: String): VariantSelector
```

Returns a new selector for[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)objects with a given build type.

|                                                                                                                          Parameters                                                                                                                          ||
|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| buildType:[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | Build type to filter[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)on. |

| Return ||
|---|---|
| An instance of[VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#)to further filter variants. ||

### withFlavor

```
abstract fun withFlavor(flavorToDimension: Pair<String, String>): VariantSelector
```

Returns a new selector for[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)objects with a given (dimension, flavorName).

|                                                                                                                                                                                                                   Parameters                                                                                                                                                                                                                    ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| flavorToDimension:[Pair](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html)\<[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html),[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)\> | Dimension and flavor to filter[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)on. |

| Return ||
|---|---|
| [VariantSelector](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/extension/VariantSelector#)instance to further filter instances of[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#) ||

### withName

```
abstract fun withName(pattern: Pattern): VariantSelector
```

Returns a new selector for[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)objects with a given name pattern.

|                                                                                                                                                                                                                             Parameters                                                                                                                                                                                                                             ||
|------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| pattern:[Pattern](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html) | [Pattern](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)to apply on the[org.gradle.api.Named.getName](https://docs.gradle.org/current/javadoc/org/gradle/api/Named.html#getName())to filter[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)instances on |

### withName

```
abstract fun withName(name: String): VariantSelector
```

Returns a new selector for[ComponentIdentity](https://developer.android.com/reference/tools/gradle-api/7.1/com/android/build/api/component/ComponentIdentity.html#)objects with a given name.

|                                                                                                                                                     Parameters                                                                                                                                                     ||
|---------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| name:[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html) | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)to test against the[org.gradle.api.Named.getName](https://docs.gradle.org/current/javadoc/org/gradle/api/Named.html#getName())for equality. |