import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

import static androidx.build.dependencies.DependenciesKt.*

plugins {
    id("AndroidXPlugin")
    id("com.android.library")
    id("AndroidXUiPlugin")
    id("org.jetbrains.kotlin.android")
}

dependencies {
    kotlinPlugin project(path: ":compose:compose-compiler")

    implementation(KOTLIN_STDLIB)

    implementation "androidx.activity:activity:1.0.0-alpha01"
    api "androidx.annotation:annotation:1.1.0"

    implementation project(":compose:compose-runtime")
    implementation project(":ui:ui-core")
    implementation project(':ui:ui-framework')
    implementation project(':ui:ui-foundation')
    implementation project(':ui:ui-layout')
    implementation project(':ui:ui-text')
    implementation project(':ui:ui-text:integration-tests:ui-text-samples')
}

android {
    tasks.withType(KotlinCompile).configureEach {
        kotlinOptions {
            useIR = true
        }
    }
}

androidx {
    // b/142788501: Set toolingProject to true so Dokka does not generate reference docs for this project
    toolingProject = true
}
