plugins {
    id("com.android.library")
    id("AndroidXDocsPlugin")
}

def docsForOptionalProject(path) {
    Project project = findProject(path)
    if (project != null) {
        dependencies {
            docs(project)
        }
    }
}

android {
    namespace = "androidx.docs.tipoftree"
}

// The dependency list should only be changed when a new project is registered or a project's source is removed. Samples should never be added.

dependencies {
    // If there is not at least one samples dependency, DocsImplPlugin breaks. b/332262321
    samples("androidx.window:window-samples:1.3.0")

    docsForOptionalProject(":xr:xr")
    docsForOptionalProject(":xr:xr-material3-adaptive")
    docs(project(":activity:activity"))
    docs(project(":activity:activity-compose"))
    docs(project(":activity:activity-ktx"))
    // ads-identifier is deprecated
    kmpDocs(project(":annotation:annotation"))
    docs(project(":annotation:annotation-experimental"))
    docs(project(":appcompat:appcompat"))
    docs(project(":appcompat:appcompat-resources"))
    docs(project(":appsearch:appsearch"))
    docs(project(":appsearch:appsearch-builtin-types"))
    docs(project(":appsearch:appsearch-ktx"))
    docs(project(":appsearch:appsearch-platform-storage"))
    docs(project(":appsearch:appsearch-play-services-storage"))
    docs(project(":appsearch:appsearch-local-storage"))
    docs(project(":arch:core:core-common"))
    docs(project(":arch:core:core-runtime"))
    docs(project(":arch:core:core-testing"))
    docs(project(":asynclayoutinflater:asynclayoutinflater"))
    docs(project(":asynclayoutinflater:asynclayoutinflater-appcompat"))
    docs(project(":autofill:autofill"))
    docs(project(":benchmark:benchmark-common"))
    docs(project(":benchmark:benchmark-junit4"))
    docs(project(":benchmark:benchmark-macro"))
    docs(project(":benchmark:benchmark-macro-junit4"))
    docs(project(":biometric:biometric"))
    docs(project(":bluetooth:bluetooth"))
    docs(project(":bluetooth:bluetooth-testing"))
    docs(project(":browser:browser"))
    docs(project(":camera:camera-camera2"))
    docs(project(":camera:camera-compose"))
    docs(project(":camera:camera-core"))
    docs(project(":camera:camera-effects"))
    docs(project(":camera:camera-effects-still-portrait"))
    docs(project(":camera:camera-extensions"))
    stubs(fileTree(dir: "../camera/camera-extensions-stub", include: ["camera-extensions-stub.jar"]))
    docs(project(":camera:camera-feature-combination-query"))
    docs(project(":camera:camera-feature-combination-query-play-services"))
    docs(project(":camera:camera-lifecycle"))
    docs(project(":camera:camera-mlkit-vision"))
    docs(project(":camera:camera-testing"))
    docs(project(":camera:camera-video"))
    docs(project(":camera:camera-view"))
    docs(project(":camera:media3:media3-effect"))
    docs(project(":camera:viewfinder:viewfinder-compose"))
    docs(project(":camera:viewfinder:viewfinder-core"))
    docs(project(":camera:viewfinder:viewfinder-view"))
    docs(project(":car:app:app"))
    docs(project(":car:app:app-automotive"))
    docs(project(":car:app:app-projected"))
    docs(project(":car:app:app-testing"))
    docs(project(":cardview:cardview"))
    kmpDocs(project(":collection:collection"))
    docs(project(":collection:collection-ktx"))
    kmpDocs(project(":compose:animation:animation"))
    kmpDocs(project(":compose:animation:animation-core"))
    kmpDocs(project(":compose:animation:animation-graphics"))
    kmpDocs(project(":compose:foundation:foundation"))
    kmpDocs(project(":compose:foundation:foundation-layout"))
    kmpDocs(project(":compose:material3:adaptive:adaptive"))
    kmpDocs(project(":compose:material3:adaptive:adaptive-layout"))
    kmpDocs(project(":compose:material3:adaptive:adaptive-navigation"))
    kmpDocs(project(":compose:material3:material3"))
    kmpDocs(project(":compose:material3:material3-adaptive-navigation-suite"))
    kmpDocs(project(":compose:material3:material3-common"))
    kmpDocs(project(":compose:material3:material3-window-size-class"))
    kmpDocs(project(":compose:material:material"))
    kmpDocs(project(":compose:material:material-ripple"))
    docs(project(":compose:material:material-navigation"))
    kmpDocs(project(":compose:runtime:runtime"))
    docs(project(":compose:runtime:runtime-livedata"))
    docs(project(":compose:runtime:runtime-rxjava2"))
    docs(project(":compose:runtime:runtime-rxjava3"))
    kmpDocs(project(":compose:runtime:runtime-saveable"))
    docs(project(":compose:runtime:runtime-tracing"))
    kmpDocs(project(":compose:ui:ui"))
    kmpDocs(project(":compose:ui:ui-geometry"))
    kmpDocs(project(":compose:ui:ui-graphics"))
    kmpDocs(project(":compose:ui:ui-test"))
    kmpDocs(project(":compose:ui:ui-test-junit4"))
    kmpDocs(project(":compose:ui:ui-text"))
    docs(project(":compose:ui:ui-text-google-fonts"))
    kmpDocs(project(":compose:ui:ui-tooling"))
    kmpDocs(project(":compose:ui:ui-tooling-data"))
    kmpDocs(project(":compose:ui:ui-tooling-preview"))
    kmpDocs(project(":compose:ui:ui-unit"))
    kmpDocs(project(":compose:ui:ui-util"))
    docs(project(":compose:ui:ui-viewbinding"))
    docs(project(":concurrent:concurrent-futures"))
    docs(project(":concurrent:concurrent-futures-ktx"))
    docs(project(":constraintlayout:constraintlayout"))
    kmpDocs(project(":constraintlayout:constraintlayout-compose"))
    docs(project(":constraintlayout:constraintlayout-core"))
    docs(project(":contentpager:contentpager"))
    docs(project(":coordinatorlayout:coordinatorlayout"))
    docs(project(":core:core"))
    docs(project(":core:core-animation"))
    docs(project(":core:core-animation-testing"))
    docs(project(":core:core-appdigest"))
    docs(project(":core:core-backported-fixes"))
    docs(project(":core:core-google-shortcuts"))
    docs(project(":core:haptics:haptics"))
    docs(project(":core:core-i18n"))
    docs(project(":core:core-ktx"))
    docs(project(":core:core-location-altitude"))
    docs(project(":core:core-performance"))
    docs(project(":core:core-performance-play-services"))
    docs(project(":core:core-performance-testing"))
    docs(project(":core:core-remoteviews"))
    docs(project(":core:core-role"))
    docs(project(":core:core-splashscreen"))
    docs(project(":core:core-telecom"))
    docs(project(":core:core-testing"))
    docs(project(":core:core-viewtree"))
    docs(project(":core:uwb:uwb"))
    docs(project(":core:uwb:uwb-rxjava3"))
    docs(project(":credentials:credentials"))
    docs(project(":credentials:credentials-fido"))
    docs(project(":credentials:credentials-play-services-auth"))
    docs(project(":credentials:credentials-e2ee"))
    docs(project(":credentials:credentials-play-services-e2ee"))
    docs(project(":credentials:registry:registry-digitalcredentials-mdoc"))
    docs(project(":credentials:registry:registry-digitalcredentials-preview"))
    docs(project(":credentials:registry:registry-provider"))
    docs(project(":credentials:registry:registry-provider-play-services"))
    docs(project(":cursoradapter:cursoradapter"))
    docs(project(":customview:customview"))
    docs(project(":customview:customview-poolingcontainer"))
    kmpDocs(project(":datastore:datastore"))
    kmpDocs(project(":datastore:datastore-core"))
    kmpDocs(project(":datastore:datastore-core-okio"))
    docs(project(":datastore:datastore-guava"))
    kmpDocs(project(":datastore:datastore-preferences"))
    kmpDocs(project(":datastore:datastore-preferences-core"))
    docs(project(":datastore:datastore-preferences-rxjava2"))
    docs(project(":datastore:datastore-preferences-rxjava3"))
    docs(project(":datastore:datastore-rxjava2"))
    docs(project(":datastore:datastore-rxjava3"))
    docs(project(":documentfile:documentfile"))
    docs(project(":draganddrop:draganddrop"))
    docs(project(":drawerlayout:drawerlayout"))
    docs(project(":dynamicanimation:dynamicanimation"))
    docs(project(":dynamicanimation:dynamicanimation-ktx"))
    docs(project(":emoji:emoji"))
    docs(project(":emoji:emoji-appcompat"))
    docs(project(":emoji:emoji-bundled"))
    docs(project(":emoji2:emoji2"))
    docs(project(":emoji2:emoji2-bundled"))
    docs(project(":emoji2:emoji2-emojipicker"))
    docs(project(":emoji2:emoji2-views"))
    docs(project(":emoji2:emoji2-views-helper"))
    docs(project(":enterprise:enterprise-feedback"))
    docs(project(":enterprise:enterprise-feedback-testing"))
    docs(project(":exifinterface:exifinterface"))
    docs(project(":fragment:fragment"))
    docs(project(":fragment:fragment-compose"))
    docs(project(":fragment:fragment-ktx"))
    docs(project(":fragment:fragment-testing"))
    docs(project(":glance:glance"))
    docs(project(":glance:glance-appwidget"))
    docs(project(":glance:glance-appwidget-multiprocess"))
    docs(project(":glance:glance-appwidget-testing"))
    docs(project(":glance:glance-appwidget-preview"))
    docs(project(":glance:glance-material"))
    docs(project(":glance:glance-material3"))
    docs(project(":glance:glance-preview"))
    docs(project(":glance:glance-testing"))
    docs(project(":glance:glance-template"))
    docs(project(":glance:glance-wear-tiles"))
    docs(project(":graphics:filters:filters"))
    docs(project(":graphics:graphics-core"))
    docs(project(":graphics:graphics-path"))
    kmpDocs(project(":graphics:graphics-shapes"))
    docs(project(":gridlayout:gridlayout"))
    docs(project(":health:connect:connect-client"))
    docs(project(":health:connect:connect-testing"))
    docs(project(":health:health-services-client"))
    docs(project(":heifwriter:heifwriter"))
    docs(project(":hilt:hilt-common"))
    docs(project(":hilt:hilt-navigation"))
    docs(project(":hilt:hilt-navigation-compose"))
    docs(project(":hilt:hilt-navigation-fragment"))
    docs(project(":hilt:hilt-work"))
    kmpDocs(project(":ink:ink-authoring"))
    kmpDocs(project(":ink:ink-brush"))
    kmpDocs(project(":ink:ink-geometry"))
    kmpDocs(project(":ink:ink-nativeloader"))
    kmpDocs(project(":ink:ink-strokes"))
    kmpDocs(project(":ink:ink-rendering"))
    docs(project(":input:input-motionprediction"))
    docs(project(":interpolator:interpolator"))
    docs(project(":javascriptengine:javascriptengine"))
    docs(project(":leanback:leanback"))
    docs(project(":leanback:leanback-grid"))
    docs(project(":leanback:leanback-paging"))
    docs(project(":leanback:leanback-preference"))
    docs(project(":leanback:leanback-tab"))
    kmpDocs(project(":lifecycle:lifecycle-common"))
    docs(project(":lifecycle:lifecycle-common-java8"))
    docs(project(":lifecycle:lifecycle-extensions"))
    docs(project(":lifecycle:lifecycle-livedata"))
    docs(project(":lifecycle:lifecycle-livedata-core"))
    docs(project(":lifecycle:lifecycle-livedata-core-ktx"))
    docs(project(":lifecycle:lifecycle-livedata-ktx"))
    docs(project(":lifecycle:lifecycle-process"))
    docs(project(":lifecycle:lifecycle-reactivestreams"))
    docs(project(":lifecycle:lifecycle-reactivestreams-ktx"))
    kmpDocs(project(":lifecycle:lifecycle-runtime"))
    kmpDocs(project(":lifecycle:lifecycle-runtime-compose"))
    kmpDocs(project(":lifecycle:lifecycle-runtime-ktx"))
    kmpDocs(project(":lifecycle:lifecycle-runtime-testing"))
    docs(project(":lifecycle:lifecycle-service"))
    kmpDocs(project(":lifecycle:lifecycle-viewmodel"))
    kmpDocs(project(":lifecycle:lifecycle-viewmodel-compose"))
    docs(project(":lifecycle:lifecycle-viewmodel-ktx"))
    kmpDocs(project(":lifecycle:lifecycle-viewmodel-savedstate"))
    kmpDocs(project(":lifecycle:lifecycle-viewmodel-testing"))
    docs(project(":loader:loader"))
    docs(project(":loader:loader-ktx"))
    // localbroadcastmanager is deprecated
    docs(project(":media:media"))
    // androidx.media3 is not hosted in androidx
    docs(project(":mediarouter:mediarouter"))
    docs(project(":mediarouter:mediarouter-testing"))
    docs(project(":metrics:metrics-performance"))
    docs(project(":navigation:navigation-common"))
    docs(project(":navigation:navigation-common-ktx"))
    docs(project(":navigation:navigation-compose"))
    docs(project(":navigation:navigation-dynamic-features-fragment"))
    docs(project(":navigation:navigation-dynamic-features-runtime"))
    docs(project(":navigation:navigation-fragment"))
    docs(project(":navigation:navigation-fragment-compose"))
    docs(project(":navigation:navigation-fragment-ktx"))
    docs(project(":navigation:navigation-runtime"))
    docs(project(":navigation:navigation-runtime-ktx"))
    docs(project(":navigation:navigation-testing"))
    docs(project(":navigation:navigation-ui"))
    docs(project(":navigation:navigation-ui-ktx"))
    kmpDocs(project(":paging:paging-common"))
    docs(project(":paging:paging-common-ktx"))
    kmpDocs(project(":paging:paging-compose"))
    docs(project(":paging:paging-guava"))
    docs(project(":paging:paging-runtime"))
    docs(project(":paging:paging-runtime-ktx"))
    docs(project(":paging:paging-rxjava2"))
    docs(project(":paging:paging-rxjava2-ktx"))
    docs(project(":paging:paging-rxjava3"))
    kmpDocs(project(":paging:paging-testing"))
    docs(project(":palette:palette"))
    docs(project(":palette:palette-ktx"))
    docs(project(":pdf:pdf-document-service"))
    docs(project(":pdf:pdf-viewer"))
    docs(project(":pdf:pdf-viewer-fragment"))
    docs(project(":percentlayout:percentlayout"))
    docs(project(":preference:preference"))
    docs(project(":preference:preference-ktx"))
    docs(project(":print:print"))
    docs(project(":privacysandbox:activity:activity-client"))
    docs(project(":privacysandbox:activity:activity-core"))
    docs(project(":privacysandbox:activity:activity-provider"))
    docs(project(":privacysandbox:ads:ads-adservices"))
    docs(project(":privacysandbox:ads:ads-adservices-java"))
    docs(project(":privacysandbox:sdkruntime:sdkruntime-client"))
    docs(project(":privacysandbox:sdkruntime:sdkruntime-core"))
    docs(project(":privacysandbox:sdkruntime:sdkruntime-provider"))
    docs(project(":privacysandbox:tools:tools"))
    docs(project(":privacysandbox:ui:ui-client"))
    docs(project(":privacysandbox:ui:ui-core"))
    docs(project(":privacysandbox:ui:ui-provider"))
    docs(project(":profileinstaller:profileinstaller"))
    docs(project(":recommendation:recommendation"))
    docs(project(":recyclerview:recyclerview"))
    docs(project(":recyclerview:recyclerview-selection"))
    docs(project(":remotecallback:remotecallback"))
    docs(project(":resourceinspection:resourceinspection-annotation"))
    kmpDocs(project(":room:room-common"))
    docs(project(":room:room-guava"))
    docs(project(":room:room-ktx"))
    kmpDocs(project(":room:room-migration"))
    kmpDocs(project(":room:room-paging"))
    docs(project(":room:room-paging-guava"))
    docs(project(":room:room-paging-rxjava2"))
    docs(project(":room:room-paging-rxjava3"))
    kmpDocs(project(":room:room-runtime"))
    docs(project(":room:room-rxjava2"))
    docs(project(":room:room-rxjava3"))
    kmpDocs(project(":room:room-testing"))
    docs(project(":safeparcel:safeparcel"))
    kmpDocs(project(":savedstate:savedstate"))
    kmpDocs(project(":savedstate:savedstate-compose"))
    docs(project(":savedstate:savedstate-ktx"))
    docs(project(":security:security-app-authenticator"))
    docs(project(":security:security-app-authenticator-testing"))
    docs(project(":security:security-biometric"))
    docs(project(":security:security-crypto"))
    docs(project(":security:security-crypto-ktx"))
    docs(project(":security:security-identity-credential"))
    docs(project(":security:security-mls"))
    docs(project(":security:security-state"))
    docs(project(":security:security-state-provider"))
    docs(project(":sharetarget:sharetarget"))
    docs(project(":slice:slice-builders"))
    docs(project(":slice:slice-builders-ktx"))
    docs(project(":slice:slice-core"))
    docs(project(":slice:slice-remotecallback"))
    docs(project(":slice:slice-view"))
    docs(project(":slidingpanelayout:slidingpanelayout"))
    kmpDocs(project(":sqlite:sqlite"))
    kmpDocs(project(":sqlite:sqlite-bundled"))
    kmpDocs(project(":sqlite:sqlite-framework"))
    docs(project(":sqlite:sqlite-ktx"))
    docs(project(":startup:startup-runtime"))
    docs(project(":swiperefreshlayout:swiperefreshlayout"))
    // androidx.test is not hosted in androidx
    docs(project(":test:ext:junit-gtest"))
    docs(project(":test:uiautomator:uiautomator"))
    // androidx.textclassifier is not hosted in androidx
    docs(project(":tracing:tracing"))
    docs(project(":tracing:tracing-ktx"))
    docs(project(":tracing:tracing-perfetto"))
    docs(project(":tracing:tracing-perfetto-handshake"))
    docs(project(":transition:transition"))
    docs(project(":transition:transition-ktx"))
    docs(project(":tv:tv-foundation"))
    docs(project(":tv:tv-material"))
    docs(project(":tvprovider:tvprovider"))
    docs(project(":vectordrawable:vectordrawable"))
    docs(project(":vectordrawable:vectordrawable-animated"))
    docs(project(":vectordrawable:vectordrawable-seekable"))
    docs(project(":versionedparcelable:versionedparcelable"))
    docs(project(":viewpager2:viewpager2"))
    docs(project(":viewpager:viewpager"))
    docs(project(":wear:compose:compose-foundation"))
    docs(project(":wear:compose:compose-material"))
    docs(project(":wear:compose:compose-material-core"))
    docs(project(":wear:compose:compose-material3"))
    docs(project(":wear:compose:compose-navigation"))
    docs(project(":wear:compose:compose-ui-tooling"))
    docs(project(":wear:protolayout:protolayout"))
    docs(project(":wear:protolayout:protolayout-expression"))
    docs(project(":wear:protolayout:protolayout-expression-pipeline"))
    docs(project(":wear:protolayout:protolayout-material"))
    docs(project(":wear:protolayout:protolayout-material-core"))
    docs(project(":wear:protolayout:protolayout-material3"))
    docs(project(":wear:protolayout:protolayout-renderer"))
    docs(project(":wear:protolayout:protolayout-testing"))
    docs(project(":wear:tiles:tiles"))
    docs(project(":wear:tiles:tiles-material"))
    docs(project(":wear:tiles:tiles-renderer"))
    docs(project(":wear:tiles:tiles-testing"))
    docs(project(":wear:tiles:tiles-tooling"))
    docs(project(":wear:tiles:tiles-tooling-preview"))
    docs(project(":wear:watchface:watchface"))
    docs(project(":wear:watchface:watchface-client"))
    docs(project(":wear:watchface:watchface-client-guava"))
    docs(project(":wear:watchface:watchface-complications"))
    docs(project(":wear:watchface:watchface-complications-data"))
    docs(project(":wear:watchface:watchface-complications-data-source"))
    docs(project(":wear:watchface:watchface-complications-data-source-ktx"))
    docs(project(":wear:watchface:watchface-complications-rendering"))
    docs(project(":wear:watchface:watchface-data"))
    docs(project(":wear:watchface:watchface-editor"))
    docs(project(":wear:watchface:watchface-editor-guava"))
    docs(project(":wear:watchface:watchface-guava"))
    docs(project(":wear:watchface:watchface-style"))
    docs(project(":wear:wear"))
    docs(project(":wear:wear-core"))
    stubs(fileTree(dir: "../wear/wear_stubs/", include: ["com.google.android.wearable-stubs.jar"]))
    docs(project(":wear:wear-input"))
    docs(project(":wear:wear-input-testing"))
    docs(project(":wear:wear-ongoing"))
    docs(project(":wear:wear-phone-interactions"))
    docs(project(":wear:wear-remote-interactions"))
    docs(project(":wear:wear-tooling-preview"))
    docs(project(":webkit:webkit"))
    docs(project(":window:window"))
    stubs(fileTree(dir: "../window/stubs/", include: ["window-sidecar-release.aar"]))
    docs(project(":window:extensions:core:core"))
    docs(project(":window:extensions:extensions"))
    kmpDocs(project(":window:window-core"))
    docs(project(":window:window-java"))
    docs(project(":window:window-rxjava2"))
    docs(project(":window:window-rxjava3"))
    docs(project(":window:window-testing"))
    docs(project(":work:work-gcm"))
    docs(project(":work:work-multiprocess"))
    docs(project(":work:work-runtime"))
    docs(project(":work:work-runtime-ktx"))
    docs(project(":work:work-rxjava2"))
    docs(project(":work:work-rxjava3"))
    docs(project(":work:work-testing"))
}
afterEvaluate {
  tasks["docs"].doFirst {
    println("docs-tip-of-tree:docs starting")
  }
  tasks["docs"].doLast {
    println("docs-tip-of-tree:docs completing")
  }
}
