diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 6ad6bf9a1ec638f7fe15f93038552f8bf0c3521a..a7029afc90f32e9216bd7913df3fbb256adfe40a 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -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) } diff --git a/build-logic/src/main/kotlin/convention.composeComp.gradle.kts b/build-logic/src/main/kotlin/convention.composeComp.gradle.kts deleted file mode 100644 index e8c2dda5ef647479d736625c5553377f4175ff11..0000000000000000000000000000000000000000 --- a/build-logic/src/main/kotlin/convention.composeComp.gradle.kts +++ /dev/null @@ -1,8 +0,0 @@ -plugins { - id("org.jetbrains.kotlin.plugin.compose") -} - -composeCompiler { - // Needed to enable Layout Inspector - includeSourceInformation.set(true) -} \ No newline at end of file diff --git a/build-logic/src/main/kotlin/convention.formattingLib.gradle.kts b/build-logic/src/main/kotlin/convention.formatting.gradle.kts similarity index 100% rename from build-logic/src/main/kotlin/convention.formattingLib.gradle.kts rename to build-logic/src/main/kotlin/convention.formatting.gradle.kts diff --git a/build-logic/src/main/kotlin/convention.formattingCmp.gradle.kts b/build-logic/src/main/kotlin/convention.formattingCmp.gradle.kts deleted file mode 100644 index 74450627e31e4a9ca2835e44b7aa4703e935b7e1..0000000000000000000000000000000000000000 --- a/build-logic/src/main/kotlin/convention.formattingCmp.gradle.kts +++ /dev/null @@ -1,38 +0,0 @@ -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 diff --git a/build-logic/src/main/kotlin/convention.jetbrainsCmp.gradle.kts b/build-logic/src/main/kotlin/convention.jetbrainsCmp.gradle.kts deleted file mode 100644 index 6449a59464d9aafd6abc2f1351e972fcdaa769c1..0000000000000000000000000000000000000000 --- a/build-logic/src/main/kotlin/convention.jetbrainsCmp.gradle.kts +++ /dev/null @@ -1,4 +0,0 @@ -plugins { - id("convention.composeComp") - id("org.jetbrains.compose") -} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index ae61907b2112e32da89562ee4df66b8c3cf34bcf..c57c17de0c4be86a20cdbabaf13fe34a0c721e43 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -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 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4cc239f93dca70175de051edbb1e6c5364011575..0070fa1bb5ece7cfb86312628307ca39e1160568 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,4 @@ [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" } diff --git a/temerity/build.gradle.kts b/temerity/build.gradle.kts index 62d36fb7861d2aed3a52e41b86aa2b1853b9b0ef..7c5a579fe1a9866d82881c43be2e0436ee07aecd 100644 --- a/temerity/build.gradle.kts +++ b/temerity/build.gradle.kts @@ -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")