/**
 * 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.
 */
import androidx.build.LibraryType

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

dependencies {
    implementation(libs.kotlinStdlib)
    api("androidx.annotation:annotation:1.8.1")
    api("androidx.compose.runtime:runtime:1.1.1")
}

android {
    namespace = "androidx.glance.preview"
}

androidx {
    name = "Glance Preview"
    type = LibraryType.PUBLISHED_LIBRARY
    inceptionYear = "2022"
    description = "Glance preview library. This library provides the API required for marking the" +
            "glance @Composable components that should have preview in the Android Studio."
    legacyDisableKotlinStrictApiMode = true
}
