pluginManagement {
    repositories {
        maven {
            url = new File(buildscript.sourceFile.parent + "/../../prebuilts/androidx/external").getCanonicalFile()
        }
    }
}

rootProject.name = "androidx"

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


// 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(name, filePath) {
    settings.include(name)

    def file
    if (filePath instanceof String) {
        file = new File(rootDir, filePath)
    } else {
        file = filePath
    }
    if (!file.exists()) {
        throw new Exception("Path " + file + " does not exist; cannot include project " + name)
    }
    project(name).projectDir = file
}


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

includeProject(":activity:activity", "activity/activity")
includeProject(":activity:activity-ktx", "activity/activity-ktx")
includeProject(":activity:integration-tests:testapp", "activity/integration-tests/testapp")
includeProject(":ads-identifier", "ads/ads-identifier")
includeProject(":ads-identifier:integration-tests:testapp", "ads/ads-identifier/integration-tests/testapp")
includeProject(":ads-identifier-benchmark", "ads/ads-identifier-benchmark")
includeProject(":ads-identifier-common", "ads/ads-identifier-common")
includeProject(":ads-identifier-provider", "ads/ads-identifier-provider")
includeProject(":ads-identifier-provider:integration-tests:testapp", "ads/ads-identifier-provider/integration-tests/testapp")
includeProject(":ads-identifier-testing", "ads/ads-identifier-testing")
includeProject(":annotation:annotation", "annotation/annotation")
includeProject(":annotation:annotation-sampled", "annotation/annotation-sampled")
includeProject(":annotation:annotation-experimental", "annotation/annotation-experimental")
includeProject(":annotation:annotation-experimental-lint", "annotation/annotation-experimental-lint")
includeProject(":annotation:annotation-experimental-lint-integration-tests", "annotation/annotation-experimental-lint/integration-tests")
includeProject(":animation:animation", "animation/animation")
includeProject(":animation:animation-testing", "animation/animation-testing")
includeProject(":animation:integration-tests:testapp", "animation/integration-tests/testapp")
includeProject(":appcompat:appcompat", "appcompat/appcompat")
includeProject(":appcompat:appcompat-benchmark", "appcompat/appcompat-benchmark")
includeProject(":appcompat:appcompat-lint", "appcompat/appcompat-lint")
includeProject(":appcompat:appcompat-resources", "appcompat/appcompat-resources")
includeProject(":appsearch:appsearch", "appsearch/appsearch")
includeProject(":arch:core-common", "arch/core-common")
includeProject(":arch:core-testing", "arch/core-testing")
includeProject(":arch:core-runtime", "arch/core-runtime")
includeProject(":asynclayoutinflater:asynclayoutinflater", "asynclayoutinflater/asynclayoutinflater")
includeProject(":autofill:autofill", "autofill/autofill")
includeProject(":benchmark:benchmark-common", "benchmark/common")
includeProject(":benchmark:benchmark-junit4", "benchmark/junit4")
includeProject(":benchmark:benchmark-benchmark", "benchmark/benchmark")
includeProject(":benchmark:benchmark-gradle-plugin", "benchmark/gradle-plugin")
includeProject(":benchmark:integration-tests:dry-run-benchmark", "benchmark/integration-tests/dry-run-benchmark")
includeProject(":benchmark:integration-tests:startup-benchmark", "benchmark/integration-tests/startup-benchmark")
includeProject(":biometric:biometric", "biometric/biometric")
includeProject(":browser:browser", "browser/browser")
includeProject(":buildSrc-tests", "buildSrc-tests")
includeProject(":camera:camera-camera2", "camera/camera-camera2")
includeProject(":camera:camera-core", "camera/camera-core")
includeProject(":camera:camera-extensions", "camera/camera-extensions")
includeProject(":camera:camera-extensions-stub", "camera/camera-extensions-stub")
includeProject(":camera:camera-lifecycle", "camera/camera-lifecycle")
includeProject(":camera:camera-testing", "camera/camera-testing")
includeProject(":camera:camera-view", "camera/camera-view")
includeProject(":camera:integration-tests:camera-testapp-core", "camera/integration-tests/coretestapp")
includeProject(":camera:integration-tests:camera-testapp-extensions", "camera/integration-tests/extensionstestapp")
includeProject(":camera:integration-tests:camera-testapp-timing", "camera/integration-tests/timingtestapp")
includeProject(":camera:integration-tests:camera-testapp-view", "camera/integration-tests/viewtestapp")
includeProject(":camera:integration-tests:camera-testlib-extensions", "camera/integration-tests/extensionstestlib")
includeProject(":car", "car/core")
includeProject(":car-moderator", "car/moderator")
includeProject(":cardview:cardview", "cardview/cardview")
includeProject(":collection:collection", "collection/collection")
includeProject(":collection:collection-ktx", "collection/collection-ktx")
includeProject(":concurrent:concurrent-futures", "concurrent/futures")
includeProject(":concurrent:concurrent-futures-ktx", "concurrent/futures-ktx")
includeProject(":contentaccess", "contentaccess")
includeProject(":contentpager:contentpager", "contentpager/contentpager")
includeProject(":coordinatorlayout:coordinatorlayout", "coordinatorlayout/coordinatorlayout")
includeProject(":core:core", "core/core")
includeProject(":core:core-ktx", "core/core-ktx")
includeProject(":core-role", "core/core-role")
includeProject(":cursoradapter:cursoradapter", "cursoradapter/cursoradapter")
includeProject(":customview:customview", "customview/customview")
includeProject(":documentfile:documentfile", "documentfile/documentfile")
includeProject(":drawerlayout:drawerlayout", "drawerlayout/drawerlayout")
includeProject(":dynamicanimation:dynamicanimation", "dynamic-animation/dynamic-animation")
includeProject(":dynamicanimation:dynamicanimation-ktx", "dynamic-animation/dynamic-animation-ktx")
includeProject(":emoji", "emoji/core")
includeProject(":emoji-bundled", "emoji/bundled")
includeProject(":emoji-appcompat", "emoji/appcompat")
includeProject(":enterprise-feedback", "enterprise/feedback")
includeProject(":enterprise-feedback-testing", "enterprise/feedback/testing")
includeProject(":exifinterface:exifinterface", "exifinterface/exifinterface")
includeProject(":fragment:fragment", "fragment/fragment")
includeProject(":fragment:fragment-ktx", "fragment/fragment-ktx")
includeProject(":fragment:fragment-lint", "fragment/fragment-lint")
includeProject(":fragment:fragment-testing", "fragment/fragment-testing")
includeProject(":fragment:fragment-testing-lint", "fragment/fragment-testing-lint")
includeProject(":fragment:fragment-truth", "fragment/fragment-truth")
includeProject(":fakeannotations", "fakeannotations")
includeProject(":gridlayout:gridlayout", "gridlayout/gridlayout")
includeProject(":heifwriter:heifwriter", "heifwriter/heifwriter")
includeProject(":inspection:inspection", "inspection/inspection")
includeProject(":inspection:inspection-gradle-plugin", "inspection/inspection-gradle-plugin")
includeProject(":inspection:inspection-testing", "inspection/inspection-testing")
includeProject(":interpolator:interpolator", "interpolator/interpolator")
includeProject(":jetifier-core", "jetifier/jetifier/core")
includeProject(":jetifier-processor", "jetifier/jetifier/processor")
includeProject(":jetifier-standalone", "jetifier/jetifier/standalone")
includeProject(":jetifier-preprocessor", "jetifier/jetifier/preprocessor")
includeProject(":lint-checks", "lint-checks")
includeProject(":lint-checks:tests", "lint-checks/tests")
includeProject(":leanback:leanback", "leanback/leanback")
includeProject(":leanback:leanback-preference", "leanback/leanback-preference")
includeProject(":lifecycle:integration-tests:incrementality", "lifecycle/integration-tests/incrementality")
includeProject(":lifecycle:integration-tests:lifecycle-testapp", "lifecycle/integration-tests/testapp")
includeProject(":lifecycle:integration-tests:lifecycle-testapp-kotlin", "lifecycle/integration-tests/kotlintestapp")
includeProject(":lifecycle:lifecycle-common", "lifecycle/lifecycle-common")
includeProject(":lifecycle:lifecycle-common-java8", "lifecycle/lifecycle-common-java8")
includeProject(":lifecycle:lifecycle-compiler", "lifecycle/lifecycle-compiler")
includeProject(":lifecycle:lifecycle-extensions", "lifecycle/lifecycle-extensions")
includeProject(":lifecycle:lifecycle-livedata-core", "lifecycle/lifecycle-livedata-core")
includeProject(":lifecycle:lifecycle-livedata-core-ktx", "lifecycle/lifecycle-livedata-core-ktx")
includeProject(":lifecycle:lifecycle-livedata-core-ktx-lint", "lifecycle/lifecycle-livedata-core-ktx-lint")
includeProject(":lifecycle:lifecycle-livedata-core-truth", "lifecycle/lifecycle-livedata-core-truth")
includeProject(":lifecycle:lifecycle-livedata", "lifecycle/lifecycle-livedata")
includeProject(":lifecycle:lifecycle-livedata-ktx", "lifecycle/lifecycle-livedata-ktx")
includeProject(":lifecycle:lifecycle-process", "lifecycle/lifecycle-process")
includeProject(":lifecycle:lifecycle-reactivestreams", "lifecycle/lifecycle-reactivestreams")
includeProject(":lifecycle:lifecycle-reactivestreams-ktx", "lifecycle/lifecycle-reactivestreams-ktx")
includeProject(":lifecycle:lifecycle-runtime", "lifecycle/lifecycle-runtime")
includeProject(":lifecycle:lifecycle-runtime-ktx", "lifecycle/lifecycle-runtime-ktx")
includeProject(":lifecycle:lifecycle-runtime-ktx-lint", "lifecycle/lifecycle-runtime-ktx-lint")
includeProject(":lifecycle:lifecycle-service", "lifecycle/lifecycle-service")
includeProject(":lifecycle:lifecycle-viewmodel", "lifecycle/lifecycle-viewmodel")
includeProject(":lifecycle:lifecycle-viewmodel-ktx", "lifecycle/lifecycle-viewmodel-ktx")
includeProject(":lifecycle:lifecycle-viewmodel-savedstate","lifecycle/lifecycle-viewmodel-savedstate")
includeProject(":lint-demos:lint-demo-appcompat", "lint-demos/lint-demo-appcompat")
includeProject(":loader:loader", "loader/loader")
includeProject(":loader:loader-ktx", "loader/loader-ktx")
includeProject(":localbroadcastmanager:localbroadcastmanager", "localbroadcastmanager/localbroadcastmanager")
includeProject(":media:media", "media/media")
includeProject(":media2:media2-common", "media2/common")
includeProject(":media2:media2-player", "media2/player")
includeProject(":media2:media2-session", "media2/session")
includeProject(":media2:media2-widget", "media2/widget")
includeProject(":media2:media2-exoplayer", "media2/media2-exoplayer")
includeProject(":media2:integration-tests:testapp", "media2/integration-tests/testapp")
includeProject(":mediarouter:mediarouter", "mediarouter/mediarouter")
includeProject(":message.browser:browser", "message-browser/browser")
includeProject(":mppsample-library", "mppsample/mppsample-library")
includeProject(":mppsample-executable", "mppsample/mppsample-executable")
includeProject(":navigation:navigation-benchmark", "navigation/benchmark")
includeProject(":navigation:navigation-common", "navigation/navigation-common")
includeProject(":navigation:navigation-common-ktx", "navigation/navigation-common-ktx")
includeProject(":navigation:navigation-dynamic-features-runtime", "navigation/navigation-dynamic-features-runtime")
includeProject(":navigation:navigation-dynamic-features-fragment", "navigation/navigation-dynamic-features-fragment")
includeProject(":navigation:navigation-runtime", "navigation/navigation-runtime")
includeProject(":navigation:navigation-runtime-ktx", "navigation/navigation-runtime-ktx")
includeProject(":navigation:navigation-runtime-truth", "navigation/navigation-runtime-truth")
includeProject(":navigation:navigation-testing", "navigation/navigation-testing")
includeProject(":navigation:navigation-fragment", "navigation/navigation-fragment")
includeProject(":navigation:navigation-fragment-ktx", "navigation/navigation-fragment-ktx")
includeProject(":navigation:navigation-ui", "navigation/navigation-ui")
includeProject(":navigation:navigation-ui-ktx", "navigation/navigation-ui-ktx")
includeProject(":navigation:navigation-integration-tests:testapp", "navigation/integration-tests/testapp")
includeProject(":navigation:navigation-safe-args-generator", "navigation/navigation-safe-args-generator")
includeProject(":navigation:navigation-safe-args-gradle-plugin", "navigation/navigation-safe-args-gradle-plugin")
includeProject(":paging:integration-tests:testapp", "paging/integration-tests/testapp")
includeProject(":paging:paging-common", "paging/common")
includeProject(":paging:paging-common-ktx", "paging/common/ktx")
includeProject(":paging:paging-runtime", "paging/runtime")
includeProject(":paging:paging-runtime-ktx", "paging/runtime/ktx")
includeProject(":paging:paging-rxjava2", "paging/rxjava2")
includeProject(":paging:paging-rxjava2-ktx", "paging/rxjava2/ktx")
includeProject(":paging:paging-guava", "paging/guava")
includeProject(":paging:paging-testutils", "paging/testutils")
includeProject(":palette:palette", "palette/palette")
includeProject(":palette:palette-ktx", "palette/palette-ktx")
includeProject(":percentlayout:percentlayout", "percentlayout/percentlayout")
includeProject(":preference:preference", "preference/preference")
includeProject(":preference:preference-ktx", "preference/preference-ktx")
includeProject(":print:print", "print/print")
includeProject(":recommendation:recommendation", "recommendation/recommendation")
includeProject(":recyclerview:recyclerview", "recyclerview/recyclerview")
includeProject(":recyclerview:recyclerview-benchmark", "recyclerview/recyclerview-benchmark")
includeProject(":recyclerview:recyclerview-lint", "recyclerview/recyclerview-lint")
includeProject(":recyclerview:recyclerview-selection", "recyclerview/recyclerview-selection")
includeProject(":room:integration-tests:room-incremental-annotation-processing", "room/integration-tests/incremental-annotation-processing")
includeProject(":room:integration-tests:room-testapp-noappcompat", "room/integration-tests/noappcompattestapp")
includeProject(":room:integration-tests:room-testapp-autovalue", "room/integration-tests/autovaluetestapp")
includeProject(":room:integration-tests:room-testapp", "room/integration-tests/testapp")
includeProject(":room:integration-tests:room-testapp-kotlin", "room/integration-tests/kotlintestapp")
includeProject(":room:room-benchmark", "room/benchmark")
includeProject(":room:room-common", "room/common")
includeProject(":room:room-compiler", "room/compiler")
includeProject(":room:room-guava", "room/guava")
includeProject(":room:room-ktx", "room/ktx")
includeProject(":room:room-migration", "room/migration")
includeProject(":room:room-runtime", "room/runtime")
includeProject(":room:room-rxjava2", "room/rxjava2")
includeProject(":room:room-testing", "room/testing")
includeProject(":remotecallback-processor", "remotecallback/processor")
includeProject(":remotecallback", "remotecallback")
includeProject(":versionedparcelable-annotation", "versionedparcelable/annotation")
includeProject(":versionedparcelable", "versionedparcelable")
includeProject(":savedstate:savedstate", "savedstate/savedstate")
includeProject(":security:security-crypto", "security/crypto")
includeProject(":security:security-identity-credential", "security/identity-credential")
includeProject(":serialization:serialization", "serialization/serialization")
includeProject(":serialization:serialization-annotation", "serialization/serialization-annotation")
includeProject(":serialization:serialization-compiler", "serialization/serialization-compiler")
includeProject(":serialization:serialization-runtime", "serialization/serialization-runtime")
includeProject(":serialization:serialization-runtime-parcel", "serialization/serialization-runtime-parcel")
includeProject(":serialization:serialization-runtime-proto", "serialization/serialization-runtime-proto")
includeProject(":serialization:serialization-schema", "serialization/serialization-schema")
includeProject(":sharetarget:sharetarget", "sharetarget/sharetarget")
includeProject(":sharetarget:integration-tests:testapp", "sharetarget/integration-tests/testapp")
includeProject(":slice-core", "slices/core")
includeProject(":slice-view", "slices/view")
includeProject(":slice-builders", "slices/builders")
includeProject(":slice-test", "slices/test")
includeProject(":slice-builders-ktx", "slices/builders/ktx")
includeProject(":slice-benchmark", "slices/benchmark")
includeProject(":slice-remotecallback", "slices/remotecallback")
includeProject(":slidingpanelayout:slidingpanelayout", "slidingpanelayout/slidingpanelayout")
includeProject(":startup:startup-runtime", "startup/startup-runtime")
includeProject(":startup:startup-runtime-lint", "startup/startup-runtime-lint")
includeProject(":startup:integration-tests:first-library", "startup/integration-tests/first-library")
includeProject(":startup:integration-tests:second-library", "startup/integration-tests/second-library")
includeProject(":startup:integration-tests:test-app", "startup/integration-tests/test-app")
includeProject(":sqlite:sqlite", "sqlite/sqlite")
includeProject(":sqlite:sqlite-ktx", "sqlite/sqlite-ktx")
includeProject(":sqlite:sqlite-framework", "sqlite/sqlite-framework")
includeProject(":sqlite:sqlite-inspection", "sqlite/sqlite-inspection")
includeProject(":swiperefreshlayout:swiperefreshlayout", "swiperefreshlayout/swiperefreshlayout")
includeProject(":test-screenshot", "test/screenshot")
includeProject(":test-screenshot-proto", "test/screenshot/proto")
includeProject(":textclassifier:textclassifier", "textclassifier/textclassifier")
includeProject(":textclassifier:integration-tests:testapp", "textclassifier/integration-tests/testapp")
includeProject(":transition:transition", "transition/transition")
includeProject(":transition:transition-ktx", "transition/transition-ktx")
includeProject(":tvprovider:tvprovider", "tv-provider/tv-provider")
includeProject(":vectordrawable:vectordrawable", "vectordrawable/vectordrawable")
includeProject(":vectordrawable:vectordrawable-animated", "vectordrawable/vectordrawable-animated")
includeProject(":vectordrawable:vectordrawable-seekable", "vectordrawable/vectordrawable-seekable")
includeProject(":viewpager:viewpager", "viewpager/viewpager")
includeProject(":viewpager2:viewpager2", "viewpager2/viewpager2")
includeProject(":viewpager2:integration-tests:testapp", "viewpager2/integration-tests/testapp")
includeProject(":wear:wear", "wear/wear")
includeProject(":webkit:webkit", "webkit/webkit")
includeProject(":webkit:integration-tests:testapp", "webkit/integration-tests/testapp")
includeProject(":work:work-runtime", "work/workmanager")
includeProject(":work:work-gcm", "work/workmanager-gcm")
includeProject(":work:work-runtime-ktx", "work/workmanager-ktx")
includeProject(":work:work-rxjava2", "work/workmanager-rxjava2")
includeProject(":work:work-testing", "work/workmanager-testing")
includeProject(":work:work-runtime-lint", "work/workmanager-lint")
includeProject(":work:work-benchmark", "work/workmanager-benchmark")
includeProject(":work:integration-tests:testapp", "work/integration-tests/testapp")

/////////////////////////////
//
// Legacy
//
/////////////////////////////

includeProject(":legacy-support-core-utils", "legacy/core-utils")

/////////////////////////////
//
// 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(":support-animation-demos", new File(samplesRoot, "SupportAnimationDemos"))
includeProject(":support-biometric-demos", new File(samplesRoot, "BiometricDemos"))
includeProject(":support-car-demos", new File(samplesRoot, "SupportCarDemos"))
includeProject(":support-content-demos", new File(samplesRoot, "SupportContentDemos"))
includeProject(":support-emoji-demos", new File(samplesRoot, "SupportEmojiDemos"))
includeProject(":support-leanback-demos", new File(samplesRoot, "SupportLeanbackDemos"))
includeProject(":support-preference-demos", new File(samplesRoot, "SupportPreferenceDemos"))
includeProject(":support-remotecallback-demos", new File(samplesRoot, "SupportRemoteCallbackDemos"))
includeProject(":support-slices-demos", new File(samplesRoot, "SupportSliceDemos"))
includeProject(":support-transition-demos", new File(samplesRoot, "SupportTransitionDemos"))
includeProject(":support-vector-drawable-demos", new File(samplesRoot, "SupportVectorDrawableDemos"))
includeProject(":support-v4-demos", new File(samplesRoot, "Support4Demos"))
includeProject(":support-v7-demos", new File(samplesRoot, "Support7Demos"))
includeProject(":support-wear-demos", new File(samplesRoot, "SupportWearDemos"))

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

includeProject(":internal-testutils-common", "testutils/testutils-common")
includeProject(":internal-testutils-runtime", "testutils/testutils-runtime")
includeProject(":internal-testutils-appcompat", "testutils/testutils-appcompat")
includeProject(":internal-testutils-espresso", "testutils/testutils-espresso")
includeProject(":internal-testutils-truth", "testutils/testutils-truth")
includeProject(":internal-testutils-ktx", "testutils/testutils-ktx")
includeProject(":internal-testutils-navigation", "testutils/testutils-navigation")
includeProject(":internal-testutils-gradle-plugin", "testutils/testutils-gradle-plugin")

/////////////////////////////
//
// Applications and libraries for tests
//
/////////////////////////////

includeProject(":support-media-compat-test-client", "media/version-compat-tests/current/client")
includeProject(":support-media-compat-test-client-previous", "media/version-compat-tests/previous/client")
includeProject(":support-media-compat-test-service", "media/version-compat-tests/current/service")
includeProject(":support-media-compat-test-service-previous", "media/version-compat-tests/previous/service")
includeProject(":support-media-compat-test-lib", "media/version-compat-tests/lib")

includeProject(":support-media2-test-client", "media2/session/version-compat-tests/current/client")
includeProject(":support-media2-test-client-previous", "media2/session/version-compat-tests/previous/client")
includeProject(":support-media2-test-service", "media2/session/version-compat-tests/current/service")
includeProject(":support-media2-test-service-previous", "media2/session/version-compat-tests/previous/service")
includeProject(":support-media2-test-common", "media2/session/version-compat-tests/common")

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

apply(from: "include-composite-deps.gradle")
File externalRoot = new File(rootDir, "../../external")

includeProject(":noto-emoji-compat", new File(externalRoot, "noto-fonts/emoji-compat"))
includeProject(":icing", new File(externalRoot, "icing"))

// fake project which is used for docs generation from prebuilts
// we need real android project to generate R.java, aidl etc files that mentioned in sources
if (!startParameter.projectProperties.containsKey('android.injected.invoked.from.ide')) {
    // we don't need it in ide, so we don't configure it there
    includeProject(":docs-fake", "docs-fake")
    includeProject(":docs-runner", "docs-runner")
}

// dumb 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(":dumb-tests", "dumb-tests")
