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"
}

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

    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(":biometric:biometric-ktx"))
    docs(project(":bluetooth:bluetooth"))
    docs(project(":bluetooth:bluetooth-testing"))
    docs(project(":browser:browser"))
    docs(project(":camera:camera-camera2"))
    docs(project(":camera:camera-compose"))
    samples(project(":camera:camera-compose:camera-compose-samples"))
    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"))
    samples(project(":camera:camera-lifecycle:camera-lifecycle-samples"))
    docs(project(":camera:camera-mlkit-vision"))
    docs(project(":camera:camera-testing"))
    docs(project(":camera:camera-video"))
    docs(project(":camera:camera-view"))
    docs(project(":camera:viewfinder:viewfinder-compose"))
    docs(project(":camera:viewfinder:viewfinder-core"))
    samples(project(":camera:viewfinder:viewfinder-core:viewfinder-core-samples"))
    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("androidx.compose.material:material-icons-core:1.7.0-beta01")
    samples("androidx.compose.material:material-icons-core-samples:1.7.0-beta01")
    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-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: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(":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-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-brush"))
    kmpDocs(project(":ink:ink-geometry"))
    kmpDocs(project(":ink:ink-nativeloader"))
    kmpDocs(project(":ink:ink-strokes"))
    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"))
    docs(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-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"))
    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(":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: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")
  }
}
