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())

        // Do not publish scan for androidx-platform-dev
        // 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-play-services-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-internal")
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-location-altitude-proto", [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:core-telecom", [BuildType.MAIN])
includeProject(":core:core-telecom:integration-tests:testapp", [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-path", [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-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: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-datatransfer", [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()
