/**
 * This file was created using the `create_project.py` script located in the
 * `<AndroidX root>/development/project-creator` directory.
 *
 * Please use that script when creating a new project, rather than copying an existing project and
 * modifying its settings.
 */
plugins {
id("com.android.library")
    id("AndroidXDocsPlugin")
}

android {
    namespace "androidx.docs.publicdocs"
}

dependencies {
    docs("androidx.activity:activity:1.10.0-alpha02")
    docs("androidx.activity:activity-compose:1.10.0-alpha02")
    docs("androidx.activity:activity-ktx:1.10.0-alpha02")
    // ads-identifier is deprecated
    docsWithoutApiSince("androidx.ads:ads-identifier:1.0.0-alpha05")
    docsWithoutApiSince("androidx.ads:ads-identifier-common:1.0.0-alpha05")
    docsWithoutApiSince("androidx.ads:ads-identifier-provider:1.0.0-alpha05")
    kmpDocs("androidx.annotation:annotation:1.9.0")
    docs("androidx.annotation:annotation-experimental:1.5.0-alpha01")
    docs("androidx.appcompat:appcompat:1.7.0")
    docs("androidx.appcompat:appcompat-resources:1.7.0")
    docs("androidx.appsearch:appsearch:1.1.0-alpha06")
    docs("androidx.appsearch:appsearch-builtin-types:1.1.0-alpha06")
    docs("androidx.appsearch:appsearch-ktx:1.1.0-alpha06")
    docs("androidx.appsearch:appsearch-local-storage:1.1.0-alpha06")
    docs("androidx.appsearch:appsearch-platform-storage:1.1.0-alpha06")
    docs("androidx.appsearch:appsearch-play-services-storage:1.1.0-alpha06")
    docs("androidx.arch.core:core-common:2.2.0")
    docs("androidx.arch.core:core-runtime:2.2.0")
    docs("androidx.arch.core:core-testing:2.2.0")
    docs("androidx.asynclayoutinflater:asynclayoutinflater:1.1.0-alpha01")
    docs("androidx.asynclayoutinflater:asynclayoutinflater-appcompat:1.1.0-alpha01")
    docs("androidx.autofill:autofill:1.3.0-beta01")
    docs("androidx.benchmark:benchmark-common:1.4.0-alpha03")
    docs("androidx.benchmark:benchmark-junit4:1.4.0-alpha03")
    docs("androidx.benchmark:benchmark-macro:1.4.0-alpha03")
    docs("androidx.benchmark:benchmark-macro-junit4:1.4.0-alpha03")
    docs("androidx.biometric:biometric:1.4.0-alpha02")
    docs("androidx.biometric:biometric-ktx:1.4.0-alpha02")
    docs("androidx.bluetooth:bluetooth:1.0.0-alpha02")
    docs("androidx.bluetooth:bluetooth-testing:1.0.0-alpha02")
    docs("androidx.browser:browser:1.8.0")
    docs("androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09")
    docs("androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09")
    docs("androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09")
    docs("androidx.camera:camera-camera2:1.5.0-alpha02")
    docs("androidx.camera:camera-compose:1.5.0-alpha02")
    samples("androidx.camera:camera-compose-samples:1.5.0-alpha01")
    docs("androidx.camera:camera-core:1.5.0-alpha02")
    docs("androidx.camera:camera-effects:1.5.0-alpha02")
    docs("androidx.camera:camera-extensions:1.5.0-alpha02")
    stubs(fileTree(dir: "../camera/camera-extensions-stub", include: ["camera-extensions-stub.jar"]))
    docs("androidx.camera:camera-feature-combination-query:1.5.0-alpha02")
    docs("androidx.camera:camera-feature-combination-query-play-services:1.5.0-alpha02")
    docs("androidx.camera:camera-lifecycle:1.5.0-alpha02")
    docs("androidx.camera:camera-mlkit-vision:1.5.0-alpha02")
    docs("androidx.camera:camera-video:1.5.0-alpha02")
    docs("androidx.camera:camera-view:1.5.0-alpha02")
    docs("androidx.car.app:app:1.7.0-beta02")
    docs("androidx.car.app:app-automotive:1.7.0-beta02")
    docs("androidx.car.app:app-projected:1.7.0-beta02")
    docs("androidx.car.app:app-testing:1.7.0-beta02")
    docs("androidx.cardview:cardview:1.0.0")
    kmpDocs("androidx.collection:collection:1.5.0-alpha04")
    docs("androidx.collection:collection-ktx:1.5.0-alpha04")
    kmpDocs("androidx.compose.animation:animation:1.8.0-alpha04")
    kmpDocs("androidx.compose.animation:animation-core:1.8.0-alpha04")
    kmpDocs("androidx.compose.animation:animation-graphics:1.8.0-alpha04")
    kmpDocs("androidx.compose.foundation:foundation:1.8.0-alpha04")
    kmpDocs("androidx.compose.foundation:foundation-layout:1.8.0-alpha04")
    kmpDocs("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha05")
    kmpDocs("androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha05")
    kmpDocs("androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha05")
    kmpDocs("androidx.compose.material3.adaptive:adaptive-render-strategy:1.1.0-alpha05")
    kmpDocs("androidx.compose.material3:material3:1.4.0-alpha02")
    kmpDocs("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha02")
    kmpDocs("androidx.compose.material3:material3-common:1.0.0-alpha01")
    kmpDocs("androidx.compose.material3:material3-window-size-class:1.4.0-alpha02")
    kmpDocs("androidx.compose.material:material:1.8.0-alpha04")
    kmpDocs("androidx.compose.material:material-icons-core:1.7.4")
    docs("androidx.compose.material:material-navigation:1.8.0-alpha04")
    kmpDocs("androidx.compose.material:material-ripple:1.8.0-alpha04")
    kmpDocs("androidx.compose.runtime:runtime:1.8.0-alpha04")
    docs("androidx.compose.runtime:runtime-livedata:1.8.0-alpha04")
    docs("androidx.compose.runtime:runtime-rxjava2:1.8.0-alpha04")
    docs("androidx.compose.runtime:runtime-rxjava3:1.8.0-alpha04")
    kmpDocs("androidx.compose.runtime:runtime-saveable:1.8.0-alpha04")
    docs("androidx.compose.runtime:runtime-tracing:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-geometry:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-graphics:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-test:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-test-junit4:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-text:1.8.0-alpha04")
    docs("androidx.compose.ui:ui-text-google-fonts:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-tooling:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-tooling-data:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-tooling-preview:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-unit:1.8.0-alpha04")
    kmpDocs("androidx.compose.ui:ui-util:1.8.0-alpha04")
    docs("androidx.compose.ui:ui-viewbinding:1.8.0-alpha04")
    docs("androidx.concurrent:concurrent-futures:1.2.0")
    docs("androidx.concurrent:concurrent-futures-ktx:1.2.0")
    docs("androidx.constraintlayout:constraintlayout:2.2.0-rc01")
    kmpDocs("androidx.constraintlayout:constraintlayout-compose:1.1.0-rc01")
    docs("androidx.constraintlayout:constraintlayout-core:1.1.0-rc01")
    docs("androidx.contentpager:contentpager:1.0.0")
    docs("androidx.coordinatorlayout:coordinatorlayout:1.3.0-alpha02")
    docs("androidx.core:core:1.15.0-rc01")
    // TODO(b/294531403): Turn on apiSince for core-animation when it releases as alpha
    docsWithoutApiSince("androidx.core:core-animation:1.0.0-rc01")
    docs("androidx.core:core-animation-testing:1.0.0")
    docs("androidx.core:core-google-shortcuts:1.2.0-alpha01")
    docs("androidx.core:core-i18n:1.0.0-alpha01")
    docs("androidx.core:core-ktx:1.15.0-rc01")
    docs("androidx.core:core-location-altitude:1.0.0-alpha03")
    docs("androidx.core:core-performance:1.0.0")
    docs("androidx.core:core-performance-play-services:1.0.0")
    samples("androidx.core:core-performance-samples:1.0.0")
    docs("androidx.core:core-performance-testing:1.0.0")
    docs("androidx.core:core-remoteviews:1.1.0")
    docs("androidx.core:core-role:1.2.0-alpha01")
    docs("androidx.core:core-splashscreen:1.2.0-alpha02")
    docs("androidx.core:core-telecom:1.0.0-alpha03")
    docs("androidx.core:core-testing:1.15.0-rc01")
    docs("androidx.core.uwb:uwb:1.0.0-alpha09")
    docs("androidx.core.uwb:uwb-rxjava3:1.0.0-alpha09")
    docs("androidx.credentials.registry:registry-digitalcredentials-mdoc:1.0.0-alpha01")
    docs("androidx.credentials.registry:registry-digitalcredentials-preview:1.0.0-alpha01")
    docs("androidx.credentials.registry:registry-provider:1.0.0-alpha01")
    docs("androidx.credentials.registry:registry-provider-play-services:1.0.0-alpha01")
    docs("androidx.credentials:credentials:1.5.0-alpha06")
    docs("androidx.credentials:credentials-e2ee:1.0.0-alpha02")
    docs("androidx.credentials:credentials-fido:1.0.0-alpha02")
    docs("androidx.credentials:credentials-play-services-auth:1.5.0-alpha06")
    docs("androidx.cursoradapter:cursoradapter:1.0.0")
    docs("androidx.customview:customview:1.2.0-alpha02")
    // TODO(b/294531403): Turn on apiSince for customview-poolingcontainer when it releases as alpha
    docsWithoutApiSince("androidx.customview:customview-poolingcontainer:1.0.0-rc01")
    kmpDocs("androidx.datastore:datastore:1.1.1")
    kmpDocs("androidx.datastore:datastore-core:1.1.1")
    kmpDocs("androidx.datastore:datastore-core-okio:1.1.1")
    kmpDocs("androidx.datastore:datastore-preferences:1.1.1")
    kmpDocs("androidx.datastore:datastore-preferences-core:1.1.1")
    docs("androidx.datastore:datastore-preferences-rxjava2:1.1.1")
    docs("androidx.datastore:datastore-preferences-rxjava3:1.1.1")
    docs("androidx.datastore:datastore-rxjava2:1.1.1")
    docs("androidx.datastore:datastore-rxjava3:1.1.1")
    docs("androidx.documentfile:documentfile:1.1.0-alpha01")
    docs("androidx.draganddrop:draganddrop:1.0.0")
    docs("androidx.drawerlayout:drawerlayout:1.2.0")
    docs("androidx.dynamicanimation:dynamicanimation:1.1.0-alpha02")
    docs("androidx.dynamicanimation:dynamicanimation-ktx:1.0.0-alpha03")
    docs("androidx.emoji2:emoji2:1.5.0")
    docs("androidx.emoji2:emoji2-bundled:1.5.0")
    docs("androidx.emoji2:emoji2-emojipicker:1.5.0")
    docs("androidx.emoji2:emoji2-views:1.5.0")
    docs("androidx.emoji2:emoji2-views-helper:1.5.0")
    docs("androidx.emoji:emoji:1.2.0-alpha03")
    docs("androidx.emoji:emoji-appcompat:1.2.0-alpha03")
    docs("androidx.emoji:emoji-bundled:1.2.0-alpha03")
    docs("androidx.enterprise:enterprise-feedback:1.1.0")
    docs("androidx.enterprise:enterprise-feedback-testing:1.1.0")
    docs("androidx.exifinterface:exifinterface:1.3.6")
    docs("androidx.fragment:fragment:1.8.4")
    docs("androidx.fragment:fragment-compose:1.8.4")
    docs("androidx.fragment:fragment-ktx:1.8.4")
    docs("androidx.fragment:fragment-testing:1.8.4")
    docs("androidx.glance:glance:1.1.1")
    docs("androidx.glance:glance-appwidget:1.1.1")
    docs("androidx.glance:glance-appwidget-preview:1.1.1")
    docs("androidx.glance:glance-appwidget-testing:1.1.1")
    docs("androidx.glance:glance-material:1.1.1")
    docs("androidx.glance:glance-material3:1.1.1")
    docs("androidx.glance:glance-preview:1.1.1")
    docs("androidx.glance:glance-template:1.0.0-alpha06")
    docs("androidx.glance:glance-testing:1.1.1")
    docs("androidx.glance:glance-wear-tiles:1.0.0-alpha06")
    docs("androidx.graphics:graphics-core:1.0.2")
    docs("androidx.graphics:graphics-path:1.0.0")
    kmpDocs("androidx.graphics:graphics-shapes:1.0.1")
    docs("androidx.gridlayout:gridlayout:1.1.0-beta01")
    docs("androidx.health.connect:connect-client:1.1.0-alpha10")
    samples("androidx.health.connect:connect-client-samples:1.1.0-alpha09")
    docs("androidx.health.connect:connect-testing:1.0.0-alpha01")
    docs("androidx.health:health-services-client:1.1.0-alpha04")
    docs("androidx.heifwriter:heifwriter:1.1.0-alpha03")
    docs("androidx.hilt:hilt-common:1.2.0")
    docs("androidx.hilt:hilt-navigation:1.2.0")
    docs("androidx.hilt:hilt-navigation-compose:1.2.0")
    docs("androidx.hilt:hilt-navigation-fragment:1.2.0")
    docs("androidx.hilt:hilt-work:1.2.0")
    kmpDocs("androidx.ink:ink-authoring:1.0.0-alpha01")
    kmpDocs("androidx.ink:ink-brush:1.0.0-alpha01")
    kmpDocs("androidx.ink:ink-geometry:1.0.0-alpha01")
    kmpDocs("androidx.ink:ink-nativeloader:1.0.0-alpha01")
    kmpDocs("androidx.ink:ink-rendering:1.0.0-alpha01")
    kmpDocs("androidx.ink:ink-strokes:1.0.0-alpha01")
    docs("androidx.input:input-motionprediction:1.0.0-beta05")
    docs("androidx.interpolator:interpolator:1.0.0")
    docs("androidx.javascriptengine:javascriptengine:1.0.0-beta01")
    docs("androidx.leanback:leanback:1.2.0-alpha04")
    docs("androidx.leanback:leanback-grid:1.0.0-alpha03")
    docs("androidx.leanback:leanback-paging:1.1.0-alpha11")
    docs("androidx.leanback:leanback-preference:1.2.0-alpha04")
    docs("androidx.leanback:leanback-tab:1.1.0-beta01")
    kmpDocs("androidx.lifecycle:lifecycle-common:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-common-java8:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-extensions:2.2.0")
    docs("androidx.lifecycle:lifecycle-livedata:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-livedata-core:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-livedata-core-ktx:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-livedata-ktx:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-process:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-reactivestreams:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-reactivestreams-ktx:2.9.0-alpha05")
    kmpDocs("androidx.lifecycle:lifecycle-runtime:2.9.0-alpha05")
    kmpDocs("androidx.lifecycle:lifecycle-runtime-compose:2.9.0-alpha05")
    kmpDocs("androidx.lifecycle:lifecycle-runtime-ktx:2.9.0-alpha05")
    kmpDocs("androidx.lifecycle:lifecycle-runtime-testing:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-service:2.9.0-alpha05")
    kmpDocs("androidx.lifecycle:lifecycle-viewmodel:2.9.0-alpha05")
    kmpDocs("androidx.lifecycle:lifecycle-viewmodel-compose:2.9.0-alpha05")
    docs("androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.0-alpha05")
    kmpDocs("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0-alpha05")
    kmpDocs("androidx.lifecycle:lifecycle-viewmodel-testing:2.9.0-alpha05")
    docs("androidx.loader:loader:1.1.0")
    docs("androidx.media2:media2-common:1.3.0")
    docs("androidx.media2:media2-player:1.3.0")
    docs("androidx.media2:media2-session:1.3.0")
    docs("androidx.media2:media2-widget:1.3.0")
    docs("androidx.media:media:1.7.0")
    // androidx.media3 is not hosted in androidx
    docsWithoutApiSince("androidx.media3:media3-cast:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-common:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-common-ktx:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-container:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-database:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-datasource:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-datasource-cronet:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-datasource-okhttp:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-datasource-rtmp:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-decoder:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-effect:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-dash:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-hls:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-ima:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-rtsp:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-smoothstreaming:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-workmanager:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-extractor:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-muxer:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-session:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-test-utils:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-test-utils-robolectric:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-transformer:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-ui:1.5.0-beta01")
    docsWithoutApiSince("androidx.media3:media3-ui-leanback:1.5.0-beta01")
    docs("androidx.mediarouter:mediarouter:1.7.0")
    docs("androidx.mediarouter:mediarouter-testing:1.7.0")
    docs("androidx.metrics:metrics-performance:1.0.0-beta01")
    docs("androidx.navigation:navigation-common:2.9.0-alpha01")
    docs("androidx.navigation:navigation-common-ktx:2.9.0-alpha01")
    docs("androidx.navigation:navigation-compose:2.9.0-alpha01")
    docs("androidx.navigation:navigation-dynamic-features-fragment:2.9.0-alpha01")
    docs("androidx.navigation:navigation-dynamic-features-runtime:2.9.0-alpha01")
    docs("androidx.navigation:navigation-fragment:2.9.0-alpha01")
    docs("androidx.navigation:navigation-fragment-compose:2.9.0-alpha01")
    docs("androidx.navigation:navigation-fragment-ktx:2.9.0-alpha01")
    docs("androidx.navigation:navigation-runtime:2.9.0-alpha01")
    docs("androidx.navigation:navigation-runtime-ktx:2.9.0-alpha01")
    docs("androidx.navigation:navigation-testing:2.9.0-alpha01")
    docs("androidx.navigation:navigation-ui:2.9.0-alpha01")
    docs("androidx.navigation:navigation-ui-ktx:2.9.0-alpha01")
    kmpDocs("androidx.paging:paging-common:3.3.1")
    docs("androidx.paging:paging-common-ktx:3.3.1")
    kmpDocs("androidx.paging:paging-compose:3.3.1")
    docs("androidx.paging:paging-guava:3.3.1")
    docs("androidx.paging:paging-runtime:3.3.1")
    docs("androidx.paging:paging-runtime-ktx:3.3.1")
    docs("androidx.paging:paging-rxjava2:3.3.1")
    docs("androidx.paging:paging-rxjava2-ktx:3.3.1")
    docs("androidx.paging:paging-rxjava3:3.3.1")
    kmpDocs("androidx.paging:paging-testing:3.3.1")
    docs("androidx.palette:palette:1.0.0")
    docs("androidx.palette:palette-ktx:1.0.0")
    docs("androidx.pdf:pdf-viewer:1.0.0-alpha03")
    docs("androidx.pdf:pdf-viewer-fragment:1.0.0-alpha03")
    docs("androidx.percentlayout:percentlayout:1.0.1")
    docs("androidx.preference:preference:1.2.1")
    docs("androidx.preference:preference-ktx:1.2.1")
    docs("androidx.print:print:1.1.0-beta01")
    docs("androidx.privacysandbox.activity:activity-client:1.0.0-alpha01")
    docs("androidx.privacysandbox.activity:activity-core:1.0.0-alpha01")
    docs("androidx.privacysandbox.activity:activity-provider:1.0.0-alpha01")
    docs("androidx.privacysandbox.ads:ads-adservices:1.1.0-beta10")
    docs("androidx.privacysandbox.ads:ads-adservices-java:1.1.0-beta10")
    docs("androidx.privacysandbox.sdkruntime:sdkruntime-client:1.0.0-alpha14")
    docs("androidx.privacysandbox.sdkruntime:sdkruntime-core:1.0.0-alpha14")
    docs("androidx.privacysandbox.sdkruntime:sdkruntime-provider:1.0.0-alpha14")
    docs("androidx.privacysandbox.tools:tools:1.0.0-alpha10")
    docs("androidx.privacysandbox.ui:ui-client:1.0.0-alpha10")
    docs("androidx.privacysandbox.ui:ui-core:1.0.0-alpha10")
    docs("androidx.privacysandbox.ui:ui-provider:1.0.0-alpha10")
    docs("androidx.profileinstaller:profileinstaller:1.4.1")
    docs("androidx.recommendation:recommendation:1.0.0")
    docs("androidx.recyclerview:recyclerview:1.4.0-rc01")
    docs("androidx.recyclerview:recyclerview-selection:2.0.0-alpha01")
    docs("androidx.remotecallback:remotecallback:1.0.0-alpha02")
    docs("androidx.resourceinspection:resourceinspection-annotation:1.0.1")
    kmpDocs("androidx.room:room-common:2.7.0-alpha10")
    docs("androidx.room:room-external-antlr:2.7.0-alpha09")
    docs("androidx.room:room-guava:2.7.0-alpha10")
    docs("androidx.room:room-ktx:2.7.0-alpha10")
    kmpDocs("androidx.room:room-migration:2.7.0-alpha10")
    kmpDocs("androidx.room:room-paging:2.7.0-alpha10")
    docs("androidx.room:room-paging-guava:2.7.0-alpha10")
    docs("androidx.room:room-paging-rxjava2:2.7.0-alpha10")
    docs("androidx.room:room-paging-rxjava3:2.7.0-alpha10")
    kmpDocs("androidx.room:room-runtime:2.7.0-alpha10")
    docs("androidx.room:room-rxjava2:2.7.0-alpha10")
    docs("androidx.room:room-rxjava3:2.7.0-alpha10")
    kmpDocs("androidx.room:room-testing:2.7.0-alpha10")
    kmpDocs("androidx.savedstate:savedstate:1.3.0-alpha03")
    docs("androidx.savedstate:savedstate-ktx:1.3.0-alpha03")
    docs("androidx.security:security-app-authenticator:1.0.0-beta01")
    docs("androidx.security:security-app-authenticator-testing:1.0.0-beta01")
    docs("androidx.security:security-crypto:1.1.0-alpha06")
    docs("androidx.security:security-crypto-ktx:1.1.0-alpha06")
    docs("androidx.security:security-identity-credential:1.0.0-alpha03")
    docs("androidx.security:security-state:1.0.0-alpha04")
    docs("androidx.sharetarget:sharetarget:1.2.0")
    docs("androidx.slice:slice-builders:1.1.0-alpha02")
    docs("androidx.slice:slice-builders-ktx:1.0.0-alpha08")
    docs("androidx.slice:slice-core:1.1.0-alpha02")
    docs("androidx.slice:slice-view:1.1.0-alpha02")
    docs("androidx.slidingpanelayout:slidingpanelayout:1.2.0")
    kmpDocs("androidx.sqlite:sqlite:2.5.0-alpha10")
    kmpDocs("androidx.sqlite:sqlite-bundled:2.5.0-alpha10")
    kmpDocs("androidx.sqlite:sqlite-framework:2.5.0-alpha10")
    docs("androidx.sqlite:sqlite-ktx:2.5.0-alpha10")
    docs("androidx.startup:startup-runtime:1.2.0")
    docs("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01")
    // androidx.test is not hosted in androidx
    docsWithoutApiSince("androidx.test:core:1.6.1")
    docsWithoutApiSince("androidx.test:core-ktx:1.6.1")
    docsWithoutApiSince("androidx.test:monitor:1.7.1")
    docsWithoutApiSince("androidx.test:rules:1.6.1")
    docsWithoutApiSince("androidx.test:runner:1.6.1")
    docsWithoutApiSince("androidx.test.espresso:espresso-accessibility:3.6.1")
    docsWithoutApiSince("androidx.test.espresso:espresso-contrib:3.6.1")
    docsWithoutApiSince("androidx.test.espresso:espresso-core:3.6.1")
    docsWithoutApiSince("androidx.test.espresso:espresso-device:1.0.1")
    docsWithoutApiSince("androidx.test.espresso:espresso-idling-resource:3.6.1")
    docsWithoutApiSince("androidx.test.espresso:espresso-intents:3.6.1")
    docsWithoutApiSince("androidx.test.espresso:espresso-remote:3.6.1")
    docsWithoutApiSince("androidx.test.espresso:espresso-web:3.6.1")
    docsWithoutApiSince("androidx.test.espresso.idling:idling-concurrent:3.6.1")
    docsWithoutApiSince("androidx.test.espresso.idling:idling-net:3.6.1")
    docsWithoutApiSince("androidx.test.ext:junit:1.2.1")
    docsWithoutApiSince("androidx.test.ext:junit-ktx:1.2.1")
    docsWithoutApiSince("androidx.test.ext:truth:1.6.0")
    docsWithoutApiSince("androidx.test.services:storage:1.5.0")
    docs("androidx.test.uiautomator:uiautomator:2.4.0-alpha01")
    docs("androidx.tracing:tracing:1.3.0-alpha02")
    docs("androidx.tracing:tracing-ktx:1.3.0-alpha02")
    docs("androidx.tracing:tracing-perfetto:1.0.0")
    // TODO(243405142) clean-up
    docsWithoutApiSince("androidx.tracing:tracing-perfetto-common:1.0.0-alpha16")
    docs("androidx.tracing:tracing-perfetto-handshake:1.0.0")
    docs("androidx.transition:transition:1.5.1")
    docs("androidx.transition:transition-ktx:1.5.1")
    docs("androidx.tv:tv-foundation:1.0.0-alpha11")
    docs("androidx.tv:tv-material:1.0.0")
    docs("androidx.tvprovider:tvprovider:1.1.0-alpha01")
    docs("androidx.vectordrawable:vectordrawable:1.2.0")
    docs("androidx.vectordrawable:vectordrawable-animated:1.2.0")
    docs("androidx.vectordrawable:vectordrawable-seekable:1.0.0")
    docs("androidx.versionedparcelable:versionedparcelable:1.2.0")
    docs("androidx.viewpager2:viewpager2:1.1.0")
    docs("androidx.viewpager:viewpager:1.1.0-alpha01")
    docs("androidx.wear.compose:compose-foundation:1.5.0-alpha04")
    docs("androidx.wear.compose:compose-material:1.5.0-alpha04")
    docs("androidx.wear.compose:compose-material-core:1.5.0-alpha04")
    docs("androidx.wear.compose:compose-material3:1.0.0-alpha27")
    docs("androidx.wear.compose:compose-navigation:1.5.0-alpha04")
    docs("androidx.wear.compose:compose-ui-tooling:1.5.0-alpha04")
    docs("androidx.wear.protolayout:protolayout:1.3.0-alpha02")
    docs("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha02")
    docs("androidx.wear.protolayout:protolayout-expression-pipeline:1.3.0-alpha02")
    docs("androidx.wear.protolayout:protolayout-material:1.3.0-alpha02")
    docs("androidx.wear.protolayout:protolayout-material-core:1.3.0-alpha02")
    docs("androidx.wear.protolayout:protolayout-material3:1.3.0-alpha02")
    docs("androidx.wear.protolayout:protolayout-renderer:1.3.0-alpha02")
    docs("androidx.wear.protolayout:protolayout-testing:1.3.0-alpha02")
    docs("androidx.wear.tiles:tiles:1.5.0-alpha02")
    docs("androidx.wear.tiles:tiles-material:1.5.0-alpha02")
    docs("androidx.wear.tiles:tiles-renderer:1.5.0-alpha02")
    docs("androidx.wear.tiles:tiles-testing:1.5.0-alpha02")
    docs("androidx.wear.tiles:tiles-tooling:1.5.0-alpha02")
    docs("androidx.wear.tiles:tiles-tooling-preview:1.5.0-alpha02")
    docs("androidx.wear.watchface:watchface:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-client:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-client-guava:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-complications:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-complications-data:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-complications-data-source:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-complications-data-source-ktx:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-complications-rendering:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-data:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-editor:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-editor-guava:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-guava:1.3.0-alpha04")
    docs("androidx.wear.watchface:watchface-style:1.3.0-alpha04")
    docs("androidx.wear:wear:1.4.0-alpha01")
    stubs(fileTree(dir: "../wear/wear_stubs/", include: ["com.google.android.wearable-stubs.jar"]))
    docs("androidx.wear:wear-core:1.0.0-alpha01")
    docs("androidx.wear:wear-input:1.2.0-alpha02")
    samples("androidx.wear:wear-input-samples:1.2.0-alpha01")
    docs("androidx.wear:wear-input-testing:1.2.0-alpha02")
    docs("androidx.wear:wear-ongoing:1.1.0-alpha01")
    docs("androidx.wear:wear-phone-interactions:1.1.0-alpha04")
    samples("androidx.wear:wear-phone-interactions-samples:1.1.0-alpha04")
    docs("androidx.wear:wear-remote-interactions:1.1.0-rc01")
    samples("androidx.wear:wear-remote-interactions-samples:1.1.0-alpha02")
    docs("androidx.wear:wear-tooling-preview:1.0.0")
    docs("androidx.webkit:webkit:1.12.1")
    docs("androidx.window.extensions.core:core:1.0.0")
    docs("androidx.window:window:1.4.0-alpha05")
    stubs(fileTree(dir: "../window/stubs/", include: ["window-sidecar-release-0.1.0-alpha01.aar"]))
    kmpDocs("androidx.window:window-core:1.4.0-alpha05")
    stubs("androidx.window:window-extensions:1.0.0-alpha01")
    docs("androidx.window:window-java:1.4.0-alpha05")
    docs("androidx.window:window-rxjava2:1.4.0-alpha05")
    docs("androidx.window:window-rxjava3:1.4.0-alpha05")
    docs("androidx.window:window-testing:1.4.0-alpha05")
    docs("androidx.work:work-gcm:2.10.0-rc01")
    docs("androidx.work:work-multiprocess:2.10.0-rc01")
    docs("androidx.work:work-runtime:2.10.0-rc01")
    docs("androidx.work:work-runtime-ktx:2.10.0-rc01")
    docs("androidx.work:work-rxjava2:2.10.0-rc01")
    docs("androidx.work:work-rxjava3:2.10.0-rc01")
    docs("androidx.work:work-testing:2.10.0-rc01")
}

afterEvaluate {
  tasks["docs"].doFirst {
    println("docs-public:docs starting")
  }
  tasks["docs"].doLast {
    println("docs-public:docs completing")
  }
}
