| /* |
| * Copyright 2020 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| /** |
| * 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 org.jetbrains.kotlin.gradle.tasks.KotlinCompile |
| |
| plugins { |
| id("AndroidXPlugin") |
| id("AndroidXComposePlugin") |
| id("com.android.application") |
| id("org.jetbrains.kotlin.android") |
| } |
| |
| android { |
| compileSdk 35 |
| defaultConfig { |
| applicationId "androidx.window.demo" |
| minSdkVersion 23 |
| targetSdkVersion 35 |
| } |
| buildFeatures { |
| viewBinding true |
| } |
| namespace "androidx.window.demo" |
| signingConfigs { |
| config { |
| keyAlias 'key' |
| keyPassword 'password' |
| storeFile file('keystore.jks') |
| storePassword 'password' |
| } |
| } |
| buildTypes { |
| configureEach { |
| signingConfig signingConfigs.config |
| } |
| release { |
| minifyEnabled true |
| applicationIdSuffix ".release" |
| } |
| debug { |
| applicationIdSuffix ".debug" |
| } |
| } |
| compileOptions { |
| coreLibraryDesugaringEnabled = true |
| } |
| } |
| |
| dependencies { |
| implementation(project(":appcompat:appcompat")) |
| implementation("androidx.core:core-ktx:1.3.2") |
| implementation("androidx.activity:activity:1.9.0") |
| implementation("androidx.recyclerview:recyclerview:1.2.1") |
| // TODO(b/262583150): force tracing 1.1.0 since its required by androidTest |
| implementation("androidx.tracing:tracing:1.1.0") |
| api(libs.constraintLayout) |
| implementation("androidx.lifecycle:lifecycle-viewmodel:2.4.0") |
| implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.4.0") |
| implementation "androidx.browser:browser:1.3.0" |
| implementation("androidx.startup:startup-runtime:1.1.0") |
| |
| // Compose dependencies |
| implementation(project(":compose:runtime:runtime")) |
| implementation(project(":compose:foundation:foundation")) |
| implementation(project(":compose:foundation:foundation-layout")) |
| implementation(project(":compose:ui:ui-tooling-preview")) |
| implementation(project(":compose:ui:ui-tooling")) |
| implementation("androidx.activity:activity-compose:1.9.0") |
| implementation("androidx.compose.material3:material3:1.2.1") |
| implementation("androidx.compose.material:material-icons-extended:1.6.8") |
| implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3") |
| |
| implementation(project(":window:window-java")) |
| implementation(project(":window:window-demos:demo-common")) |
| |
| debugImplementation(libs.leakcanary) |
| |
| androidTestImplementation(libs.testCore) |
| androidTestImplementation(libs.testExtJunit) |
| androidTestImplementation(libs.testRunner) |
| androidTestImplementation(libs.testRules) |
| androidTestImplementation(libs.espressoCore) |
| androidTestImplementation(project(":window:window-testing")) |
| androidTestImplementation(project(":window:window-demos:demo-common")) |
| |
| coreLibraryDesugaring(libs.desugarJdkLibs) |
| } |
| |
| // Allow usage of Kotlin's @OptIn. |
| tasks.withType(KotlinCompile).configureEach { |
| kotlinOptions { |
| freeCompilerArgs += ["-opt-in=kotlin.RequiresOptIn"] |
| } |
| } |