mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-05 16:58:52 -06:00
Merge branch 'improve-gradle' into dev
This commit is contained in:
@@ -1,23 +1,11 @@
|
|||||||
plugins {
|
plugins {
|
||||||
val kotlinVersion = "2.1.10"
|
alias(libs.plugins.agp) apply false
|
||||||
id("com.android.application") version "8.8.0" apply (false)
|
alias(libs.plugins.kotlin.android) apply false
|
||||||
id("org.jetbrains.kotlin.android") version kotlinVersion apply (false)
|
alias(libs.plugins.ksp) apply false
|
||||||
id("org.jetbrains.kotlin.kapt") version kotlinVersion apply (false)
|
alias(libs.plugins.ktlint.plugin) apply false
|
||||||
id("org.jetbrains.kotlin.multiplatform") version kotlinVersion apply (false)
|
alias(libs.plugins.shadow) apply false
|
||||||
id("org.jlleitschuh.gradle.ktlint") version "11.6.1"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
apply {
|
apply {
|
||||||
from("translators.gradle.kts")
|
from("gradle/translators.gradle.kts")
|
||||||
}
|
|
||||||
|
|
||||||
allprojects {
|
|
||||||
repositories {
|
|
||||||
google()
|
|
||||||
mavenCentral()
|
|
||||||
maven(url = "https://plugins.gradle.org/m2/")
|
|
||||||
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/")
|
|
||||||
maven(url = "https://jitpack.io")
|
|
||||||
maven(url = "https://maven.pkg.jetbrains.space/kotlin/p/kotlin/kotlin-js-wrappers/") // Repository for kotlin-css-jvm old versions, now that the Gradle Plugin Portal no longer brings these in by mirroring JCenter
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,3 +6,6 @@ android.enableJetifier=true
|
|||||||
android.defaults.buildfeatures.buildconfig=true
|
android.defaults.buildfeatures.buildconfig=true
|
||||||
android.nonTransitiveRClass=false
|
android.nonTransitiveRClass=false
|
||||||
android.nonFinalResIds=false
|
android.nonFinalResIds=false
|
||||||
|
org.gradle.configureondemand=true
|
||||||
|
org.gradle.warning.mode=all
|
||||||
|
org.gradle.caching=true
|
||||||
102
gradle/libs.versions.toml
Normal file
102
gradle/libs.versions.toml
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
[versions]
|
||||||
|
agp = "8.8.0"
|
||||||
|
annotation = "1.9.1"
|
||||||
|
appcompat = "1.7.0"
|
||||||
|
appintro = "6.3.1"
|
||||||
|
commonsCodec = "1.16.0"
|
||||||
|
commonsIo = "1.3.2"
|
||||||
|
commonsLang3 = "3.14.0"
|
||||||
|
dagger = "2.55"
|
||||||
|
desugar = "2.1.4"
|
||||||
|
dexmaker = "2.28.3"
|
||||||
|
espresso = "3.6.1"
|
||||||
|
guava = "33.2.1-android"
|
||||||
|
hamcrest = "2.2"
|
||||||
|
jsr250 = "1.0"
|
||||||
|
jsr305 = "3.0.2"
|
||||||
|
junit = "1.2.1"
|
||||||
|
junitJupiter = "5.10.1"
|
||||||
|
junitVersion = "4.13.2"
|
||||||
|
konfetti-xml = "2.0.2"
|
||||||
|
kotlin = "2.1.10"
|
||||||
|
kotlinxCoroutinesCoreCommon = "1.3.8"
|
||||||
|
ksp = "2.1.10-1.0.30"
|
||||||
|
ktlint-plugin = "11.6.1"
|
||||||
|
ktor = "1.6.8"
|
||||||
|
ktxCoroutine = "1.10.1"
|
||||||
|
legacy-support = "1.0.0"
|
||||||
|
material = "1.12.0"
|
||||||
|
mockito-kotlin = "5.4.0"
|
||||||
|
opencsv = "5.9"
|
||||||
|
rules = "1.6.1"
|
||||||
|
shadow = "8.1.1"
|
||||||
|
sqliteJdbc = "3.45.1.0"
|
||||||
|
uiautomator = "2.3.0"
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
annotation = { group = "androidx.annotation", name = "annotation", version.ref = "annotation" }
|
||||||
|
appIntro = { group = "com.github.AppIntro", name = "AppIntro", version.ref = "appintro" }
|
||||||
|
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
|
||||||
|
commons-codec = { module = "commons-codec:commons-codec", version.ref = "commonsCodec" }
|
||||||
|
commons-io = { module = "org.apache.commons:commons-io", version.ref = "commonsIo" }
|
||||||
|
commons-lang3 = { module = "org.apache.commons:commons-lang3", version.ref = "commonsLang3" }
|
||||||
|
dagger = { group = "com.google.dagger", name = "dagger", version.ref = "dagger" }
|
||||||
|
dagger-compiler = { group = "com.google.dagger", name = "dagger-compiler", version.ref = "dagger" }
|
||||||
|
desugar_jdk_libs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugar" }
|
||||||
|
dexmaker-mockito = { group = "com.linkedin.dexmaker", name = "dexmaker-mockito", version.ref = "dexmaker" }
|
||||||
|
espresso-contrib = { group = "androidx.test.espresso", name = "espresso-contrib", version.ref = "espresso" }
|
||||||
|
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso" }
|
||||||
|
guava = { group = "com.google.guava", name = "guava", version.ref = "guava" }
|
||||||
|
hamcrest = { module = "org.hamcrest:hamcrest", version.ref = "hamcrest" }
|
||||||
|
jsr250-api = { group = "javax.annotation", name = "jsr250-api", version.ref = "jsr250" }
|
||||||
|
jsr305 = { group = "com.google.code.findbugs", name = "jsr305", version.ref = "jsr305" }
|
||||||
|
junit = { group = "androidx.test.ext", name = "junit", version.ref = "junit" }
|
||||||
|
junit-junit = { module = "junit:junit", version.ref = "junitVersion" }
|
||||||
|
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junitJupiter" }
|
||||||
|
konfetti-xml = { group = "nl.dionsegijn", name = "konfetti-xml", version.ref = "konfetti-xml" }
|
||||||
|
kotlin-stdlib-jdk8 = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
|
||||||
|
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "ktxCoroutine" }
|
||||||
|
kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "ktxCoroutine" }
|
||||||
|
kotlinx-coroutines-core-common = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core-common", version.ref = "kotlinxCoroutinesCoreCommon" }
|
||||||
|
kotlinx-coroutines-core-jvm = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm", version.ref = "ktxCoroutine" }
|
||||||
|
ktor-client-android = { group = "io.ktor", name = "ktor-client-android", version.ref = "ktor" }
|
||||||
|
ktor-client-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
|
||||||
|
ktor-client-jackson = { group = "io.ktor", name = "ktor-client-jackson", version.ref = "ktor" }
|
||||||
|
ktor-client-json = { group = "io.ktor", name = "ktor-client-json", version.ref = "ktor" }
|
||||||
|
ktor-client-mock = { group = "io.ktor", name = "ktor-client-mock", version.ref = "ktor" }
|
||||||
|
ktor-jackson = { group = "io.ktor", name = "ktor-jackson", version.ref = "ktor" }
|
||||||
|
legacy-preference-v14 = { group = "androidx.legacy", name = "legacy-preference-v14", version.ref = "legacy-support" }
|
||||||
|
legacy-support-v4 = { group = "androidx.legacy", name = "legacy-support-v4", version.ref = "legacy-support" }
|
||||||
|
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
|
||||||
|
mockito-kotlin = { group = "org.mockito.kotlin", name = "mockito-kotlin", version.ref = "mockito-kotlin" }
|
||||||
|
opencsv = { group = "com.opencsv", name = "opencsv", version.ref = "opencsv" }
|
||||||
|
rules = { group = "androidx.test", name = "rules", version.ref = "rules" }
|
||||||
|
sqlite-jdbc = { module = "org.xerial:sqlite-jdbc", version.ref = "sqliteJdbc" }
|
||||||
|
uiautomator = { group = "androidx.test.uiautomator", name = "uiautomator", version.ref = "uiautomator" }
|
||||||
|
|
||||||
|
[bundles]
|
||||||
|
androidTest = [
|
||||||
|
"annotation",
|
||||||
|
"dagger",
|
||||||
|
"dexmaker-mockito",
|
||||||
|
"espresso-contrib",
|
||||||
|
"espresso-core",
|
||||||
|
"junit",
|
||||||
|
"ktor-client-mock",
|
||||||
|
"ktor-jackson",
|
||||||
|
"mockito-kotlin",
|
||||||
|
"rules",
|
||||||
|
"uiautomator"
|
||||||
|
]
|
||||||
|
test = [
|
||||||
|
"dagger",
|
||||||
|
"junit-junit",
|
||||||
|
"mockito-kotlin",
|
||||||
|
]
|
||||||
|
|
||||||
|
[plugins]
|
||||||
|
agp = { id = "com.android.application", version.ref = "agp" }
|
||||||
|
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||||
|
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||||
|
ktlint-plugin = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint-plugin" }
|
||||||
|
shadow = { id = "com.github.johnrengelman.shadow", version.ref = "shadow" }
|
||||||
@@ -1,13 +1,32 @@
|
|||||||
pluginManagement {
|
pluginManagement {
|
||||||
repositories {
|
repositories {
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
google()
|
google {
|
||||||
}
|
content {
|
||||||
resolutionStrategy.eachPlugin {
|
includeGroupByRegex("com\\.android.*")
|
||||||
if (requested.id.id == "com.android.application") {
|
includeGroupByRegex("com\\.google.*")
|
||||||
useModule("com.android.tools.build:gradle:${requested.version}")
|
includeGroupByRegex("androidx.*")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
include(":uhabits-android", ":uhabits-core")
|
include(":uhabits-android", ":uhabits-core")
|
||||||
|
dependencyResolutionManagement {
|
||||||
|
@Suppress("UnstableApiUsage")
|
||||||
|
repositories {
|
||||||
|
google {
|
||||||
|
content {
|
||||||
|
includeGroupByRegex("com\\.android.*")
|
||||||
|
includeGroupByRegex("com\\.google.*")
|
||||||
|
includeGroupByRegex("androidx.*")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mavenCentral()
|
||||||
|
maven(url = "https://plugins.gradle.org/m2/")
|
||||||
|
maven(url = "https://oss.sonatype.org/content/repositories/snapshots/")
|
||||||
|
maven(url = "https://jitpack.io")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
include(":uhabits-android", ":uhabits-core")
|
||||||
|
|||||||
@@ -18,10 +18,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application") version "8.8.0"
|
alias(libs.plugins.agp)
|
||||||
id("org.jetbrains.kotlin.android")
|
alias(libs.plugins.kotlin.android)
|
||||||
id("org.jetbrains.kotlin.kapt")
|
alias(libs.plugins.ksp)
|
||||||
id("org.jlleitschuh.gradle.ktlint")
|
alias(libs.plugins.ktlint.plugin)
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.compileLint {
|
tasks.compileLint {
|
||||||
@@ -40,7 +40,6 @@ kotlin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
|
||||||
namespace = "org.isoron.uhabits"
|
namespace = "org.isoron.uhabits"
|
||||||
compileSdk = 35
|
compileSdk = 35
|
||||||
// compileSdkPreview = "VanillaIceCream"
|
// compileSdkPreview = "VanillaIceCream"
|
||||||
@@ -66,7 +65,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
getByName("release") {
|
release {
|
||||||
isMinifyEnabled = true
|
isMinifyEnabled = true
|
||||||
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.txt")
|
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.txt")
|
||||||
if (signingConfigs.findByName("release") != null) {
|
if (signingConfigs.findByName("release") != null) {
|
||||||
@@ -74,8 +73,8 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getByName("debug") {
|
debug {
|
||||||
isTestCoverageEnabled = true
|
enableUnitTestCoverage = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,64 +83,35 @@ android {
|
|||||||
targetCompatibility(JavaVersion.VERSION_11)
|
targetCompatibility(JavaVersion.VERSION_11)
|
||||||
sourceCompatibility(JavaVersion.VERSION_11)
|
sourceCompatibility(JavaVersion.VERSION_11)
|
||||||
}
|
}
|
||||||
kotlinOptions {
|
|
||||||
jvmTarget = JavaVersion.VERSION_11.toString()
|
|
||||||
}
|
|
||||||
|
|
||||||
buildFeatures {
|
kotlinOptions.jvmTarget = JavaVersion.VERSION_11.toString()
|
||||||
viewBinding = true
|
buildFeatures.viewBinding = true
|
||||||
}
|
lint.abortOnError = false
|
||||||
|
|
||||||
lint {
|
|
||||||
abortOnError = false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
val daggerVersion = "2.51.1"
|
compileOnly(libs.jsr250.api)
|
||||||
val kotlinVersion = "2.1.10"
|
coreLibraryDesugaring(libs.desugar.jdk.libs)
|
||||||
val kxCoroutinesVersion = "1.10.1"
|
implementation(libs.appIntro)
|
||||||
val ktorVersion = "1.6.8"
|
implementation(libs.jsr305)
|
||||||
val espressoVersion = "3.6.1"
|
implementation(libs.dagger)
|
||||||
|
implementation(libs.guava)
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-contrib:$espressoVersion")
|
implementation(libs.ktor.client.android)
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-core:$espressoVersion")
|
implementation(libs.ktor.client.core)
|
||||||
androidTestImplementation("com.google.dagger:dagger:$daggerVersion")
|
implementation(libs.ktor.client.jackson)
|
||||||
androidTestImplementation("com.linkedin.dexmaker:dexmaker-mockito:2.28.3")
|
implementation(libs.ktor.client.json)
|
||||||
androidTestImplementation("io.ktor:ktor-client-mock:$ktorVersion")
|
implementation(libs.kotlin.stdlib.jdk8)
|
||||||
androidTestImplementation("io.ktor:ktor-jackson:$ktorVersion")
|
implementation(libs.kotlinx.coroutines.android)
|
||||||
androidTestImplementation("androidx.annotation:annotation:1.7.1")
|
implementation(libs.kotlinx.coroutines.core)
|
||||||
androidTestImplementation("androidx.test.ext:junit:1.2.1")
|
implementation(libs.appcompat)
|
||||||
androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0")
|
implementation(libs.legacy.preference.v14)
|
||||||
androidTestImplementation("androidx.test:rules:1.6.1")
|
implementation(libs.legacy.support.v4)
|
||||||
androidTestImplementation("org.mockito.kotlin:mockito-kotlin:5.4.0")
|
implementation(libs.material)
|
||||||
compileOnly("javax.annotation:jsr250-api:1.0")
|
implementation(libs.opencsv)
|
||||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4")
|
implementation(libs.konfetti.xml)
|
||||||
implementation("com.github.AppIntro:AppIntro:6.3.1")
|
|
||||||
implementation("com.google.code.findbugs:jsr305:3.0.2")
|
|
||||||
implementation("com.google.dagger:dagger:$daggerVersion")
|
|
||||||
implementation("com.google.guava:guava:33.1.0-android")
|
|
||||||
implementation("io.ktor:ktor-client-android:$ktorVersion")
|
|
||||||
implementation("io.ktor:ktor-client-core:$ktorVersion")
|
|
||||||
implementation("io.ktor:ktor-client-jackson:$ktorVersion")
|
|
||||||
implementation("io.ktor:ktor-client-json:$ktorVersion")
|
|
||||||
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
|
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kxCoroutinesVersion")
|
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kxCoroutinesVersion")
|
|
||||||
implementation("androidx.appcompat:appcompat:1.7.0")
|
|
||||||
implementation("androidx.legacy:legacy-preference-v14:1.0.0")
|
|
||||||
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
|
||||||
implementation("com.google.android.material:material:1.12.0")
|
|
||||||
implementation("com.opencsv:opencsv:5.9")
|
|
||||||
implementation("nl.dionsegijn:konfetti-xml:2.0.2")
|
|
||||||
implementation(project(":uhabits-core"))
|
implementation(project(":uhabits-core"))
|
||||||
kapt("com.google.dagger:dagger-compiler:$daggerVersion")
|
ksp(libs.dagger.compiler)
|
||||||
kaptAndroidTest("com.google.dagger:dagger-compiler:$daggerVersion")
|
|
||||||
testImplementation("com.google.dagger:dagger:$daggerVersion")
|
|
||||||
testImplementation("junit:junit:4.13.2")
|
|
||||||
testImplementation("org.mockito.kotlin:mockito-kotlin:5.4.0")
|
|
||||||
}
|
|
||||||
|
|
||||||
kapt {
|
androidTestImplementation(libs.bundles.androidTest)
|
||||||
correctErrorTypes = true
|
testImplementation(libs.bundles.test)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("multiplatform")
|
kotlin("multiplatform")
|
||||||
id("org.jlleitschuh.gradle.ktlint")
|
alias(libs.plugins.ktlint.plugin)
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlin {
|
kotlin {
|
||||||
@@ -30,7 +30,7 @@ kotlin {
|
|||||||
val commonMain by getting {
|
val commonMain by getting {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(kotlin("stdlib-common"))
|
implementation(kotlin("stdlib-common"))
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-common:1.3.8")
|
implementation(libs.kotlinx.coroutines.core.common)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,14 +44,14 @@ kotlin {
|
|||||||
val jvmMain by getting {
|
val jvmMain by getting {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(kotlin("stdlib-jdk8"))
|
implementation(kotlin("stdlib-jdk8"))
|
||||||
compileOnly("com.google.dagger:dagger:2.51.1")
|
compileOnly(libs.dagger)
|
||||||
implementation("com.google.guava:guava:33.1.0-android")
|
implementation(libs.guava)
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1")
|
implementation(libs.kotlinx.coroutines.core.jvm)
|
||||||
implementation("androidx.annotation:annotation:1.7.1")
|
implementation(libs.annotation)
|
||||||
implementation("com.google.code.findbugs:jsr305:3.0.2")
|
implementation(libs.jsr305)
|
||||||
implementation("com.opencsv:opencsv:5.9")
|
implementation(libs.opencsv)
|
||||||
implementation("commons-codec:commons-codec:1.16.0")
|
implementation(libs.commons.codec)
|
||||||
implementation("org.apache.commons:commons-lang3:3.14.0")
|
implementation(libs.commons.lang3)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,19 +59,16 @@ kotlin {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation(kotlin("test"))
|
implementation(kotlin("test"))
|
||||||
implementation(kotlin("test-junit"))
|
implementation(kotlin("test-junit"))
|
||||||
implementation("org.xerial:sqlite-jdbc:3.45.1.0")
|
implementation(libs.sqlite.jdbc)
|
||||||
implementation("org.hamcrest:hamcrest:2.2")
|
implementation(libs.hamcrest)
|
||||||
implementation("org.apache.commons:commons-io:1.3.2")
|
implementation(libs.commons.io)
|
||||||
implementation("org.mockito.kotlin:mockito-kotlin:5.4.0")
|
implementation(libs.mockito.kotlin)
|
||||||
implementation("org.junit.jupiter:junit-jupiter:5.10.1")
|
implementation(libs.junit.jupiter)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.named<org.gradle.language.jvm.tasks.ProcessResources>("jvmProcessResources") {
|
tasks.withType<ProcessResources> {
|
||||||
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
|
||||||
}
|
|
||||||
tasks.named<org.gradle.language.jvm.tasks.ProcessResources>("jvmTestProcessResources") {
|
|
||||||
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
duplicatesStrategy = DuplicatesStrategy.INCLUDE
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user