1/* 2 * Copyright (C) 2025 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17/** 18 * This file was created using the `create_project.py` script located in the 19 * `<AndroidX root>/development/project-creator` directory. 20 * 21 * Please use that script when creating a new project, rather than copying an existing project and 22 * modifying its settings. 23 */ 24 25import androidx.build.KotlinTarget 26import androidx.build.SoftwareType 27 28plugins { 29 id("AndroidXPlugin") 30 id("com.android.library") 31 id("org.jetbrains.kotlin.android") 32} 33 34dependencies { 35 api(libs.kotlinStdlib) 36 api(libs.kotlinCoroutinesAndroid) 37 api project(":appfunctions:appfunctions-common") 38 39 // Internal dependencies 40 implementation("androidx.appsearch:appsearch:1.1.0-beta01") 41 implementation("androidx.appsearch:appsearch-platform-storage:1.1.0-beta01") 42 implementation("androidx.annotation:annotation:1.9.0-rc01") 43 implementation(libs.kotlinCoroutinesGuava) { 44 exclude group: "com.google.guava", module: "guava" 45 } 46 // Compile only dependencies 47 compileOnly(project(":appfunctions:appfunctions-stubs")) 48 49 // Test dependencies 50 testImplementation(libs.junit) 51 testImplementation(libs.truth) 52 testImplementation(libs.testMonitor) 53 testImplementation(libs.kotlinCoroutinesTest) 54 testImplementation(libs.testRunner) 55 testImplementation(project(":appfunctions:appfunctions-stubs")) 56 testImplementation(libs.mockitoCore) 57 testImplementation(libs.testCore) 58 testImplementation(libs.robolectric) 59 testImplementation(libs.kotlinTest) 60 61 androidTestCompileOnly(project(":appfunctions:appfunctions-stubs")) 62 androidTestImplementation("androidx.appsearch:appsearch:1.1.0-beta01") 63 androidTestImplementation("androidx.appsearch:appsearch-platform-storage:1.1.0-beta01") 64 androidTestImplementation(libs.junit) 65 androidTestImplementation(libs.truth) 66 androidTestImplementation(libs.kotlinCoroutinesTest) 67 androidTestImplementation(libs.testParameterInjector) 68 androidTestImplementation('androidx.concurrent:concurrent-futures-ktx:1.1.0') 69 androidTestImplementation(libs.guavaAndroid) 70 androidTestImplementation(libs.testMonitor) 71 androidTestImplementation(libs.testRunner) 72 androidTestImplementation(libs.kotlinTest) 73} 74 75android { 76 compileSdk = 36 77 buildTypes.configureEach { 78 consumerProguardFiles "proguard-rules.pro" 79 } 80 namespace = "androidx.appfunctions.runtime" 81} 82 83androidx { 84 name = "androidx.appfunctions:appfunctions-runtime" 85 type = SoftwareType.PUBLISHED_LIBRARY 86 //TODO(b/407634710): Task :appfunctions:appfunctions-runtime:kspReleaseAndroidTestKotlin fails when targeting Kotlin 2 87 kotlinTarget = KotlinTarget.KOTLIN_1_9 88 inceptionYear = "2025" 89 description = "Runtime library for the app to provide and interact with AppFunctions" 90} 91