Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

104 lines
3.3 KiB
Kotlin

/*
* Copyright (C) 2024 OpenAni and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license, which can be found at the following link.
*
* https://github.com/open-ani/ani/blob/main/LICENSE
*/
plugins {
kotlin("multiplatform")
id("com.android.library")
kotlin("plugin.compose")
id("org.jetbrains.compose")
`ani-mpp-lib-targets`
kotlin("plugin.serialization")
id("org.jetbrains.kotlinx.atomicfu")
id("kotlin-parcelize")
id("com.google.devtools.ksp")
id("androidx.room")
idea
}
kotlin {
sourceSets.commonMain.dependencies {
implementation(projects.app.shared.appPlatform)
implementation(projects.utils.intellijAnnotations)
api(projects.app.shared.videoPlayer.videoPlayerApi)
api(projects.app.shared.videoPlayer.torrentSource)
api(mediampLibs.mediamp.api)
api(mediampLibs.mediamp.source.ktxio)
implementation(libs.kotlinx.serialization.json.io)
api(libs.kotlinx.coroutines.core)
api(libs.kotlinx.serialization.core)
implementation(libs.kotlinx.serialization.protobuf)
api(libs.kotlinx.collections.immutable)
implementation(libs.kotlinx.serialization.json)
implementation(projects.utils.io)
implementation(projects.utils.coroutines)
api(projects.danmaku.danmakuUiConfig)
api(projects.utils.xml)
api(projects.client)
api(projects.utils.ipParser)
api(projects.utils.jsonpath)
api(projects.torrent.torrentApi)
api(projects.torrent.anitorrent)
api(libs.datastore.core) // Data Persistence
api(libs.datastore.preferences.core) // Preferences
api(libs.androidx.room.runtime)
api(libs.androidx.room.paging)
api(libs.sqlite.bundled)
api(projects.datasource.datasourceApi)
api(projects.datasource.datasourceCore)
api(projects.datasource.bangumi)
api(projects.datasource.mikan)
api(projects.danmaku.danmakuApi)
api(projects.danmaku.dandanplay)
api(libs.paging.common)
implementation(libs.koin.core)
}
sourceSets.commonTest.dependencies {
implementation(projects.utils.uiTesting)
}
sourceSets.androidMain.dependencies {
implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.androidx.compose.ui.tooling)
implementation(libs.androidx.browser)
api(libs.androidx.lifecycle.runtime.ktx)
api(libs.androidx.lifecycle.service)
api(libs.androidx.lifecycle.process)
}
sourceSets.nativeMain.dependencies {
implementation(libs.stately.common) // fixes koin bug
}
}
android {
namespace = "me.him188.ani.app.data"
buildFeatures {
aidl = true
}
}
room {
schemaDirectory("$projectDir/schemas")
}
dependencies {
add("kspDesktop", libs.androidx.room.compiler)
add("kspAndroid", libs.androidx.room.compiler)
if (enableIos) {
add("kspIosArm64", libs.androidx.room.compiler)
add("kspIosSimulatorArm64", libs.androidx.room.compiler)
}
debugImplementation(libs.androidx.compose.ui.tooling)
}