124 lines
3.7 KiB
Plaintext
124 lines
3.7 KiB
Plaintext
val ktorVersion = "2.3.2"
|
|
|
|
object SqlDelight {
|
|
const val runtime = "com.squareup.sqldelight:runtime:1.5.4"
|
|
const val android = "com.squareup.sqldelight:android-driver:1.5.4"
|
|
const val native = "com.squareup.sqldelight:native-driver:1.5.4"
|
|
|
|
}
|
|
|
|
plugins {
|
|
kotlin("multiplatform")
|
|
id("com.android.library")
|
|
id("com.squareup.sqldelight")
|
|
kotlin("plugin.serialization") version "1.9.0"
|
|
id("org.jetbrains.kotlinx.kover")
|
|
}
|
|
|
|
kotlin {
|
|
androidTarget()
|
|
|
|
listOf(
|
|
iosX64(),
|
|
iosArm64(),
|
|
// iosSimulatorArm64()
|
|
).forEach {
|
|
it.binaries.framework {
|
|
baseName = "shared"
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
val commonMain by getting {
|
|
dependencies {
|
|
implementation("io.ktor:ktor-client-core:$ktorVersion")
|
|
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
|
|
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
|
|
implementation("io.ktor:ktor-client-logging:$ktorVersion")
|
|
implementation("io.ktor:ktor-client-auth:$ktorVersion")
|
|
implementation("io.ktor:ktor-client-cio:$ktorVersion")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0")
|
|
|
|
implementation("org.jsoup:jsoup:1.15.4")
|
|
|
|
//Dependency Injection
|
|
implementation("org.kodein.di:kodein-di:7.12.0")
|
|
|
|
//Settings
|
|
implementation("com.russhwolf:multiplatform-settings-no-arg:1.0.0-RC")
|
|
|
|
//Logging
|
|
implementation("io.github.aakira:napier:2.6.1")
|
|
|
|
// Sql
|
|
implementation(SqlDelight.runtime)
|
|
}
|
|
}
|
|
val commonTest by getting {
|
|
dependencies {
|
|
implementation(kotlin("test-common"))
|
|
implementation(kotlin("test-annotations-common"))
|
|
}
|
|
}
|
|
val androidMain by getting {
|
|
dependencies {
|
|
implementation("com.squareup.okhttp3:okhttp:4.11.0")
|
|
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.0")
|
|
|
|
// Sql
|
|
implementation(SqlDelight.android)
|
|
}
|
|
}
|
|
val androidUnitTest by getting {
|
|
dependencies {
|
|
implementation(kotlin("test-junit"))
|
|
implementation("junit:junit:4.13.2")
|
|
}
|
|
}
|
|
val iosX64Main by getting
|
|
val iosArm64Main by getting
|
|
// val iosSimulatorArm64Main by getting
|
|
val iosMain by creating {
|
|
dependsOn(commonMain)
|
|
iosX64Main.dependsOn(this)
|
|
iosArm64Main.dependsOn(this)
|
|
// iosSimulatorArm64Main.dependsOn(this)
|
|
|
|
dependencies {
|
|
implementation(SqlDelight.native)
|
|
implementation("io.ktor:ktor-client-ios:2.1.1")
|
|
}
|
|
}
|
|
val iosX64Test by getting
|
|
val iosArm64Test by getting
|
|
// val iosSimulatorArm64Test by getting
|
|
val iosTest by creating {
|
|
dependsOn(commonTest)
|
|
iosX64Test.dependsOn(this)
|
|
iosArm64Test.dependsOn(this)
|
|
// iosSimulatorArm64Test.dependsOn(this)
|
|
}
|
|
}
|
|
}
|
|
|
|
android {
|
|
compileSdk = 33
|
|
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
|
|
defaultConfig {
|
|
minSdk = 21
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
namespace = "bou.amine.apps.readerforselfossv2"
|
|
}
|
|
|
|
|
|
|
|
sqldelight {
|
|
database("ReaderForSelfossDB") {
|
|
packageName = "bou.amine.apps.readerforselfossv2.dao"
|
|
sourceFolders = listOf("sqldelight")
|
|
}
|
|
} |