import androidx.build.gradle.gcpbuildcache.GcpBuildCache
import androidx.build.gradle.gcpbuildcache.GcpBuildCacheServiceFactory
import groovy.transform.Field

import java.util.regex.Matcher
import java.util.regex.Pattern

pluginManagement {
    repositories {
        maven {
            url = new File(buildscript.sourceFile.parent + "/../../prebuilts/androidx/external").getCanonicalFile()
        }
        if (System.getenv("ALLOW_PUBLIC_REPOS") != null || System.getProperty("ALLOW_PUBLIC_REPOS") != null) {
            mavenCentral()
            google()
            maven {
                url = "https://plugins.gradle.org/m2/"
            }
        }
    }
}

buildscript {
    ext.supportRootFolder = buildscript.sourceFile.getParentFile()
    apply(from: "buildSrc/repos.gradle")
    repos.addMavenRepositories(repositories)

    dependencies {
        classpath("com.gradle:gradle-enterprise-gradle-plugin:3.13")
        classpath("com.gradle:common-custom-user-data-gradle-plugin:1.10")
        classpath("androidx.build.gradle.gcpbuildcache:gcpbuildcache:1.0.0-beta01")
    }
}

// Abort immediately if we're running in Studio, but not a managed instance of Studio.
if (startParameter.projectProperties.containsKey('android.injected.invoked.from.ide')) {
    def expectedAgpVersion = System.getenv().get("EXPECTED_AGP_VERSION")
    if (expectedAgpVersion == null) {
        throw new Exception("Android Studio must be run from studiow or gradlew studio.")
    }
}

// Makes strong assumptions about the project structure.
def prebuiltsRoot = new File(
        buildscript.sourceFile.parentFile.parentFile.parentFile,
        "prebuilts"
).absolutePath
def rootProjectRepositories

apply from: "buildSrc/out.gradle"
def (outDir, buildSrcOut) = init.getOutDir()

getGradle().beforeProject {
    // Migrate to dependencyResolutionManagement.repositories when
    // https://github.com/gradle/gradle/issues/17295 is fixed
    if (it.path == ":") {
        repos.addMavenRepositories(it.repositories)
        rootProjectRepositories = it.repositories

        // Set buildSrcOut and outDir extras on root project
        it.ext.buildSrcOut = buildSrcOut
        it.ext.outDir = outDir
    } else {
        // Performance optimization because it is more efficient to reuse
        // repositories from the root project than recreate identical ones
        // on each project
        it.repositories.addAll(rootProjectRepositories)
    }
    it.ext.prebuiltsRoot = prebuiltsRoot
    // Expected out directory structure for :foo:bar is out/androidx/foo/bar
    it.buildDir = new File(outDir, "androidx/${it.path.replace(":", "/")}/build")
}

apply(plugin: "com.gradle.enterprise")
apply(plugin: "com.gradle.common-custom-user-data-gradle-plugin")
apply(plugin: "androidx.build.gradle.gcpbuildcache")

def BUILD_NUMBER = System.getenv("BUILD_NUMBER")
gradleEnterprise {
    server = "https://ge.androidx.dev"

    buildScan {
        capture {
            taskInputFiles = true
        }
        obfuscation {
            hostname { host -> "unset" }
            ipAddresses { addresses -> addresses.collect { address -> "0.0.0.0"} }
        }
        if (BUILD_NUMBER != null) {
            value("BUILD_NUMBER", BUILD_NUMBER)
            link("ci.android.com build", "https://ci.android.com/builds/branches/aosp-androidx-main/grid?head=$BUILD_NUMBER&tail=$BUILD_NUMBER")
        }
        value("androidx.compose.multiplatformEnabled", isMultiplatformEnabled().toString())
        value("androidx.projects", getRequestedProjectSubsetName() ?: "Unset")
        value("androidx.useMaxDepVersions", providers.gradleProperty("androidx.useMaxDepVersions").isPresent().toString())

        // Publish scan for androidx-main
        publishAlways()
        publishIfAuthenticated()
    }
}

def cacheSetting = System.getenv("USE_ANDROIDX_REMOTE_BUILD_CACHE")
switch (cacheSetting) {
    case ["true", "uplink"]: // legacy build cache
        logger.warn("\u001B[31m\nYou are using legacy USE_ANDROIDX_REMOTE_BUILD_CACHE=$cacheSetting " +
                "type, this cache has been turned down, so you are *not* using a remote cache. " +
                "Please move to the new cache using http://go/androidx-dev#remote-build-cache\u001B[0m\n")
        break
    case "gcp":
        buildCache {
            registerBuildCacheService(GcpBuildCache, GcpBuildCacheServiceFactory)
        }
        settings.buildCache {
            remote(GcpBuildCache) {
                projectId = "androidx-ge"
                bucketName = "androidx-gradle-remote-cache"
                push = (BUILD_NUMBER != null && !BUILD_NUMBER.startsWith("P"))
            }
        }
        break
    case "false":
        break
    default:
        def uplinkLinux = new File("/usr/bin/uplink-helper")
        def uplinkMac = new File("/usr/local/bin/uplink-helper")
        if (uplinkLinux.exists() || uplinkMac.exists()) {
            logger.warn("\u001B[31m\nIt looks like you are a Googler running without remote build "
                    + "cache. Enable it for faster builds, see " +
                    "http://go/androidx-dev#remote-build-cache\u001B[0m\n")
        }
}

rootProject.name = "androidx"

dependencyResolutionManagement {
    versionCatalogs {
        libs {
            def metalavaOverride = System.getenv("METALAVA_VERSION")
            if (metalavaOverride != null) {
                logger.warn("Using custom version ${metalavaOverride} of metalava due to METALAVA_VERSION being set.")
                version('metalava', metalavaOverride)
            }
            def skikoOverride = System.getenv("SKIKO_VERSION")
            if (skikoOverride != null) {
                logger.warn("Using custom version ${skikoOverride} of SKIKO due to SKIKO_VERSION being set.")
                version('skiko', skikoOverride)
            }
            String os = System.getProperty("os.name").toLowerCase(Locale.US)
            String currentOsArtifact
            if (os.contains("mac os x") ||  os.contains("darwin") || os.contains("osx")) {
                def arch = System.getProperty("os.arch")
                if (arch == "aarch64") {
                    currentOsArtifact = "skiko-awt-runtime-macos-arm64"
                } else {
                    currentOsArtifact = "skiko-awt-runtime-macos-x64"
                }
            } else if (os.startsWith("win")) {
                currentOsArtifact = "skiko-awt-runtime-windows-x64"
            } else if (os.startsWith("linux") ) {
                def arch = System.getProperty("os.arch")
                if (arch == "aarch64") {
                    currentOsArtifact = "skiko-awt-runtime-linux-arm64"
                } else {
                    currentOsArtifact = "skiko-awt-runtime-linux-x64"
                }
            } else {
                throw GradleException("Unsupported operating system $os")
            }
            library("skikoCurrentOs", "org.jetbrains.skiko", currentOsArtifact).versionRef("skiko")
        }
    }
}

boolean isMultiplatformEnabled() {
    def mppParameter = properties.get("androidx.compose.multiplatformEnabled")
    if (mppParameter == null) return false
    return Boolean.parseBoolean(mppParameter)
}

/////////////////////////////
//
// Buildscript utils
//
/////////////////////////////

// If you add a new BuildType, you probably also want to
// update ProjectSubsetsTest.kt to verify that dependencies in that subset resolve successfully
enum BuildType {
    MAIN,
    COMPOSE,
    FLAN,
    MEDIA,
    WEAR,
    GLANCE,
    TOOLS,
    KMP, // All projects built as Kotlin Multi Platform (compose, datastore, collections, etc).
    INFRAROGUE, // Projects built by playground team, mostly non-compose kmp.
    CAMERA,
    NATIVE,
    WINDOW,
}

private String getRequestedProjectSubsetName() {
    def envProp = providers.environmentVariable("ANDROIDX_PROJECTS")
    if (envProp.isPresent()) {
        return envProp.get().toUpperCase()
    }
    return null
}

private String getRequestedProjectPrefix() {
    def envProp = providers.environmentVariable("PROJECT_PREFIX")
    if (envProp.isPresent()) {
        return envProp.get()
    }
    return null
}

boolean isAllProjects() {
    return requestedProjectSubsetName == null || requestedProjectSubsetName == "ALL"
}

private Set<BuildType> createRequestedFilter() {
    Set<BuildType> filter = new HashSet<>()
    String projectSubsetName = getRequestedProjectSubsetName()
    if (projectSubsetName == null) return null
    String[] requestedFilter = projectSubsetName.split(",")
    for (String requestedType : requestedFilter) {
        switch (requestedType) {
            case "MAIN":
                filter.add(BuildType.MAIN)
                break
            case "COMPOSE":
                filter.add(BuildType.COMPOSE)
                break
            case "FLAN":
                filter.add(BuildType.FLAN)
                break
            case "MEDIA":
                filter.add(BuildType.MEDIA)
                break
            case "WEAR":
                filter.add(BuildType.WEAR)
                break
            case "GLANCE":
                // Glance currently depends on a large part of Compose, add it here rather than
                // requiring every project to be tagged
                filter.add(BuildType.COMPOSE)
                filter.add(BuildType.GLANCE)
                break
            case "TOOLS":
                filter.add(BuildType.TOOLS)
                break
            case "KMP":
                filter.add(BuildType.KMP)
                break
            case "INFRAROGUE":
                filter.add(BuildType.INFRAROGUE)
                break
            case "CAMERA":
                filter.add(BuildType.CAMERA)
                break
            case "NATIVE":
                filter.add(BuildType.NATIVE)
                break
            case "WINDOW":
                filter.add(BuildType.WINDOW)
                break
            case "ALL":
                // Return null so that no filtering is done
                return null
                break
            default:
                throw new Exception("Unsupported project type $requestedType\n" +
                        "We only support the following:\n" +
                        "ALL     - all androidx projects\n" +
                        "COMPOSE - compose projects\n" +
                        "CAMERA  - camera projects\n" +
                        "MAIN    - androidx projects that are not compose\n" +
                        "FLAN    - fragment, lifecycle, activity, and navigation projects\n" +
                        "MEDIA   - media, media2, and mediarouter projects\n" +
                        "WEAR    - Wear OS projects\n" +
                        "NATIVE  - native projects\n" +
                        "WINDOW  - window projects\n" +
                        "GLANCE  - glance projects")
        }
    }
    return filter
}

/**
 * Requested project filter based on STUDIO_PROJECT_FILTER env variable.
 *
 * Note that null value means all the projects should be included
 */
@Field
Set<BuildType> requestedFilter
requestedFilter = createRequestedFilter()

boolean shouldIncludeForFilter(List<BuildType> includeList) {
    if (includeList.empty) return true
    if (requestedFilter == null) return true
    for (BuildType type : includeList) {
        if (requestedFilter.contains(type)) return true
    }
    return false
}

def includeProject(name, List<BuildType> filter = []) {
    includeProject(name, null, filter)
}

// A map of project path to a set of project paths referenced directly by this project.
@Field Map<String, Set<String>> projectReferences = new HashMap<String, Set<String>>()

// A map of all project paths to their project directory.
@Field Map<String, File> allProjects = new HashMap<String, File>()
// A set of projects that the user asked to filter to.
@Field Set<String> filteredProjects = new HashSet<String>()
filteredProjects.add(":lint-checks")

@Field Pattern projectReferencePattern = Pattern.compile(
        "(project|projectOrArtifact)\\((path: )?[\"'](?<name>\\S*)[\"'](, configuration: .*)?\\)"
)
@Field Pattern multilineProjectReference = Pattern.compile("project\\(\$")
@Field Pattern inspection = Pattern.compile("packageInspector\\(project, \"(.*)\"\\)")
@Field Pattern composePlugin = Pattern.compile("id\\(\"AndroidXComposePlugin\"\\)")
@Field Pattern paparazziPlugin = Pattern.compile("id\\(\"AndroidXPaparazziPlugin\"\\)")
@Field Pattern iconGenerator = Pattern.compile("IconGenerationTask\\.register")

// Calling includeProject(name, filePath) is shorthand for:
//
//   include(name)
//   project(name).projectDir = new File(filePath)
//
// Note that <name> directly controls the Gradle project name, and also indirectly sets:
//   the project name in the IDE
//   the Maven artifactId
//
def includeProject(String name, filePath, List<BuildType> filter = []) {
    if (getRequestedProjectPrefix() != null) {
        if (name.startsWith(getRequestedProjectPrefix())) filteredProjects.add(name)
    } else if (shouldIncludeForFilter(filter)) filteredProjects.add(name)
    def file
    if (filePath != null) {
        if (filePath instanceof String) {
            if ((":" + filePath.replace("/",":")).equals(name)) {
                throw new IllegalArgumentException("Redundant filepath for $name, please remove it")
            }
            file = new File(rootDir, filePath)
        } else {
            file = filePath
        }
    } else {
        file = new File(rootDir, name.substring(1).replace(":", "/"))
    }
    allProjects[name] = file
    File buildGradle = new File(file, "build.gradle")
    if (buildGradle.exists()) {
        def buildGradleProperty = settings.services.get(ObjectFactory).fileProperty().fileValue(buildGradle)
        def contents = settings.providers.fileContents(buildGradleProperty).getAsText().get()
        Set<String> links = new HashSet<String>()
        for (line in contents.lines()) {
            Matcher m = projectReferencePattern.matcher(line)
            if (m.find()) {
                links.add(m.group("name"))
            }
            if (multilineProjectReference.matcher(line).find()) {
                throw new IllegalStateException(
                        "Multi-line project() references are not supported. Please fix $file.absolutePath"
                )
            }
            Matcher matcherInspection = inspection.matcher(line)
            if (matcherInspection) {
                links.add(matcherInspection.group(1))
            }
            if (composePlugin.matcher(line).find()) {
                links.add(":compose:compiler:compiler")
                links.add(":compose:lint:internal-lint-checks")
            }
            if (paparazziPlugin.matcher(line).find()) {
                links.add(":test:screenshot:screenshot-proto")
                links.add(":internal-testutils-paparazzi")
            }
            if (iconGenerator.matcher(line).find()) {
                links.add(":compose:material:material:icons:generator")
            }
        }
        projectReferences[name] = links
    }
    if (!file.exists()) {
        // This option is supported so that development/simplify_build_failure.sh can try
        // deleting entire projects at once to identify the cause of a build failure
        if (System.getenv("ALLOW_MISSING_PROJECTS") == null) {
            throw new Exception("Path " + file + " does not exist; cannot include project " + name)
        }
    }
}

/////////////////////////////
//
// Libraries
//
/////////////////////////////

includeProject(":activity:activity", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":activity:activity-compose", [BuildType.COMPOSE])
includeProject(":activity:activity-compose:activity-compose-samples", "activity/activity-compose/samples", [BuildType.COMPOSE])
includeProject(":activity:activity-compose:integration-tests:activity-demos", [BuildType.COMPOSE])
includeProject(":activity:activity-compose-lint", [BuildType.COMPOSE])
includeProject(":activity:activity-ktx", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":activity:activity-lint", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":activity:integration-tests:testapp", [BuildType.MAIN, BuildType.FLAN])
includeProject(":annotation:annotation")
includeProject(":annotation:annotation-experimental")
includeProject(":annotation:annotation-experimental-lint")
includeProject(":annotation:annotation-experimental-lint-integration-tests", "annotation/annotation-experimental-lint/integration-tests")
includeProject(":annotation:annotation-sampled")
includeProject(":appactions:builtintypes:builtintypes-core", [BuildType.MAIN])
includeProject(":appactions:builtintypes:builtintypes-core:builtintypes-core-samples", "appactions/builtintypes/builtintypes-core/samples", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-capabilities-communication", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-capabilities-core", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-capabilities-fitness", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-capabilities-productivity", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-capabilities-safety", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-capabilities-testing", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-proto", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-service", [BuildType.MAIN])
includeProject(":appactions:interaction:interaction-service-proto", [BuildType.MAIN])
includeProject(":appactions:interaction:integration-tests:testapp", [BuildType.MAIN])
includeProject(":appcompat:appcompat", [BuildType.MAIN])
includeProject(":appcompat:appcompat-benchmark", [BuildType.MAIN])
includeProject(":appcompat:appcompat-lint", [BuildType.MAIN])
includeProject(":appcompat:appcompat-lint:integration-tests", [BuildType.MAIN])
includeProject(":appcompat:appcompat-resources", [BuildType.MAIN])
includeProject(":appcompat:integration-tests:receive-content-testapp", [BuildType.MAIN])
includeProject(":appsearch:appsearch", [BuildType.MAIN])
includeProject(":appsearch:appsearch-builtin-types", [BuildType.MAIN])
includeProject(":appsearch:appsearch-compiler", "appsearch/compiler", [BuildType.MAIN])
includeProject(":appsearch:appsearch-debug-view", [BuildType.MAIN])
includeProject(":appsearch:appsearch-debug-view:samples", [BuildType.MAIN])
includeProject(":appsearch:appsearch-ktx", [BuildType.MAIN])
includeProject(":appsearch:appsearch-local-storage", [BuildType.MAIN])
includeProject(":appsearch:appsearch-platform-storage", [BuildType.MAIN])
includeProject(":appsearch:appsearch-test-util", [BuildType.MAIN])
includeProject(":arch:core:core-common", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":arch:core:core-runtime", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":arch:core:core-testing", [BuildType.MAIN])
includeProject(":asynclayoutinflater:asynclayoutinflater", [BuildType.MAIN])
includeProject(":asynclayoutinflater:asynclayoutinflater-appcompat", [BuildType.MAIN])
includeProject(":autofill:autofill", [BuildType.MAIN])
includeProject(":benchmark:benchmark-benchmark", "benchmark/benchmark", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":benchmark:benchmark-common")
includeProject(":benchmark:benchmark-darwin", [BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":benchmark:benchmark-darwin-core", [BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":benchmark:benchmark-darwin-samples", [BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":benchmark:benchmark-darwin-gradle-plugin", [BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":benchmark:benchmark-gradle-plugin", "benchmark/gradle-plugin", [BuildType.MAIN])
includeProject(":benchmark:benchmark-baseline-profile-gradle-plugin", "benchmark/baseline-profile-gradle-plugin",[BuildType.MAIN])
includeProject(":benchmark:benchmark-junit4")
includeProject(":benchmark:benchmark-macro", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":benchmark:benchmark-macro-junit4", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":benchmark:integration-tests:baselineprofile-producer", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:baselineprofile-consumer", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:baselineprofile-flavors-producer", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:baselineprofile-flavors-consumer", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:baselineprofile-library-consumer", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:baselineprofile-library-producer", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:baselineprofile-library-app-target", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:dry-run-benchmark", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:macrobenchmark", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:macrobenchmark-target", [BuildType.MAIN])
includeProject(":benchmark:integration-tests:startup-benchmark", [BuildType.MAIN])
includeProject(":biometric:biometric", [BuildType.MAIN])
includeProject(":biometric:biometric-ktx", [BuildType.MAIN])
includeProject(":biometric:biometric-ktx-samples", "biometric/biometric-ktx/samples", [BuildType.MAIN])
includeProject(":biometric:integration-tests:testapp", [BuildType.MAIN])
includeProject(":bluetooth:bluetooth", [BuildType.MAIN])
includeProject(":bluetooth:bluetooth-testing", [BuildType.MAIN])
includeProject(":bluetooth:integration-tests:testapp", [BuildType.MAIN])
includeProject(":browser:browser", [BuildType.MAIN])
includeProject(":buildSrc-tests", [BuildType.MAIN, BuildType.TOOLS])
// these projects intentionally fail to compile unless androidx.useMaxDepVersions is enabled
if (startParameter.projectProperties.containsKey("androidx.useMaxDepVersions")) {
    includeProject(":buildSrc-tests:max-dep-versions:buildSrc-tests-max-dep-versions-dep", [BuildType.MAIN])
    includeProject(":buildSrc-tests:max-dep-versions:buildSrc-tests-max-dep-versions-main", [BuildType.MAIN])
}
includeProject(":camera:camera-camera2", [BuildType.CAMERA])
includeProject(":camera:camera-camera2-pipe", [BuildType.CAMERA])
includeProject(":camera:camera-camera2-pipe-integration", [BuildType.CAMERA])
includeProject(":camera:camera-camera2-pipe-testing", [BuildType.CAMERA])
includeProject(":camera:camera-core", [BuildType.CAMERA])
includeProject(":camera:camera-effects", [BuildType.CAMERA])
includeProject(":camera:camera-effects-still-portrait", [BuildType.CAMERA])
includeProject(":camera:camera-extensions", [BuildType.CAMERA])
includeProject(":camera:camera-extensions-stub", [BuildType.CAMERA])
includeProject(":camera:camera-lifecycle", [BuildType.CAMERA])
includeProject(":camera:camera-mlkit-vision", [BuildType.CAMERA])
includeProject(":camera:camera-testing", [BuildType.CAMERA])
includeProject(":camera:camera-video", [BuildType.CAMERA])
includeProject(":camera:camera-view", [BuildType.CAMERA])
includeProject(":camera:camera-viewfinder", [BuildType.CAMERA])
includeProject(":camera:camera-viewfinder-compose", [BuildType.CAMERA])
includeProject(":camera:camera-viewfinder-core", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-avsync", "camera/integration-tests/avsynctestapp", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-camera2-pipe", "camera/integration-tests/camerapipetestapp", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-core", "camera/integration-tests/coretestapp", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-diagnose", "camera/integration-tests/diagnosetestapp", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-extensions", "camera/integration-tests/extensionstestapp", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-viewfinder", "camera/integration-tests/viewfindertestapp", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-timing", "camera/integration-tests/timingtestapp", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-uiwidgets", "camera/integration-tests/uiwidgetstestapp", [BuildType.CAMERA])
includeProject(":camera:integration-tests:camera-testapp-view", "camera/integration-tests/viewtestapp", [BuildType.CAMERA])
includeProject(":camera:camera-testlib-extensions", [BuildType.CAMERA])
includeProject(":car:app:app", [BuildType.MAIN])
includeProject(":car:app:app-automotive", [BuildType.MAIN])
includeProject(":car:app:app-projected", [BuildType.MAIN])
includeProject(":car:app:app-samples:navigation-automotive", "car/app/app-samples/navigation/automotive", [BuildType.MAIN])
includeProject(":car:app:app-samples:navigation-common", "car/app/app-samples/navigation/common", [BuildType.MAIN])
includeProject(":car:app:app-samples:navigation-mobile", "car/app/app-samples/navigation/mobile", [BuildType.MAIN])
includeProject(":car:app:app-samples:showcase-automotive", "car/app/app-samples/showcase/automotive", [BuildType.MAIN])
includeProject(":car:app:app-samples:showcase-common", "car/app/app-samples/showcase/common", [BuildType.MAIN])
includeProject(":car:app:app-samples:showcase-mobile", "car/app/app-samples/showcase/mobile", [BuildType.MAIN])
includeProject(":car:app:app-testing", [BuildType.MAIN])
includeProject(":cardview:cardview", [BuildType.MAIN])
includeProject(":collection:collection", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":collection:collection-benchmark", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":collection:collection-benchmark-kmp", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":collection:collection-ktx", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":collection:integration-tests:testapp", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":compose:animation", [BuildType.COMPOSE])
includeProject(":compose:animation:animation", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-lint", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-core", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-core-lint", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-core:animation-core-benchmark", "compose/animation/animation-core/benchmark", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-core:animation-core-samples", "compose/animation/animation-core/samples", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-tooling-internal", [BuildType.COMPOSE])
includeProject(":compose:animation:animation:integration-tests:animation-demos", [BuildType.COMPOSE])
includeProject(":compose:animation:animation:animation-samples", "compose/animation/animation/samples", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-graphics", [BuildType.COMPOSE])
includeProject(":compose:animation:animation-graphics:animation-graphics-samples", "compose/animation/animation-graphics/samples", [BuildType.COMPOSE])
includeProject(":compose:benchmark-utils", [BuildType.COMPOSE])
includeProject(":compose:benchmark-utils:benchmark-utils-benchmark", "compose/benchmark-utils/benchmark", [BuildType.COMPOSE])
includeProject(":compose:compiler:compiler", [BuildType.COMPOSE])
includeProject(":compose:compiler:compiler:integration-tests", [BuildType.COMPOSE])
includeProject(":compose:compiler:compiler-hosted", [BuildType.COMPOSE])
includeProject(":compose:compiler:compiler-hosted:integration-tests", [BuildType.COMPOSE])
includeProject(":compose:compiler:compiler-hosted:integration-tests:kotlin-compiler-repackaged", [BuildType.COMPOSE])
includeProject(":compose:compiler:compiler-daemon", [BuildType.COMPOSE])
includeProject(":compose:compiler:compiler-daemon:integration-tests", [BuildType.COMPOSE])

if (isMultiplatformEnabled()) {
    includeProject(":compose:desktop", [BuildType.COMPOSE, BuildType.KMP])
    includeProject(":compose:desktop:desktop", [BuildType.COMPOSE, BuildType.KMP])
    includeProject(":compose:desktop:desktop:desktop-samples", "compose/desktop/desktop/samples", [BuildType.COMPOSE, BuildType.KMP])
}
includeProject(":compose:foundation", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation-benchmark", "compose/foundation/foundation/benchmark", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation-layout", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation-layout:foundation-layout-benchmark", "compose/foundation/foundation-layout/benchmark", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation-layout:integration-tests:foundation-layout-demos", "compose/foundation/foundation-layout/integration-tests/layout-demos", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation-layout:foundation-layout-samples", "compose/foundation/foundation-layout/samples", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation-lint", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation:integration-tests:foundation-demos", [BuildType.COMPOSE])
includeProject(":compose:foundation:foundation:foundation-samples", "compose/foundation/foundation/samples", [BuildType.COMPOSE])
includeProject(":compose:integration-tests", [BuildType.COMPOSE])
includeProject(":compose:integration-tests:demos", [BuildType.COMPOSE])
includeProject(":compose:integration-tests:demos:common", [BuildType.COMPOSE])
includeProject(":compose:integration-tests:docs-snippets", [BuildType.COMPOSE])
includeProject(":compose:integration-tests:macrobenchmark", [BuildType.COMPOSE])
includeProject(":compose:integration-tests:macrobenchmark-target", [BuildType.COMPOSE])
includeProject(":compose:integration-tests:material-catalog", [BuildType.COMPOSE])
includeProject(":compose:lint", [BuildType.COMPOSE])
includeProject(":compose:lint:internal-lint-checks", [BuildType.COMPOSE])
includeProject(":compose:lint:common", [BuildType.COMPOSE])
includeProject(":compose:lint:common-test", [BuildType.COMPOSE])
includeProject(":compose:material", [BuildType.COMPOSE])
includeProject(":compose:material3:material3", [BuildType.COMPOSE])
includeProject(":compose:material3:benchmark", [BuildType.COMPOSE])
includeProject(":compose:material3:material3-adaptive", [BuildType.COMPOSE])
includeProject(":compose:material3:material3-lint", [BuildType.COMPOSE])
includeProject(":compose:material3:material3-window-size-class", [BuildType.COMPOSE])
includeProject(":compose:material3:material3-window-size-class:material3-window-size-class-samples", "compose/material3/material3-window-size-class/samples", [BuildType.COMPOSE])
includeProject(":compose:material:material", [BuildType.COMPOSE])
includeProject(":compose:material:material-benchmark", "compose/material/material/benchmark", [BuildType.COMPOSE])
includeProject(":compose:material:material-lint", [BuildType.COMPOSE])
includeProject(":compose:material:material-icons-core", [BuildType.COMPOSE])
includeProject(":compose:material:material-icons-core:material-icons-core-samples", "compose/material/material-icons-core/samples", [BuildType.COMPOSE])
includeProject(":compose:material:material-icons-extended", [BuildType.COMPOSE])
includeProject(":compose:material:material-icons-extended-filled", [BuildType.COMPOSE])
includeProject(":compose:material:material-icons-extended-outlined", [BuildType.COMPOSE])
includeProject(":compose:material:material-icons-extended-rounded", [BuildType.COMPOSE])
includeProject(":compose:material:material-icons-extended-sharp", [BuildType.COMPOSE])
includeProject(":compose:material:material-icons-extended-twotone", [BuildType.COMPOSE])
includeProject(":compose:material:material-ripple", [BuildType.COMPOSE])
includeProject(":compose:material:material:icons:generator", [BuildType.COMPOSE])
includeProject(":compose:material:material:integration-tests:material-demos", [BuildType.COMPOSE])
includeProject(":compose:material:material:integration-tests:material-catalog", [BuildType.COMPOSE])
includeProject(":compose:material3:material3:integration-tests:material3-demos", [BuildType.COMPOSE])
includeProject(":compose:material3:material3:integration-tests:material3-catalog", [BuildType.COMPOSE])
includeProject(":compose:material:material:material-samples", "compose/material/material/samples", [BuildType.COMPOSE])
includeProject(":compose:material3:material3:material3-samples", "compose/material3/material3/samples", [BuildType.COMPOSE])
includeProject(":compose:runtime", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime", [BuildType.COMPOSE, BuildType.KMP])
includeProject(":compose:runtime:runtime-lint", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-livedata", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-livedata:runtime-livedata-samples", "compose/runtime/runtime-livedata/samples", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-tracing", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-rxjava2", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-rxjava2:runtime-rxjava2-samples", "compose/runtime/runtime-rxjava2/samples", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-rxjava3", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-rxjava3:runtime-rxjava3-samples", "compose/runtime/runtime-rxjava3/samples", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-saveable", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-saveable-lint", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime-saveable:runtime-saveable-samples", "compose/runtime/runtime-saveable/samples", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime:benchmark", "compose/runtime/runtime/compose-runtime-benchmark", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime:integration-tests", [BuildType.COMPOSE])
includeProject(":compose:runtime:runtime:runtime-samples", "compose/runtime/runtime/samples", [BuildType.COMPOSE])
includeProject(":compose:test-utils", [BuildType.COMPOSE])
includeProject(":compose:ui", [BuildType.COMPOSE])
includeProject(":compose:ui:ui", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-benchmark", "compose/ui/ui/benchmark", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-android-stubs", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-geometry", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-graphics", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-graphics-lint", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-graphics:ui-graphics-benchmark", "compose/ui/ui-graphics/benchmark", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-graphics:ui-graphics-benchmark:test", "compose/ui/ui-graphics/benchmark/test", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-graphics:ui-graphics-samples", "compose/ui/ui-graphics/samples", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-inspection", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-lint", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-test", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-test:ui-test-samples", "compose/ui/ui-test/samples", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-test-junit4", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-test-manifest", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-test-manifest-lint", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-test-manifest:integration-tests:testapp", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-text", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-text-google-fonts", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-text:ui-text-benchmark", "compose/ui/ui-text/benchmark", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-text:ui-text-samples", "compose/ui/ui-text/samples", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-tooling", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-tooling-data", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-tooling-preview", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-unit", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-unit:ui-unit-samples", "compose/ui/ui-unit/samples", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-util", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-viewbinding", [BuildType.COMPOSE])
includeProject(":compose:ui:ui-viewbinding:ui-viewbinding-samples", "compose/ui/ui-viewbinding/samples", [BuildType.COMPOSE])
includeProject(":compose:ui:ui:integration-tests:ui-demos", [BuildType.COMPOSE])
includeProject(":compose:ui:ui:ui-samples", "compose/ui/ui/samples", [BuildType.COMPOSE])
includeProject(":concurrent:concurrent-futures", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":concurrent:concurrent-futures-ktx", [BuildType.MAIN])
includeProject(":constraintlayout:constraintlayout-compose", [BuildType.COMPOSE])
includeProject(":constraintlayout:constraintlayout-compose-lint", [BuildType.COMPOSE])
includeProject(":constraintlayout:constraintlayout-compose:integration-tests:demos", [BuildType.COMPOSE])
includeProject(":constraintlayout:constraintlayout-compose:integration-tests:macrobenchmark", [BuildType.COMPOSE])
includeProject(":constraintlayout:constraintlayout-compose:integration-tests:macrobenchmark-target", [BuildType.COMPOSE])
includeProject(":constraintlayout:constraintlayout", [BuildType.MAIN])
includeProject(":constraintlayout:constraintlayout-core", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":contentpager:contentpager", [BuildType.MAIN])
includeProject(":coordinatorlayout:coordinatorlayout", [BuildType.MAIN])
includeProject(":core:core", [BuildType.MAIN, BuildType.GLANCE, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":core:core-testing", [BuildType.MAIN, BuildType.GLANCE, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":core:core:integration-tests:publishing", [BuildType.MAIN])
includeProject(":core:core-animation", [BuildType.MAIN])
includeProject(":core:core-animation-integration-tests:testapp", [BuildType.MAIN])
includeProject(":core:core-animation-testing", [BuildType.MAIN])
includeProject(":core:core-appdigest", [BuildType.MAIN])
includeProject(":core:core-google-shortcuts", [BuildType.MAIN])
includeProject(":core:core-i18n", [BuildType.MAIN])
includeProject(":core:core-ktx", [BuildType.MAIN, BuildType.GLANCE, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":core:core-location-altitude", [BuildType.MAIN])
includeProject(":core:core-performance", [BuildType.MAIN])
includeProject(":core:core-performance:core-performance-samples", "core/core-performance/samples", [BuildType.MAIN])
includeProject(":core:core-remoteviews", [BuildType.MAIN, BuildType.GLANCE])
includeProject(":core:core-remoteviews:integration-tests:demos", [BuildType.MAIN, BuildType.GLANCE])
includeProject(":core:core-splashscreen", [BuildType.MAIN])
includeProject(":core:core-splashscreen:core-splashscreen-samples", "core/core-splashscreen/samples", [BuildType.MAIN])
includeProject(":core:core-graphics-integration-tests:core-graphics-integration-tests", "core/core-graphics-integration-tests/testapp", [BuildType.MAIN])
includeProject(":core:core-role", [BuildType.MAIN])
includeProject(":core:uwb:uwb", [BuildType.MAIN])
includeProject(":core:uwb:uwb-rxjava3", [BuildType.MAIN])
includeProject(":credentials:credentials", [BuildType.MAIN])
includeProject(":credentials:credentials-play-services-auth", [BuildType.MAIN])
includeProject(":credentials:credentials-provider", [BuildType.MAIN])
includeProject(":cursoradapter:cursoradapter", [BuildType.MAIN])
includeProject(":customview:customview", [BuildType.MAIN])
includeProject(":customview:customview-poolingcontainer", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":datastore:datastore", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-benchmark", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-core", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-core-okio", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-compose-samples", [BuildType.COMPOSE])
includeProject(":datastore:datastore-preferences", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-preferences-core", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-preferences-proto", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-preferences-rxjava2", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-preferences-rxjava3", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-proto", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-rxjava2", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-rxjava3", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":datastore:datastore-sampleapp", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":documentfile:documentfile", [BuildType.MAIN])
includeProject(":draganddrop:draganddrop", [BuildType.MAIN])
includeProject(":draganddrop:integration-tests:sampleapp", [BuildType.MAIN])
includeProject(":drawerlayout:drawerlayout", [BuildType.MAIN])
includeProject(":dynamicanimation", [BuildType.MAIN])
includeProject(":dynamicanimation:dynamicanimation", [BuildType.MAIN])
includeProject(":dynamicanimation:dynamicanimation-ktx", [BuildType.MAIN])
includeProject(":emoji2:emoji2-emojipicker", [BuildType.MAIN])
includeProject(":emoji2:emoji2-emojipicker:emoji2-emojipicker-samples", "emoji2/emoji2-emojipicker/samples",  [BuildType.MAIN])
includeProject(":emoji:emoji", [BuildType.MAIN])
includeProject(":emoji:emoji-appcompat", [BuildType.MAIN])
includeProject(":emoji:emoji-bundled", [BuildType.MAIN])
includeProject(":emoji2:emoji2", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":emoji2:emoji2-bundled", [BuildType.MAIN])
includeProject(":emoji2:emoji2-views", [BuildType.MAIN])
includeProject(":emoji2:emoji2-views-helper", [BuildType.MAIN])
includeProject(":emoji2:emoji2-benchmark", [BuildType.MAIN])
includeProject(":emoji2:integration-tests:init-disabled-macrobenchmark", [BuildType.MAIN])
includeProject(":emoji2:integration-tests:init-disabled-macrobenchmark-target", [BuildType.MAIN])
includeProject(":emoji2:integration-tests:init-enabled-macrobenchmark", [BuildType.MAIN])
includeProject(":emoji2:integration-tests:init-enabled-macrobenchmark-target", [BuildType.MAIN])
includeProject(":enterprise:enterprise-feedback", [BuildType.MAIN])
includeProject(":enterprise:enterprise-feedback-testing", [BuildType.MAIN])
includeProject(":exifinterface:exifinterface", [BuildType.MAIN])
includeProject(":fragment:fragment", [BuildType.MAIN, BuildType.FLAN])
includeProject(":fragment:fragment-ktx", [BuildType.MAIN, BuildType.FLAN])
includeProject(":fragment:fragment-lint", [BuildType.MAIN, BuildType.FLAN])
includeProject(":fragment:fragment-testing", [BuildType.MAIN, BuildType.FLAN])
includeProject(":fragment:fragment-testing-lint", [BuildType.MAIN, BuildType.FLAN])
includeProject(":fragment:fragment-testing-manifest", [BuildType.MAIN, BuildType.FLAN])
includeProject(":fragment:fragment-testing-manifest-lint", [BuildType.MAIN, BuildType.FLAN])
includeProject(":fragment:fragment-truth", [BuildType.MAIN, BuildType.FLAN])
includeProject(":fragment:integration-tests:testapp", [BuildType.MAIN, BuildType.FLAN])
includeProject(":glance:glance", [BuildType.GLANCE])
includeProject(":glance:glance-appwidget", [BuildType.GLANCE])
includeProject(":glance:glance-appwidget-preview", [BuildType.GLANCE])
includeProject(":glance:glance-appwidget-proto", [BuildType.GLANCE])
includeProject(":glance:glance-appwidget:glance-appwidget-samples", "glance/glance-appwidget/samples", [BuildType.GLANCE])
includeProject(":glance:glance-appwidget:integration-tests:demos", [BuildType.GLANCE])
includeProject(":glance:glance-appwidget:integration-tests:macrobenchmark", [BuildType.GLANCE])
includeProject(":glance:glance-appwidget:integration-tests:macrobenchmark-target", [BuildType.GLANCE])
includeProject(":glance:glance-appwidget:glance-layout-generator", [BuildType.GLANCE])
includeProject(":glance:glance-preview", [BuildType.GLANCE])
includeProject(":glance:glance-material", [BuildType.GLANCE])
includeProject(":glance:glance-material3", [BuildType.GLANCE])
includeProject(":glance:glance-template", [BuildType.GLANCE])
includeProject(":glance:glance-template:integration-tests:template-demos", [BuildType.GLANCE])
includeProject(":glance:glance-wear-tiles:integration-tests:demos", [BuildType.GLANCE])
includeProject(":glance:glance-wear-tiles:integration-tests:template-demos", [BuildType.GLANCE])
includeProject(":glance:glance-wear-tiles", [BuildType.GLANCE])
includeProject(":glance:glance-wear-tiles-preview", [BuildType.GLANCE])
includeProject(":graphics:filters:filters", [BuildType.MAIN])
includeProject(":graphics:graphics-core", [BuildType.MAIN])
includeProject(":graphics:graphics-shapes", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":graphics:integration-tests:testapp", [BuildType.MAIN])
includeProject(":graphics:integration-tests:testapp-compose", [BuildType.COMPOSE])
includeProject(":gridlayout:gridlayout", [BuildType.MAIN])
includeProject(":health:connect:connect-client", [BuildType.MAIN])
includeProject(":health:connect:connect-client-proto", [BuildType.MAIN])
includeProject(":health:connect:connect-client-samples", "health/connect/connect-client/samples", [BuildType.MAIN])
includeProject(":health:health-services-client", [BuildType.MAIN])
includeProject(":heifwriter:heifwriter", [BuildType.MAIN])
includeProject(":hilt:hilt-common", [BuildType.MAIN])
includeProject(":hilt:hilt-compiler", [BuildType.MAIN])
includeProject(":hilt:hilt-navigation", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":hilt:hilt-navigation-compose", [BuildType.COMPOSE])
includeProject(":hilt:hilt-navigation-compose-samples", "hilt/hilt-navigation-compose/samples", [BuildType.COMPOSE])
includeProject(":hilt:hilt-navigation-fragment", [BuildType.MAIN])
includeProject(":hilt:hilt-work", [BuildType.MAIN])
includeProject(":hilt:integration-tests:hilt-testapp-viewmodel", "hilt/integration-tests/viewmodelapp", [BuildType.MAIN])
includeProject(":hilt:integration-tests:hilt-testapp-worker", "hilt/integration-tests/workerapp", [BuildType.MAIN])
includeProject(":input:input-motionprediction", [BuildType.MAIN])
includeProject(":inspection:inspection", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":inspection:inspection-gradle-plugin", [BuildType.MAIN])
includeProject(":inspection:inspection-testing", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":interpolator:interpolator", [BuildType.MAIN])
includeProject(":javascriptengine:javascriptengine", [BuildType.MAIN])
includeProject(":leanback:leanback", [BuildType.MAIN])
includeProject(":leanback:leanback-grid", [BuildType.MAIN])
includeProject(":leanback:leanback-paging", [BuildType.MAIN])
includeProject(":leanback:leanback-preference", [BuildType.MAIN])
includeProject(":leanback:leanback-tab", [BuildType.MAIN])
includeProject(":lifecycle:integration-tests:incrementality", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:integration-tests:lifecycle-testapp", "lifecycle/integration-tests/testapp", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:integration-tests:lifecycle-testapp-kotlin", "lifecycle/integration-tests/kotlintestapp", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:lifecycle-common", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-common-java8", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-compiler", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:lifecycle-extensions", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:lifecycle-livedata", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-livedata-core", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-livedata-core-ktx", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-livedata-core-ktx-lint", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-livedata-core-truth", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:lifecycle-livedata-ktx", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-process", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:lifecycle-reactivestreams", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:lifecycle-reactivestreams-ktx", [BuildType.MAIN, BuildType.FLAN])
includeProject(":lifecycle:lifecycle-runtime", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-runtime-compose", [BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-runtime-compose:lifecycle-runtime-compose-samples", "lifecycle/lifecycle-runtime-compose/samples", [BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-runtime-compose:integration-tests:lifecycle-runtime-compose-demos", [BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-runtime-ktx", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-runtime-ktx-lint", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-runtime-testing", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-service", [BuildType.MAIN, BuildType.FLAN, BuildType.GLANCE])
includeProject(":lifecycle:lifecycle-viewmodel", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-viewmodel-compose", [BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-viewmodel-compose:lifecycle-viewmodel-compose-samples", "lifecycle/lifecycle-viewmodel-compose/samples", [BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-viewmodel-compose:integration-tests:lifecycle-viewmodel-demos", [BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-viewmodel-ktx", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lifecycle:lifecycle-viewmodel-savedstate", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":lint-checks")
includeProject(":lint-checks:integration-tests")
includeProject(":loader:loader", [BuildType.MAIN])
includeProject(":loader:loader-ktx", [BuildType.MAIN])
includeProject(":media2:integration-tests:testapp", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-common", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-exoplayer", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-player", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-session", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-widget", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media:media", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":mediarouter:mediarouter", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":mediarouter:mediarouter-testing", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":metrics:metrics-performance", [BuildType.MAIN])
includeProject(":metrics:metrics-benchmark", [BuildType.MAIN])
includeProject(":metrics:metrics-integration-tests", "metrics/integration-tests", [BuildType.MAIN])
includeProject(":metrics:metrics-integration-tests:janktest", "metrics/integration-tests/janktest", [BuildType.MAIN])
includeProject(":navigation:navigation-benchmark", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-common", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":navigation:navigation-common-ktx", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":navigation:navigation-common-lint", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":navigation:navigation-compose", [BuildType.COMPOSE])
includeProject(":navigation:navigation-compose:navigation-compose-samples", "navigation/navigation-compose/samples", [BuildType.COMPOSE])
includeProject(":navigation:navigation-compose:integration-tests:navigation-demos", [BuildType.COMPOSE])
includeProject(":navigation:navigation-compose-lint", [BuildType.COMPOSE])
includeProject(":navigation:navigation-dynamic-features-fragment", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-dynamic-features-runtime", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-fragment", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-fragment-ktx", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-integration-tests", "navigation/integration-tests", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-integration-tests:testapp", "navigation/integration-tests/testapp", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-runtime", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":navigation:navigation-runtime-lint", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":navigation:navigation-runtime-ktx", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":navigation:navigation-runtime-truth", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-safe-args-generator", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-safe-args-gradle-plugin", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-testing", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":navigation:navigation-ui", [BuildType.MAIN, BuildType.FLAN])
includeProject(":navigation:navigation-ui-ktx", [BuildType.MAIN, BuildType.FLAN])
includeProject(":paging:integration-tests:testapp", [BuildType.MAIN])
includeProject(":paging:paging-common", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":paging:paging-common-ktx", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":paging:paging-compose", [BuildType.COMPOSE])
includeProject(":paging:paging-compose:paging-compose-samples", "paging/paging-compose/samples", [BuildType.COMPOSE])
includeProject(":paging:paging-compose:integration-tests:paging-demos", [BuildType.COMPOSE])
includeProject(":paging:paging-guava", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":paging:paging-runtime", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":paging:paging-runtime-ktx", [BuildType.MAIN])
includeProject(":paging:paging-rxjava2", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":paging:paging-rxjava2-ktx", [BuildType.MAIN])
includeProject(":paging:paging-rxjava3", [BuildType.MAIN])
includeProject(":paging:paging-samples", "paging/samples", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":paging:paging-testing", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":palette:palette", [BuildType.MAIN])
includeProject(":palette:palette-ktx", [BuildType.MAIN])
includeProject(":percentlayout:percentlayout", [BuildType.MAIN])
includeProject(":preference:preference", [BuildType.MAIN])
includeProject(":preference:preference-ktx", [BuildType.MAIN])
includeProject(":print:print", [BuildType.MAIN])
includeProject(":privacysandbox:ads:ads-adservices", [BuildType.MAIN])
includeProject(":privacysandbox:ads:ads-adservices-java", [BuildType.MAIN])
includeProject(":privacysandbox:plugins:plugins-privacysandbox-library", [BuildType.MAIN])
includeProject(":privacysandbox:sdkruntime:sdkruntime-client", [BuildType.MAIN])
includeProject(":privacysandbox:sdkruntime:sdkruntime-core", [BuildType.MAIN])
includeProject(":privacysandbox:tools:tools", [BuildType.MAIN])
includeProject(":privacysandbox:tools:tools-apicompiler", [BuildType.MAIN])
includeProject(":privacysandbox:tools:tools-apigenerator", [BuildType.MAIN])
includeProject(":privacysandbox:tools:tools-apipackager", [BuildType.MAIN])
includeProject(":privacysandbox:tools:tools-core", [BuildType.MAIN])
includeProject(":privacysandbox:tools:tools-testing", [BuildType.MAIN])
includeProject(":privacysandbox:ui:integration-tests:testaidl", [BuildType.MAIN])
includeProject(":privacysandbox:ui:integration-tests:testapp", [BuildType.MAIN])
includeProject(":privacysandbox:ui:integration-tests:testsdkprovider", [BuildType.MAIN])
includeProject(":privacysandbox:ui:ui-client", [BuildType.MAIN])
includeProject(":privacysandbox:ui:ui-core", [BuildType.MAIN])
includeProject(":privacysandbox:ui:ui-provider", [BuildType.MAIN])
includeProject(":privacysandbox:ui:ui-tests", [BuildType.MAIN])
includeProject(":profileinstaller:profileinstaller", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":profileinstaller:integration-tests:profile-verification", [BuildType.MAIN])
includeProject(":profileinstaller:integration-tests:profile-verification-sample", [BuildType.MAIN])
includeProject(":profileinstaller:integration-tests:profile-verification-sample-no-initializer", [BuildType.MAIN])
includeProject(":profileinstaller:integration-tests:init-macrobenchmark", [BuildType.MAIN])
includeProject(":profileinstaller:integration-tests:init-macrobenchmark-target", [BuildType.MAIN])
includeProject(":profileinstaller:profileinstaller-benchmark", [BuildType.MAIN])
includeProject(":recommendation:recommendation", [BuildType.MAIN])
includeProject(":recyclerview:recyclerview", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":recyclerview:recyclerview-benchmark", [BuildType.MAIN])
includeProject(":recyclerview:recyclerview-lint", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":recyclerview:recyclerview-selection", [BuildType.MAIN])
includeProject(":remotecallback:remotecallback", [BuildType.MAIN])
includeProject(":remotecallback:remotecallback-processor", "remotecallback/processor", [BuildType.MAIN])
includeProject(":resourceinspection:resourceinspection-annotation")
includeProject(":resourceinspection:resourceinspection-processor", [BuildType.MAIN])
includeProject(":room:integration-tests:room-incremental-annotation-processing", "room/integration-tests/incremental-annotation-processing", [BuildType.MAIN])
includeProject(":room:integration-tests:room-testapp", "room/integration-tests/testapp", [BuildType.MAIN])
includeProject(":room:integration-tests:room-testapp-autovalue", "room/integration-tests/autovaluetestapp", [BuildType.MAIN])
includeProject(":room:integration-tests:room-testapp-kotlin", "room/integration-tests/kotlintestapp", [BuildType.MAIN])
includeProject(":room:integration-tests:room-testapp-noappcompat", "room/integration-tests/noappcompattestapp", [BuildType.MAIN])
includeProject(":room:room-benchmark", "room/benchmark", [BuildType.MAIN])
includeProject(":room:room-common", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":room:room-compiler", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":room:room-compiler-processing", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN])
includeProject(":room:room-compiler-processing-testing", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN])
includeProject(":room:room-guava", [BuildType.MAIN])
includeProject(":room:room-gradle-plugin", [BuildType.MAIN])
includeProject(":room:room-ktx", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":room:room-migration", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":room:room-paging", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":room:room-paging-guava", [BuildType.MAIN])
includeProject(":room:room-paging-rxjava2", [BuildType.MAIN])
includeProject(":room:room-paging-rxjava3", [BuildType.MAIN])
includeProject(":room:room-runtime", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":room:room-runtime-lint", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":room:room-rxjava2", [BuildType.MAIN])
includeProject(":room:room-rxjava3", [BuildType.MAIN])
includeProject(":room:room-testing", [BuildType.MAIN])
includeProject(":savedstate:savedstate", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN])
includeProject(":savedstate:savedstate-ktx", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN])
includeProject(":security:security-app-authenticator", [BuildType.MAIN])
includeProject(":security:security-app-authenticator-testing", [BuildType.MAIN])
includeProject(":security:security-biometric", [BuildType.MAIN])
includeProject(":security:security-crypto", [BuildType.MAIN])
includeProject(":security:security-crypto-ktx", [BuildType.MAIN])
includeProject(":security:security-identity-credential", [BuildType.MAIN])
includeProject(":sharetarget:integration-tests:testapp", [BuildType.MAIN])
includeProject(":sharetarget:sharetarget", [BuildType.MAIN])
includeProject(":slice:slice-benchmark", [BuildType.MAIN])
includeProject(":slice:slice-builders", [BuildType.MAIN])
includeProject(":slice:slice-builders-ktx", [BuildType.MAIN])
includeProject(":slice:slice-core", [BuildType.MAIN])
includeProject(":slice:slice-remotecallback", [BuildType.MAIN])
includeProject(":slice:slice-test", [BuildType.MAIN])
includeProject(":slice:slice-view", [BuildType.MAIN])
includeProject(":slidingpanelayout:slidingpanelayout", [BuildType.MAIN, BuildType.FLAN])
includeProject(":sqlite:integration-tests:inspection-room-testapp", [BuildType.MAIN])
includeProject(":sqlite:integration-tests:inspection-sqldelight-testapp", [BuildType.MAIN])
includeProject(":sqlite:sqlite", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":sqlite:sqlite-framework", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":sqlite:sqlite-inspection", [BuildType.MAIN])
includeProject(":sqlite:sqlite-ktx", [BuildType.MAIN])
includeProject(":startup:integration-tests:first-library", [BuildType.MAIN])
includeProject(":startup:integration-tests:second-library", [BuildType.MAIN])
includeProject(":startup:integration-tests:test-app", [BuildType.MAIN])
includeProject(":startup:startup-runtime", [BuildType.MAIN])
includeProject(":startup:startup-runtime-lint", [BuildType.MAIN])
includeProject(":swiperefreshlayout:swiperefreshlayout", [BuildType.MAIN])
includeProject(":test:ext:junit-gtest", [BuildType.NATIVE])
includeProject(":test:integration-tests:junit-gtest-test", [BuildType.NATIVE])
includeProject(":test:screenshot:screenshot")
includeProject(":test:screenshot:screenshot-proto")
includeProject(":test:uiautomator:uiautomator", [BuildType.MAIN])
includeProject(":test:uiautomator:integration-tests:testapp", [BuildType.MAIN])
includeProject(":text:text", [BuildType.COMPOSE])
includeProject(":tracing:tracing")
includeProject(":tracing:tracing-ktx")
includeProject(":tracing:tracing-perfetto")
includeProject(":tracing:tracing-perfetto-binary")
includeProject(":tracing:tracing-perfetto-common")
includeProject(":transition:transition", [BuildType.MAIN, BuildType.FLAN])
includeProject(":transition:transition-ktx", [BuildType.MAIN, BuildType.FLAN])
includeProject(":tv:tv-foundation", [BuildType.COMPOSE])
includeProject(":tv:tv-material", [BuildType.COMPOSE])
includeProject(":tv:integration-tests:playground", [BuildType.COMPOSE])
includeProject(":tv:integration-tests:presentation", [BuildType.COMPOSE])
includeProject(":tv:tv-samples", "tv/samples", [BuildType.COMPOSE])
includeProject(":tvprovider:tvprovider", [BuildType.MAIN])
includeProject(":vectordrawable:integration-tests:testapp", [BuildType.MAIN])
includeProject(":vectordrawable:vectordrawable", [BuildType.MAIN])
includeProject(":vectordrawable:vectordrawable-animated", [BuildType.MAIN])
includeProject(":vectordrawable:vectordrawable-seekable", [BuildType.MAIN])
includeProject(":versionedparcelable:versionedparcelable", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":versionedparcelable:versionedparcelable-compiler", [BuildType.MAIN, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":viewpager2:integration-tests:testapp", [BuildType.MAIN])
includeProject(":viewpager2:integration-tests:targetsdk-tests", [BuildType.MAIN])
includeProject(":viewpager2:viewpager2", [BuildType.MAIN])
includeProject(":viewpager:viewpager", [BuildType.MAIN])
includeProject(":wear:protolayout:protolayout", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:protolayout:protolayout-expression", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:protolayout:protolayout-expression-pipeline", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:protolayout:protolayout-material", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:protolayout:protolayout-proto", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:protolayout:protolayout-renderer", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:wear", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:benchmark:integration-tests:macrobenchmark-target", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":wear:benchmark:integration-tests:macrobenchmark", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":wear:compose:compose-foundation", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-foundation-benchmark", "wear/compose/compose-foundation/benchmark", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-foundation-samples", "wear/compose/compose-foundation/samples", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-material", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-material3", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-material-benchmark", "wear/compose/compose-material/benchmark", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-material3-benchmark", "wear/compose/compose-material3/benchmark", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-material-core", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-material-samples", "wear/compose/compose-material/samples", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-material3-integration-tests", "wear/compose/compose-material3/integration-tests", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-material3-samples", "wear/compose/compose-material3/samples", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-navigation", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-navigation-samples", "wear/compose/compose-navigation/samples", [BuildType.COMPOSE])
includeProject(":wear:compose:compose-ui-tooling", [BuildType.COMPOSE])
includeProject(":wear:compose:integration-tests:demos", [BuildType.COMPOSE])
includeProject(":wear:compose:integration-tests:demos:common", [BuildType.COMPOSE])
includeProject(":wear:compose:integration-tests:macrobenchmark", [BuildType.COMPOSE])
includeProject(":wear:compose:integration-tests:macrobenchmark-target", [BuildType.COMPOSE])
includeProject(":wear:compose:integration-tests:navigation", [BuildType.COMPOSE])
includeProject(":wear:wear-input", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:wear-input-samples", "wear/wear-input/samples", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:wear-input-testing", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:wear-ongoing", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:wear-phone-interactions", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:wear-remote-interactions", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:wear-samples-ambient", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:tiles:tiles", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:tiles:tiles-material", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:tiles:tiles-proto", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:tiles:tiles-renderer", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:tiles:tiles-testing", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:tiles:tiles-tooling", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-complications", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-complications-permission-dialogs-sample", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-complications-data", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-complications-data-source", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-complications-data-source-ktx", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-complications-data-source-samples", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-complications-rendering", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-client", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-client-guava", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-data", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-editor", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-editor-guava", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-editor-samples", "wear/watchface/watchface-editor/samples", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-guava", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-samples", "wear/watchface/watchface/samples", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-samples-app", "wear/watchface/watchface/samples/app", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-samples-minimal", "wear/watchface/watchface/samples/minimal", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-samples-minimal-complications", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-samples-minimal-instances", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-samples-minimal-style", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-style", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-style-old-api-test-service", "wear/watchface/watchface-style/old-api-test-service", [BuildType.MAIN, BuildType.WEAR])
includeProject(":wear:watchface:watchface-style-old-api-test-stub", "wear/watchface/watchface-style/old-api-test-stub", [BuildType.MAIN, BuildType.WEAR])
includeProject(":webkit:integration-tests:testapp", [BuildType.MAIN])
includeProject(":webkit:webkit", [BuildType.MAIN])
includeProject(":window:window", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:window-samples", "window/window/samples", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:extensions:extensions", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:extensions:core:core", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:integration-tests:configuration-change-tests", [BuildType.MAIN, BuildType.WINDOW])
includeProject(":window:sidecar:sidecar", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:window-java", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:window-core", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:window-rxjava2", [BuildType.MAIN, BuildType.WINDOW])
includeProject(":window:window-rxjava3", [BuildType.MAIN, BuildType.WINDOW])
includeProject(":window:window-demos:demo", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:window-demos:demo-common", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:window-demos:demo-second-app", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":window:window-testing", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN, BuildType.WINDOW])
includeProject(":work:integration-tests:testapp", [BuildType.MAIN])
includeProject(":work:work-benchmark", [BuildType.MAIN])
includeProject(":work:work-gcm", [BuildType.MAIN])
includeProject(":work:work-inspection", [BuildType.MAIN])
includeProject(":work:work-multiprocess", [BuildType.MAIN])
includeProject(":work:work-runtime", [BuildType.MAIN])
includeProject(":work:work-runtime-ktx", [BuildType.MAIN])
includeProject(":work:work-runtime-lint", "work/work-lint", [BuildType.MAIN])
includeProject(":work:work-rxjava2", [BuildType.MAIN])
includeProject(":work:work-rxjava3", [BuildType.MAIN])
includeProject(":work:work-testing", [BuildType.MAIN])

/////////////////////////////
//
// Plugins
//
/////////////////////////////

includeProject(":stableaidl:stableaidl-gradle-plugin", [BuildType.MAIN])

/////////////////////////////
//
// Samples
//
/////////////////////////////

File samplesRoot = new File(rootDir, "samples")

// Note: don't add new samples/ apps. Instead, Create
// <module>/integration-tests/testapp in the "Libraries" section above.
includeProject(":androidx-demos", new File(samplesRoot, "AndroidXDemos"), [BuildType.MAIN])
includeProject(":media-routing-demo", new File(samplesRoot, "MediaRoutingDemo"), [BuildType.MAIN, BuildType.MEDIA])
includeProject(":support-animation-demos", new File(samplesRoot, "SupportAnimationDemos"), [BuildType.MAIN])
includeProject(":support-content-demos", new File(samplesRoot, "SupportContentDemos"), [BuildType.MAIN])
includeProject(":support-emoji-demos", new File(samplesRoot, "SupportEmojiDemos"), [BuildType.MAIN])
includeProject(":support-leanback-demos", new File(samplesRoot, "SupportLeanbackDemos"), [BuildType.MAIN])
includeProject(":support-preference-demos", new File(samplesRoot, "SupportPreferenceDemos"), [BuildType.MAIN])
includeProject(":support-remotecallback-demos", new File(samplesRoot, "SupportRemoteCallbackDemos"), [BuildType.MAIN])
includeProject(":support-slices-demos", new File(samplesRoot, "SupportSliceDemos"), [BuildType.MAIN])
includeProject(":support-transition-demos", new File(samplesRoot, "SupportTransitionDemos"), [BuildType.MAIN])
includeProject(":support-v4-demos", new File(samplesRoot, "Support4Demos"), [BuildType.MAIN])
includeProject(":support-wear-demos", new File(samplesRoot, "SupportWearDemos"), [BuildType.MAIN])

/////////////////////////////
//
// Testing libraries
//
/////////////////////////////

includeProject(":internal-testutils-common", "testutils/testutils-common", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN])
includeProject(":internal-testutils-datastore", "testutils/testutils-datastore", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP])
includeProject(":internal-testutils-runtime", "testutils/testutils-runtime", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE, BuildType.MEDIA, BuildType.WEAR])
includeProject(":internal-testutils-appcompat", "testutils/testutils-appcompat", [BuildType.MAIN])
includeProject(":internal-testutils-espresso", "testutils/testutils-espresso", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":internal-testutils-fonts", "testutils/testutils-fonts", [BuildType.MAIN, BuildType.GLANCE, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE])
includeProject(":internal-testutils-truth", "testutils/testutils-truth")
includeProject(":internal-testutils-ktx", "testutils/testutils-ktx")
includeProject(":internal-testutils-kmp", "testutils/testutils-kmp", [BuildType.MAIN, BuildType.INFRAROGUE, BuildType.KMP, BuildType.COMPOSE])
includeProject(":internal-testutils-macrobenchmark", "testutils/testutils-macrobenchmark", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":internal-testutils-navigation", "testutils/testutils-navigation", [BuildType.MAIN, BuildType.COMPOSE, BuildType.FLAN])
includeProject(":internal-testutils-paging", "testutils/testutils-paging", [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":internal-testutils-paparazzi", "testutils/testutils-paparazzi", [BuildType.COMPOSE])
includeProject(":internal-testutils-gradle-plugin", "testutils/testutils-gradle-plugin", [BuildType.MAIN, BuildType.FLAN, BuildType.COMPOSE, BuildType.TOOLS])
includeProject(":internal-testutils-mockito", "testutils/testutils-mockito", [BuildType.MAIN, BuildType.MEDIA, BuildType.FLAN, BuildType.COMPOSE])

/////////////////////////////
//
// Applications and libraries for tests
//
/////////////////////////////
includeProject(":media:version-compat-tests:client",
        "media/version-compat-tests/current/client", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media:version-compat-tests:client-previous",
        "media/version-compat-tests/previous/client", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media:version-compat-tests:service",
        "media/version-compat-tests/current/service", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media:version-compat-tests:service-previous",
        "media/version-compat-tests/previous/service", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media:version-compat-tests:lib", [BuildType.MAIN, BuildType.MEDIA])

includeProject(":media2:media2-session:version-compat-tests:client",
        "media2/media2-session/version-compat-tests/current/client", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-session:version-compat-tests:client-previous",
        "media2/media2-session/version-compat-tests/previous/client", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-session:version-compat-tests:service",
        "media2/media2-session/version-compat-tests/current/service", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-session:version-compat-tests:service-previous",
        "media2/media2-session/version-compat-tests/previous/service", [BuildType.MAIN, BuildType.MEDIA])
includeProject(":media2:media2-session:version-compat-tests:common", [BuildType.MAIN, BuildType.MEDIA])

/////////////////////////////
//
// External
//
/////////////////////////////

File externalRoot = new File(rootDir, "../../external")

includeProject(":icing", new File(externalRoot, "icing"), [BuildType.MAIN])
includeProject(":icing:nativeLib", new File(externalRoot, "icing/nativeLib"), [BuildType.MAIN])
includeProject(":external:libyuv", [BuildType.CAMERA])
includeProject(":noto-emoji-compat-font", new File(externalRoot, "noto-fonts/emoji-compat"), [BuildType.MAIN])
includeProject(":noto-emoji-compat-flatbuffers", new File(externalRoot, "noto-fonts/emoji-compat-flatbuffers"), [BuildType.MAIN, BuildType.COMPOSE])
includeProject(":external:paparazzi:paparazzi", [BuildType.COMPOSE])
includeProject(":external:paparazzi:paparazzi-agent", [BuildType.COMPOSE])

if (isAllProjects()) {
    includeProject(":docs-tip-of-tree")
    includeProject(":docs-public")
}

includeProject(":docs-kmp", [BuildType.KMP, BuildType.INFRAROGUE])
// placeholder test project that has a test for each size to ensure that at least one test is run
// for each size and test runner is happy when there is nothing to test.
includeProject(":placeholder-tests")

// Workaround for b/203825166
includeBuild("placeholder")

// ---------------------------------------------------------------------
// --- there should be no includeProject additions after this line -----
// ---------------------------------------------------------------------

// For a given project path add the transitive project references to the include set.
void addReferences(String projectPath, Set<String> included) {
    if (projectPath in included) return
    included.add(projectPath)
    for (reference in projectReferences[projectPath]) {
        addReferences(reference, included)
    }
}

void includeRequestedProjectsAndDependencies() {
    // Adding by including `:foo:bar` Gradle will automatically load `:foo`, so we need to
    // add those implicit parent project references.
    for (projectPath in projectReferences.keySet()) {
        Set<String> newReferences = new HashSet<>()
        for (reference in projectReferences[projectPath]) {
            String[] segments = reference.substring(1).split(":")
            String subpath = ""
            for (int i = 0; i < segments.length; i++) {
                subpath += ":" + segments[i]
                if (allProjects.containsKey(subpath)) {
                    newReferences.add(subpath)
                }
            }
        }
        projectReferences[projectPath].addAll(newReferences)
    }

    Set<String> projectsToInclude = new HashSet<>()
    for (filteredProject in filteredProjects) {
        addReferences(filteredProject, projectsToInclude)
    }
    for (entry in projectsToInclude) {
        settings.include(entry)
        project(entry).projectDir = allProjects[entry]
    }
}

includeRequestedProjectsAndDependencies()
