1/* 2 * Copyright (C) 2017 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 */ 24import androidx.build.SoftwareType 25import androidx.build.PlatformIdentifier 26import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType 27 28plugins { 29 id("AndroidXPlugin") 30} 31 32androidXMultiplatform { 33 jvm() 34 mac() 35 linux() 36 ios() 37 38 defaultPlatform(PlatformIdentifier.JVM) 39 40 sourceSets { 41 commonMain { 42 dependencies { 43 api(libs.kotlinStdlib) 44 api(libs.kotlinCoroutinesCore) 45 api("androidx.annotation:annotation:1.8.1") 46 } 47 } 48 49 jvmMain { 50 dependsOn(commonMain) 51 dependencies { 52 api(libs.jspecify) 53 } 54 } 55 56 jvmTest { 57 dependsOn(commonTest) 58 dependencies { 59 implementation(libs.junit) 60 implementation(libs.mockitoCore4) 61 } 62 } 63 64 nonJvmCommonMain { 65 dependsOn(commonMain) 66 dependencies { 67 implementation(libs.atomicFu) 68 } 69 } 70 71 targets.configureEach { target -> 72 if (target.platformType !in [KotlinPlatformType.jvm, KotlinPlatformType.common]) { 73 target.compilations["main"].defaultSourceSet { 74 dependsOn(nonJvmCommonMain) 75 } 76 } 77 } 78 } 79} 80 81androidx { 82 name = "Lifecycle-Common" 83 type = SoftwareType.PUBLISHED_LIBRARY 84 inceptionYear = "2017" 85 description = "Android Lifecycle-Common" 86} 87