feat(build-logic): modularize build-logic & update dependencies (#3110)

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
James Rich 2025-09-15 16:48:27 -05:00 committed by GitHub
parent 91da327e16
commit 22a5521b9d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 255 additions and 282 deletions

View file

@ -28,7 +28,8 @@ plugins {
alias(libs.plugins.meshtastic.android.application.flavors)
alias(libs.plugins.meshtastic.android.application.compose)
alias(libs.plugins.meshtastic.android.application.firebase)
alias(libs.plugins.meshtastic.detekt)
alias(libs.plugins.meshtastic.hilt)
alias(libs.plugins.meshtastic.android.room)
alias(libs.plugins.kotlin.parcelize)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.protobuf)
@ -77,11 +78,8 @@ android {
?: System.getenv("VERSION_NAME")
?: Configs.VERSION_NAME_BASE // Restored Configs.VERSION_NAME_BASE fallback
)
testInstrumentationRunner = "com.geeksville.mesh.TestRunner"
buildConfigField("String", "MIN_FW_VERSION", "\"${Configs.MIN_FW_VERSION}\"") // Used Configs
buildConfigField("String", "ABS_MIN_FW_VERSION", "\"${Configs.ABS_MIN_FW_VERSION}\"") // Used Configs
// per https://developer.android.com/studio/write/vector-asset-studio
vectorDrawables.useSupportLibrary = true
// We have to list all translated languages here,
// because some of our libs have bogus languages that google play
// doesn't like and we need to strip them (gr)
@ -144,17 +142,10 @@ android {
if (keystoreProperties["storeFile"] != null) {
signingConfig = signingConfigs.named("release").get()
}
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
bundle { language { enableSplit = false } }
buildFeatures {
aidl = true
compose = true // compose setup is likely in com.meshtastic.android.application.compose
buildConfig = true
}
buildFeatures { aidl = true }
sourceSets {
named("main") { proto { srcDir("src/main/proto") } }
// Adds exported schema location as test app assets.
@ -211,7 +202,6 @@ project.afterEvaluate { logger.lifecycle("Version code is set to: ${android.defa
dependencies {
implementation(project(":network"))
// Bundles
implementation(libs.bundles.androidx)
implementation(libs.bundles.markdown)
implementation(libs.bundles.coroutines)
implementation(libs.bundles.datastore)
@ -235,12 +225,6 @@ dependencies {
implementation(libs.accompanist.permissions)
implementation(libs.timber)
testImplementation(libs.bundles.testing)
androidTestImplementation(libs.bundles.testing.android)
androidTestImplementation(libs.bundles.testing.hilt)
androidTestImplementation(libs.bundles.testing.navigation)
androidTestImplementation(libs.bundles.testing.room)
dokkaPlugin(libs.dokka.android.documentation.plugin)
}