/**
 * 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-rc01")
    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-alpha05")
    docs("androidx.appsearch:appsearch-builtin-types:1.1.0-alpha05")
    docs("androidx.appsearch:appsearch-ktx:1.1.0-alpha05")
    docs("androidx.appsearch:appsearch-local-storage:1.1.0-alpha05")
    docs("androidx.appsearch:appsearch-platform-storage:1.1.0-alpha05")
    docs("androidx.appsearch:appsearch-play-services-storage:1.1.0-alpha05")
    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-alpha02")
    docs("androidx.benchmark:benchmark-junit4:1.4.0-alpha02")
    docs("androidx.benchmark:benchmark-macro:1.4.0-alpha02")
    docs("androidx.benchmark:benchmark-macro-junit4:1.4.0-alpha02")
    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-alpha03")
    docs("androidx.collection:collection-ktx:1.5.0-alpha03")
    kmpDocs("androidx.compose.animation:animation:1.8.0-alpha03")
    kmpDocs("androidx.compose.animation:animation-core:1.8.0-alpha03")
    kmpDocs("androidx.compose.animation:animation-graphics:1.8.0-alpha03")
    kmpDocs("androidx.compose.foundation:foundation:1.8.0-alpha03")
    kmpDocs("androidx.compose.foundation:foundation-layout:1.8.0-alpha03")
    kmpDocs("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha04")
    kmpDocs("androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha04")
    kmpDocs("androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha04")
    kmpDocs("androidx.compose.material3.adaptive:adaptive-render-strategy:1.1.0-alpha04")
    kmpDocs("androidx.compose.material3:material3:1.4.0-alpha01")
    kmpDocs("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha01")
    kmpDocs("androidx.compose.material3:material3-common:1.0.0-alpha01")
    kmpDocs("androidx.compose.material3:material3-window-size-class:1.4.0-alpha01")
    kmpDocs("androidx.compose.material:material:1.8.0-alpha03")
    kmpDocs("androidx.compose.material:material-icons-core:1.7.3")
    docs("androidx.compose.material:material-navigation:1.8.0-alpha03")
    kmpDocs("androidx.compose.material:material-ripple:1.8.0-alpha03")
    kmpDocs("androidx.compose.runtime:runtime:1.8.0-alpha03")
    docs("androidx.compose.runtime:runtime-livedata:1.8.0-alpha03")
    docs("androidx.compose.runtime:runtime-rxjava2:1.8.0-alpha03")
    docs("androidx.compose.runtime:runtime-rxjava3:1.8.0-alpha03")
    kmpDocs("androidx.compose.runtime:runtime-saveable:1.8.0-alpha03")
    docs("androidx.compose.runtime:runtime-tracing:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui:1.8.0-alpha03")
    docs("androidx.compose.ui:ui-android-stubs:1.7.0-beta06")
    kmpDocs("androidx.compose.ui:ui-geometry:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-graphics:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-test:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-test-junit4:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-text:1.8.0-alpha03")
    docs("androidx.compose.ui:ui-text-google-fonts:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-tooling:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-tooling-data:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-tooling-preview:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-unit:1.8.0-alpha03")
    kmpDocs("androidx.compose.ui:ui-util:1.8.0-alpha03")
    docs("androidx.compose.ui:ui-viewbinding:1.8.0-alpha03")
    docs("androidx.concurrent:concurrent-futures:1.2.0")
    docs("androidx.concurrent:concurrent-futures-ktx:1.2.0")
    docs("androidx.constraintlayout:constraintlayout:2.2.0-beta01")
    kmpDocs("androidx.constraintlayout:constraintlayout-compose:1.1.0-beta01")
    docs("androidx.constraintlayout:constraintlayout-core:1.1.0-beta01")
    docs("androidx.contentpager:contentpager:1.0.0")
    docs("androidx.coordinatorlayout:coordinatorlayout:1.3.0-alpha02")
    docs("androidx.core:core:1.15.0-beta01")
    // 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-beta01")
    docs("androidx.core:core-location-altitude:1.0.0-alpha02")
    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-beta01")
    docs("androidx.core.uwb:uwb:1.0.0-alpha08")
    docs("androidx.core.uwb:uwb-rxjava3:1.0.0-alpha08")
    docs("androidx.credentials:credentials:1.5.0-alpha05")
    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-alpha05")
    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.0")
    docs("androidx.glance:glance-appwidget:1.1.0")
    docs("androidx.glance:glance-appwidget-preview:1.1.0")
    docs("androidx.glance:glance-appwidget-testing:1.1.0")
    docs("androidx.glance:glance-material:1.1.0")
    docs("androidx.glance:glance-material3:1.1.0")
    docs("androidx.glance:glance-preview:1.1.0")
    docs("androidx.glance:glance-template:1.0.0-alpha06")
    docs("androidx.glance:glance-testing:1.1.0")
    docs("androidx.glance:glance-wear-tiles:1.0.0-alpha06")
    docs("androidx.graphics:graphics-core:1.0.1")
    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-alpha09")
    samples("androidx.health.connect:connect-client-samples:1.1.0-alpha07")
    docs("androidx.health.connect:connect-testing:1.0.0-alpha01")
    docs("androidx.health:health-services-client:1.1.0-alpha03")
    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-alpha04")
    docs("androidx.lifecycle:lifecycle-common-java8:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-extensions:2.2.0")
    docs("androidx.lifecycle:lifecycle-livedata:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-livedata-core:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-livedata-core-ktx:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-livedata-ktx:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-process:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-reactivestreams:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-reactivestreams-ktx:2.9.0-alpha04")
    kmpDocs("androidx.lifecycle:lifecycle-runtime:2.9.0-alpha04")
    kmpDocs("androidx.lifecycle:lifecycle-runtime-compose:2.9.0-alpha04")
    kmpDocs("androidx.lifecycle:lifecycle-runtime-ktx:2.9.0-alpha04")
    kmpDocs("androidx.lifecycle:lifecycle-runtime-testing:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-service:2.9.0-alpha04")
    kmpDocs("androidx.lifecycle:lifecycle-viewmodel:2.9.0-alpha04")
    kmpDocs("androidx.lifecycle:lifecycle-viewmodel-compose:2.9.0-alpha04")
    docs("androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.0-alpha04")
    kmpDocs("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0-alpha04")
    kmpDocs("androidx.lifecycle:lifecycle-viewmodel-testing:2.9.0-alpha04")
    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-alpha01")
    docsWithoutApiSince("androidx.media3:media3-common:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-common-ktx:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-container:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-database:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-datasource:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-datasource-cronet:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-datasource-okhttp:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-datasource-rtmp:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-decoder:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-effect:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-dash:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-hls:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-ima:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-rtsp:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-smoothstreaming:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-exoplayer-workmanager:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-extractor:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-muxer:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-session:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-test-utils:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-test-utils-robolectric:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-transformer:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-ui:1.5.0-alpha01")
    docsWithoutApiSince("androidx.media3:media3-ui-leanback:1.5.0-alpha01")
    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.8.2")
    docs("androidx.navigation:navigation-common-ktx:2.8.2")
    docs("androidx.navigation:navigation-compose:2.8.2")
    docs("androidx.navigation:navigation-dynamic-features-fragment:2.8.2")
    docs("androidx.navigation:navigation-dynamic-features-runtime:2.8.2")
    docs("androidx.navigation:navigation-fragment:2.8.2")
    docs("androidx.navigation:navigation-fragment-compose:2.8.2")
    docs("androidx.navigation:navigation-fragment-ktx:2.8.2")
    docs("androidx.navigation:navigation-runtime:2.8.2")
    docs("androidx.navigation:navigation-runtime-ktx:2.8.2")
    docs("androidx.navigation:navigation-testing:2.8.2")
    docs("androidx.navigation:navigation-ui:2.8.2")
    docs("androidx.navigation:navigation-ui-ktx:2.8.2")
    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-alpha09")
    docs("androidx.room:room-external-antlr:2.7.0-alpha06")
    docs("androidx.room:room-guava:2.7.0-alpha09")
    docs("androidx.room:room-ktx:2.7.0-alpha09")
    kmpDocs("androidx.room:room-migration:2.7.0-alpha09")
    kmpDocs("androidx.room:room-paging:2.7.0-alpha09")
    docs("androidx.room:room-paging-guava:2.7.0-alpha09")
    docs("androidx.room:room-paging-rxjava2:2.7.0-alpha09")
    docs("androidx.room:room-paging-rxjava3:2.7.0-alpha09")
    kmpDocs("androidx.room:room-runtime:2.7.0-alpha09")
    docs("androidx.room:room-rxjava2:2.7.0-alpha09")
    docs("androidx.room:room-rxjava3:2.7.0-alpha09")
    kmpDocs("androidx.room:room-testing:2.7.0-alpha09")
    kmpDocs("androidx.savedstate:savedstate:1.3.0-alpha02")
    docs("androidx.savedstate:savedstate-ktx:1.3.0-alpha02")
    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-alpha09")
    kmpDocs("androidx.sqlite:sqlite-bundled:2.5.0-alpha09")
    kmpDocs("androidx.sqlite:sqlite-framework:2.5.0-alpha09")
    docs("androidx.sqlite:sqlite-ktx:2.5.0-alpha09")
    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-alpha03")
    docs("androidx.wear.compose:compose-material:1.5.0-alpha03")
    docs("androidx.wear.compose:compose-material-core:1.5.0-alpha03")
    docs("androidx.wear.compose:compose-material3:1.0.0-alpha26")
    docs("androidx.wear.compose:compose-navigation:1.5.0-alpha03")
    docs("androidx.wear.compose:compose-ui-tooling:1.5.0-alpha03")
    docs("androidx.wear.protolayout:protolayout:1.3.0-alpha01")
    docs("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha01")
    docs("androidx.wear.protolayout:protolayout-expression-pipeline:1.3.0-alpha01")
    docs("androidx.wear.protolayout:protolayout-material:1.3.0-alpha01")
    docs("androidx.wear.protolayout:protolayout-material-core:1.3.0-alpha01")
    docs("androidx.wear.protolayout:protolayout-material3:1.0.0-alpha01")
    docs("androidx.wear.protolayout:protolayout-renderer:1.3.0-alpha01")
    docs("androidx.wear.tiles:tiles:1.5.0-alpha01")
    docs("androidx.wear.tiles:tiles-material:1.5.0-alpha01")
    docs("androidx.wear.tiles:tiles-renderer:1.5.0-alpha01")
    docs("androidx.wear.tiles:tiles-testing:1.5.0-alpha01")
    docs("androidx.wear.tiles:tiles-tooling:1.5.0-alpha01")
    docs("androidx.wear.tiles:tiles-tooling-preview:1.5.0-alpha01")
    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-beta01")
    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-alpha04")
    stubs(fileTree(dir: "../window/stubs/", include: ["window-sidecar-release-0.1.0-alpha01.aar"]))
    kmpDocs("androidx.window:window-core:1.4.0-alpha04")
    stubs("androidx.window:window-extensions:1.0.0-alpha01")
    docs("androidx.window:window-java:1.4.0-alpha04")
    docs("androidx.window:window-rxjava2:1.4.0-alpha04")
    docs("androidx.window:window-rxjava3:1.4.0-alpha04")
    docs("androidx.window:window-testing:1.4.0-alpha04")
    docs("androidx.work:work-gcm:2.10.0-beta01")
    docs("androidx.work:work-multiprocess:2.10.0-beta01")
    docs("androidx.work:work-runtime:2.10.0-beta01")
    docs("androidx.work:work-runtime-ktx:2.10.0-beta01")
    docs("androidx.work:work-rxjava2:2.10.0-beta01")
    docs("androidx.work:work-rxjava3:2.10.0-beta01")
    docs("androidx.work:work-testing:2.10.0-beta01")
}

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