104 lines
3.3 KiB
Kotlin
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)
|
|
}
|