feat(build): Convention Plugins (#3081)

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Co-authored-by: Dane Evans <dane@goneepic.com>
This commit is contained in:
James Rich 2025-09-15 05:47:03 -05:00 committed by GitHub
parent 9f2c76d33d
commit 295e0aa298
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
92 changed files with 2198 additions and 641 deletions

View file

@ -15,63 +15,30 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.hilt)
alias(libs.plugins.devtools.ksp)
alias(libs.plugins.detekt)
id("kotlinx-serialization")
alias(libs.plugins.meshtastic.android.library)
alias(libs.plugins.meshtastic.android.lint)
alias(libs.plugins.meshtastic.hilt)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.spotless)
alias(libs.plugins.dokka)
alias(libs.plugins.kover)
alias(libs.plugins.protobuf)
}
android {
buildFeatures {
buildConfig = true
}
compileSdk = Configs.COMPILE_SDK
defaultConfig {
minSdk = Configs.MIN_SDK
}
buildFeatures { buildConfig = true }
compileSdk = 36
defaultConfig { minSdk = 26 }
namespace = "com.geeksville.mesh.network"
flavorDimensions += "default"
productFlavors {
create("fdroid") {
dimension = "default"
}
create("google") {
dimension = "default"
}
}
}
kotlin {
jvmToolchain(21)
}
kotlin { jvmToolchain(21) }
dependencies {
implementation(libs.bundles.hilt)
implementation(libs.bundles.retrofit)
implementation(libs.bundles.coil)
"googleImplementation"(libs.bundles.datadog)
ksp(libs.hilt.compiler)
implementation(libs.kotlinx.serialization.json)
detektPlugins(libs.detekt.formatting)
}
detekt {
config.setFrom("../config/detekt/detekt.yml")
baseline = file("../config/detekt/detekt-baseline-network.xml")
source.setFrom(
files(
"src/main/java",
"google/main/java",
"fdroid/main/java",
)
)
}