176 lines
4.4 KiB
Text
176 lines
4.4 KiB
Text
|
|
plugins {
|
||
|
|
id(ThunderbirdPlugins.App.androidCompose)
|
||
|
|
alias(libs.plugins.dependency.guard)
|
||
|
|
id("thunderbird.app.version.info")
|
||
|
|
id("thunderbird.quality.badging")
|
||
|
|
}
|
||
|
|
|
||
|
|
val testCoverageEnabled: Boolean by extra
|
||
|
|
if (testCoverageEnabled) {
|
||
|
|
apply(plugin = "jacoco")
|
||
|
|
}
|
||
|
|
|
||
|
|
android {
|
||
|
|
namespace = "com.fsck.k9"
|
||
|
|
|
||
|
|
defaultConfig {
|
||
|
|
applicationId = "com.fsck.k9"
|
||
|
|
testApplicationId = "com.fsck.k9.tests"
|
||
|
|
|
||
|
|
versionCode = 39029
|
||
|
|
versionName = "13.0"
|
||
|
|
|
||
|
|
buildConfigField("String", "CLIENT_INFO_APP_NAME", "\"K-9 Mail\"")
|
||
|
|
}
|
||
|
|
|
||
|
|
androidResources {
|
||
|
|
// Keep in sync with the resource string array "supported_languages"
|
||
|
|
localeFilters += listOf(
|
||
|
|
"ar",
|
||
|
|
"be",
|
||
|
|
"bg",
|
||
|
|
"ca",
|
||
|
|
"co",
|
||
|
|
"cs",
|
||
|
|
"cy",
|
||
|
|
"da",
|
||
|
|
"de",
|
||
|
|
"el",
|
||
|
|
"en",
|
||
|
|
"en-rGB",
|
||
|
|
"eo",
|
||
|
|
"es",
|
||
|
|
"et",
|
||
|
|
"eu",
|
||
|
|
"fa",
|
||
|
|
"fi",
|
||
|
|
"fr",
|
||
|
|
"fy",
|
||
|
|
"ga",
|
||
|
|
"gl",
|
||
|
|
"hr",
|
||
|
|
"hu",
|
||
|
|
"in",
|
||
|
|
"is",
|
||
|
|
"it",
|
||
|
|
"iw",
|
||
|
|
"ja",
|
||
|
|
"ko",
|
||
|
|
"lt",
|
||
|
|
"lv",
|
||
|
|
"nb",
|
||
|
|
"nl",
|
||
|
|
"nn",
|
||
|
|
"pl",
|
||
|
|
"pt-rBR",
|
||
|
|
"pt-rPT",
|
||
|
|
"ro",
|
||
|
|
"ru",
|
||
|
|
"sk",
|
||
|
|
"sl",
|
||
|
|
"sq",
|
||
|
|
"sr",
|
||
|
|
"sv",
|
||
|
|
"tr",
|
||
|
|
"uk",
|
||
|
|
"vi",
|
||
|
|
"zh-rCN",
|
||
|
|
"zh-rTW",
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
signingConfigs {
|
||
|
|
createSigningConfig(project, SigningType.K9_RELEASE, isUpload = false)
|
||
|
|
}
|
||
|
|
|
||
|
|
buildTypes {
|
||
|
|
release {
|
||
|
|
signingConfig = signingConfigs.getByType(SigningType.K9_RELEASE)
|
||
|
|
|
||
|
|
isMinifyEnabled = true
|
||
|
|
proguardFiles(
|
||
|
|
getDefaultProguardFile("proguard-android.txt"),
|
||
|
|
"proguard-rules.pro",
|
||
|
|
)
|
||
|
|
}
|
||
|
|
|
||
|
|
debug {
|
||
|
|
applicationIdSuffix = ".debug"
|
||
|
|
enableUnitTestCoverage = testCoverageEnabled
|
||
|
|
enableAndroidTestCoverage = testCoverageEnabled
|
||
|
|
|
||
|
|
isMinifyEnabled = false
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
flavorDimensions += listOf("app")
|
||
|
|
productFlavors {
|
||
|
|
create("foss") {
|
||
|
|
dimension = "app"
|
||
|
|
buildConfigField("String", "PRODUCT_FLAVOR_APP", "\"foss\"")
|
||
|
|
}
|
||
|
|
|
||
|
|
create("full") {
|
||
|
|
dimension = "app"
|
||
|
|
buildConfigField("String", "PRODUCT_FLAVOR_APP", "\"full\"")
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
packaging {
|
||
|
|
jniLibs {
|
||
|
|
excludes += listOf("kotlin/**")
|
||
|
|
}
|
||
|
|
|
||
|
|
resources {
|
||
|
|
excludes += listOf(
|
||
|
|
"META-INF/*.kotlin_module",
|
||
|
|
"META-INF/*.version",
|
||
|
|
"kotlin/**",
|
||
|
|
"DebugProbesKt.bin",
|
||
|
|
)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
dependencies {
|
||
|
|
implementation(projects.appCommon)
|
||
|
|
implementation(projects.core.ui.compose.theme2.k9mail)
|
||
|
|
implementation(projects.core.ui.legacy.theme2.k9mail)
|
||
|
|
implementation(projects.feature.launcher)
|
||
|
|
implementation(projects.feature.mail.message.list)
|
||
|
|
|
||
|
|
implementation(projects.legacy.core)
|
||
|
|
implementation(projects.legacy.ui.legacy)
|
||
|
|
|
||
|
|
implementation(projects.core.featureflag)
|
||
|
|
|
||
|
|
implementation(projects.feature.account.settings.impl)
|
||
|
|
|
||
|
|
"fossImplementation"(projects.feature.funding.noop)
|
||
|
|
"fullImplementation"(projects.feature.funding.googleplay)
|
||
|
|
implementation(projects.feature.migration.launcher.noop)
|
||
|
|
implementation(projects.feature.onboarding.migration.noop)
|
||
|
|
implementation(projects.feature.telemetry.noop)
|
||
|
|
implementation(projects.feature.widget.messageList)
|
||
|
|
implementation(projects.feature.widget.messageListGlance)
|
||
|
|
implementation(projects.feature.widget.shortcut)
|
||
|
|
implementation(projects.feature.widget.unread)
|
||
|
|
|
||
|
|
implementation(libs.androidx.work.runtime)
|
||
|
|
|
||
|
|
implementation(projects.feature.autodiscovery.api)
|
||
|
|
debugImplementation(projects.backend.demo)
|
||
|
|
debugImplementation(projects.feature.autodiscovery.demo)
|
||
|
|
|
||
|
|
// Required for DependencyInjectionTest
|
||
|
|
testImplementation(projects.feature.account.api)
|
||
|
|
testImplementation(projects.feature.account.common)
|
||
|
|
testImplementation(projects.plugins.openpgpApiLib.openpgpApi)
|
||
|
|
testImplementation(libs.appauth)
|
||
|
|
}
|
||
|
|
|
||
|
|
dependencyGuard {
|
||
|
|
configuration("fossReleaseRuntimeClasspath")
|
||
|
|
configuration("fullReleaseRuntimeClasspath")
|
||
|
|
}
|