146 lines
3.8 KiB
Kotlin
146 lines
3.8 KiB
Kotlin
import com.codingfeline.buildkonfig.compiler.FieldSpec.Type.BOOLEAN
|
|
import com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING
|
|
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
|
|
|
plugins {
|
|
alias(libs.plugins.kotlin.multiplatform)
|
|
alias(libs.plugins.android.library)
|
|
alias(libs.plugins.kotlin.parcelize)
|
|
alias(libs.plugins.moko.resources)
|
|
alias(libs.plugins.compose)
|
|
alias(libs.plugins.build.konfig)
|
|
}
|
|
|
|
group = "dev.zt64.hyperion"
|
|
version = "0.1.0"
|
|
|
|
@OptIn(ExperimentalKotlinGradlePluginApi::class)
|
|
kotlin {
|
|
targetHierarchy.default()
|
|
|
|
jvmToolchain(libs.versions.jvm.get().toInt())
|
|
|
|
androidTarget()
|
|
jvm("desktop")
|
|
|
|
sourceSets {
|
|
val commonMain by getting {
|
|
dependencies {
|
|
api(projects.innertube)
|
|
|
|
api(compose.ui)
|
|
api(compose.foundation)
|
|
api(compose.runtime)
|
|
api(compose.animation)
|
|
api(compose.animationGraphics)
|
|
api(compose.materialIconsExtended)
|
|
|
|
implementation(compose.material3)
|
|
api(compose.uiTooling)
|
|
api(compose.preview)
|
|
|
|
api(libs.image.loader)
|
|
api(libs.kotlinx.collections.immutable)
|
|
|
|
api(libs.moko.resources.compose)
|
|
|
|
api(libs.settings.noarg)
|
|
api(libs.settings.coroutines)
|
|
|
|
api(libs.paging.compose.common)
|
|
api(libs.paging.common)
|
|
|
|
api(libs.napier)
|
|
|
|
api(libs.window.size.multiplatform)
|
|
|
|
implementation(libs.material.kolor)
|
|
implementation(libs.bundles.ktor)
|
|
implementation(libs.ktor.okhttp)
|
|
implementation(libs.uuid)
|
|
implementation(libs.koin.compose)
|
|
implementation(libs.file.picker)
|
|
implementation(libs.color.picker)
|
|
implementation("com.russhwolf:multiplatform-settings-test:1.1.0")
|
|
}
|
|
}
|
|
|
|
named("androidMain") {
|
|
dependsOn(commonMain)
|
|
dependencies {
|
|
api(libs.bundles.androidx)
|
|
api(libs.bundles.media3)
|
|
|
|
implementation(libs.compose.material3)
|
|
|
|
api(libs.compose.shimmer)
|
|
|
|
api(libs.navigation)
|
|
api(libs.koin.androidx.compose)
|
|
}
|
|
}
|
|
|
|
named("desktopMain") {
|
|
dependsOn(commonMain)
|
|
dependencies {
|
|
implementation(compose.desktop.currentOs)
|
|
}
|
|
}
|
|
|
|
all {
|
|
languageSettings {
|
|
enableLanguageFeature("ContextReceivers")
|
|
optIn("androidx.compose.material3.ExperimentalMaterial3Api")
|
|
optIn("androidx.compose.foundation.ExperimentalFoundationApi")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
android {
|
|
namespace = "$group.common"
|
|
compileSdk = 34
|
|
|
|
defaultConfig {
|
|
minSdk = 21
|
|
}
|
|
}
|
|
|
|
configurations.all {
|
|
resolutionStrategy {
|
|
dependencySubstitution {
|
|
substitute(module("org.jetbrains.compose.material:material"))
|
|
.using(module("org.jetbrains.compose.material3:material3:${libs.versions.compose.multiplatform}"))
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
debugApi(compose.uiTooling)
|
|
debugApi(compose.preview)
|
|
debugImplementation(libs.compose.runtime.tracing)
|
|
debugImplementation("com.russhwolf:multiplatform-settings-test:1.1.0")
|
|
}
|
|
|
|
multiplatformResources {
|
|
multiplatformResourcesPackage = group.toString()
|
|
}
|
|
|
|
buildkonfig {
|
|
packageName = group.toString()
|
|
|
|
defaultConfigs {
|
|
buildConfigField(STRING, "VERSION_NAME", version.toString())
|
|
buildConfigField(BOOLEAN, "DEBUG", "false")
|
|
}
|
|
|
|
defaultConfigs("debug") {
|
|
buildConfigField(BOOLEAN, "DEBUG", "true")
|
|
}
|
|
|
|
targetConfigs {
|
|
android {
|
|
|
|
}
|
|
}
|
|
} |