Skip to content
Snippets Groups Projects
Commit adc985d5 authored by William Walker's avatar William Walker
Browse files

chore: remove unused app deps and build logic

parent 965a406f
Branches feature/remove_desktop_app
No related tags found
No related merge requests found
......@@ -6,8 +6,6 @@ plugins {
dependencies {
implementation(libs.build.androidLibrary)
implementation(libs.build.spotless)
implementation(libs.build.composeCompiler)
implementation(libs.build.jetbrainsCmp)
implementation(libs.build.gitSemVer)
}
......
plugins {
id("org.jetbrains.kotlin.plugin.compose")
}
composeCompiler {
// Needed to enable Layout Inspector
includeSourceInformation.set(true)
}
\ No newline at end of file
plugins {
id("com.diffplug.spotless")
}
spotless {
kotlin {
target("**/*.kt")
targetExclude("${layout.buildDirectory}/**/*.kt")
ktlint().editorConfigOverride(
mapOf(
"indent_size" to "2",
"continuation_indent_size" to "2"
)
)
.customRuleSets(
listOf(
"io.nlopez.compose.rules:ktlint:0.4.10"
)
)
licenseHeaderFile(rootProject.file("spotless/appHeader.kt"))
trimTrailingWhitespace()
endWithNewline()
}
format("kts") {
target("**/*.kts")
targetExclude("${layout.buildDirectory}/**/*.kts")
// Adapted from https://github.com/GetStream/whatsApp-clone-compose/blob/d14a5e02ea4db4b586d855d9c61db51f99b9c962/build-logic/convention/src/main/kotlin/SpotlessConventionPlugin.kt#L27
// Look for the first XML tag that isn't a comment (<!--) or the xml declaration (<?xml)
licenseHeaderFile(rootProject.file("spotless/appHeader.kt"), "(^(?![\\/ ]\\*).*\$)")
trimTrailingWhitespace()
endWithNewline()
}
format("xml") {
target("**/*.xml")
licenseHeaderFile(rootProject.file("spotless/appHeader.xml"), "(<[^!?])")
trimTrailingWhitespace()
endWithNewline()
}
}
\ No newline at end of file
plugins {
id("convention.composeComp")
id("org.jetbrains.compose")
}
\ No newline at end of file
......@@ -8,11 +8,8 @@ plugins {
alias(libs.plugins.kotlinxSerialization) apply false
alias(libs.plugins.ktorfit) apply false
alias(libs.plugins.kotestMultiplatform) apply false
alias(libs.plugins.jetbrainsCompose) apply false
alias(libs.plugins.composeCompiler) apply false
alias(libs.plugins.spotless) apply false
alias(libs.plugins.dokka) apply false
alias(libs.plugins.gitSemVer) apply false
alias(libs.plugins.dataframe) apply false
alias(libs.plugins.room) apply false
}
\ No newline at end of file
[versions]
compose-multiplatform = "1.7.1"
agp = "8.2.2"
java = "17"
kotlin = "2.1.0"
......@@ -16,32 +15,16 @@ ktorfit = "2.2.0"
coroutines = "1.10.1"
datetime = "0.6.1"
sandwich = "2.0.10"
arrow = "1.2.4"
arrow = "2.0.0"
# Main Koin version - for core, android deps
koin = "4.0.1"
koinTest = "4.0.1"
gradleBuildConfigPlugin = "5.5.1"
akkurate = "0.11.0"
# Koin version for Compose multiplatform
koinComposeMultiplatform = "4.0.1"
mosaic = "0.13.0"
molecule = "2.0.0"
adaptive = "1.0.1"
adaptive-navigation = "1.0.0"
jetbrainsNavigationCompose = "2.8.0-alpha09"
jetbrainsLifecycle = "2.8.4"
androidxRoom = "2.7.0-alpha11"
sqlite = "2.5.0-SNAPSHOT"
androidxDatastore = "1.1.1"
exposed = "0.56.0"
landscapistCoil3 = "2.3.6"
composetheme = "1.2.0-alpha"
voyager = "1.1.0-beta02"
dotenv-vault = "0.0.3"
kermit = "2.0.4"
jline = "3.27.1"
appdirs = "1.2.0"
kstore = "0.9.1"
kmpIo = "0.1.5"
......@@ -54,12 +37,6 @@ klaxon = "5.6"
kotest = "6.0.0.M1"
kotest-datatest = "5.9.1"
composables-unstyled = "1.19.1"
bottomsheet = "0.1.5"
alertKmp = "1.0.7"
filekit = "0.8.7"
composetray = "0.4.0"
dokka = "2.0.0"
spotless = "7.0.0.BETA4"
gitSemVer = "3.1.7"
......@@ -88,7 +65,6 @@ slf4j-api = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
kotlinx-coroutines-debug = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-debug", version.ref = "coroutines" }
kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" }
kotlinx-coroutines-slf4j = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-slf4j", version.ref = "coroutines" }
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "datetime" }
kotlinx-io = { module = "org.jetbrains.kotlinx:kotlinx-io-core", version.ref = "kotlinx-io" }
......@@ -98,7 +74,6 @@ ktorfit-lib = { module = "de.jensklingenberg.ktorfit:ktorfit-lib-light", version
kermit = { module = "co.touchlab:kermit", version.ref = "kermit" }
kermit-koin = { module = "co.touchlab:kermit-koin", version.ref = "kermit" }
jline = { module = "org.jline:jline", version.ref = "jline" }
appdirs = { module = "ca.gosyer:kotlin-multiplatform-appdirs", version.ref = "appdirs" }
kstore = { module = "io.github.xxfast:kstore", version.ref = "kstore" }
kstore-file = { module = "io.github.xxfast:kstore-file", version.ref = "kstore" }
......@@ -119,47 +94,7 @@ arrow-optics = { module = "io.arrow-kt:arrow-optics", version.ref = "arrow" }
arrow-opticsKspPlugin = { module = "io.arrow-kt:arrow-optics-ksp-plugin", version.ref = "arrow" }
akkurate = { module = "dev.nesk.akkurate:akkurate-core", version.ref = "akkurate" }
mosaic = { module = "com.jakewharton.mosaic:mosaic-runtime", version.ref = "mosaic" }
koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koinComposeMultiplatform" }
# Koin version for Compose on Android: koin-androidx-compose
koin-composeVm = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koinComposeMultiplatform" }
jetbrains-lifecycle-viewmodel = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel", version.ref = "jetbrainsLifecycle"}
jetbrains-lifecycle-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "jetbrainsLifecycle" }
adaptive = { module = "org.jetbrains.compose.material3.adaptive:adaptive", version.ref = "adaptive" }
adaptive-layout = { module = "org.jetbrains.compose.material3.adaptive:adaptive-layout", version.ref = "adaptive" }
adaptive-navigation = { module = "org.jetbrains.compose.material3.adaptive:adaptive-navigation", version.ref = "adaptive-navigation" }
composeTheme = { module = "com.composables:composetheme", version.ref = "composetheme" }
composeTheme-material3 = { module = "com.composables:composetheme-material3", version.ref = "composetheme" }
voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" }
voyager-bottomSheetNavigator = { module = "cafe.adriel.voyager:voyager-bottom-sheet-navigator", version.ref = "voyager" }
voyager-tabNavigator = { module = "cafe.adriel.voyager:voyager-tab-navigator", version.ref = "voyager" }
voyager-lifecycle-kmp = { module = "cafe.adriel.voyager:voyager-lifecycle-kmp", version.ref = "voyager" }
voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" }
voyager-koin = { module = "cafe.adriel.voyager:voyager-koin", version.ref = "voyager" }
landscapist-coil3 = { module = "com.github.skydoves:landscapist-coil3", version.ref = "landscapistCoil3" }
composablesUnstyled = { module = "com.composables:core", version.ref = "composables-unstyled" }
flexible-bottomsheet = { module = "com.github.skydoves:flexible-bottomsheet", version.ref = "bottomsheet" }
alertKmp = { module = "io.github.khubaibkhan4:alert-kmp", version.ref = "alertKmp" }
filekit-core = { group = "io.github.vinceglb", name = "filekit-core", version.ref = "filekit" }
filekit-compose = { group = "io.github.vinceglb", name = "filekit-compose", version.ref = "filekit" }
composeTray = { module = "io.github.kdroidfilter:composenativetray", version.ref = "composetray" }
# Shared presenter code deps (some usages are platform-specific)
molecule-runtime = { module = "app.cash.molecule:molecule-runtime", version.ref = "molecule" }
datastore-preferences = { module = "androidx.datastore:datastore-preferences-core", version.ref = "androidxDatastore" }
jetbrains-navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "jetbrainsNavigationCompose" }
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "androidxRoom" }
androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "androidxRoom" }
sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqlite" }
exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }
exposed-crypt = { module = "org.jetbrains.exposed:exposed-crypt", version.ref = "exposed" }
exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposed" }
exposed-kotlinDatetime = { module = "org.jetbrains.exposed:exposed-kotlin-datetime", version.ref = "exposed" }
build-androidLibrary = { module = "com.android.library:com.android.library.gradle.plugin", version.ref = "agp"}
build-composeCompiler = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin", version.ref = "kotlin" }
build-jetbrainsCmp = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "compose-multiplatform" }
build-spotless = { module = "com.diffplug.spotless:spotless-plugin-gradle", version.ref = "spotless" }
dokka-base = { module = "org.jetbrains.dokka:dokka-base", version.ref = "dokka" }
......@@ -184,14 +119,10 @@ konsist = { module = "com.lemonappdev:konsist", version.ref = "konsist" }
[bundles]
ktor = ["ktor-client-logging", "ktor-client-serialization", "kotlinx-serialization-json"]
sandwich = ["sandwich", "sandwich-ktor", "sandwich-ktorfit"]
voyager = ["voyager-navigator", "voyager-bottomSheetNavigator", "voyager-tabNavigator", "voyager-lifecycle-kmp", "voyager-transitions", "voyager-koin"]
exposed = ["exposed-core", "exposed-crypt", "exposed-dao", "exposed-kotlinDatetime"]
[plugins]
androidApplication = { id = "com.android.application", version.ref = "agp" }
androidLibrary = { id = "com.android.library", version.ref = "agp" }
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }
composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
ktorfit = { id = "de.jensklingenberg.ktorfit", version.ref = "ktorfit" }
......@@ -202,4 +133,3 @@ dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
gitSemVer = { id = "org.danilopianini.git-sensitive-semantic-versioning", version.ref = "gitSemVer" }
dataframe = { id = "org.jetbrains.kotlinx.dataframe", version.ref = "kotlinx-dataframe" }
room = { id = "androidx.room", version.ref = "androidxRoom" }
......@@ -28,7 +28,7 @@ plugins {
alias(libs.plugins.kotestMultiplatform)
alias(libs.plugins.buildConfig)
id("convention.formattingLib")
id("convention.formatting")
id("convention.version")
alias(libs.plugins.dokka)
id("convention.publication")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment