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(":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-media3-effect"))
    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:adaptive:adaptive-render-strategy"))
    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-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-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")
  }
}
