summaryrefslogtreecommitdiffstats
path: root/buildSrc/src/main/java/BaseProjectConfig.kt
diff options
context:
space:
mode:
Diffstat (limited to 'buildSrc/src/main/java/BaseProjectConfig.kt')
-rw-r--r--buildSrc/src/main/java/BaseProjectConfig.kt97
1 files changed, 0 insertions, 97 deletions
diff --git a/buildSrc/src/main/java/BaseProjectConfig.kt b/buildSrc/src/main/java/BaseProjectConfig.kt
deleted file mode 100644
index f11b9dec..00000000
--- a/buildSrc/src/main/java/BaseProjectConfig.kt
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-import com.android.build.gradle.TestedExtension
-import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
-import org.gradle.api.JavaVersion
-import org.gradle.api.Project
-import org.gradle.kotlin.dsl.register
-import org.gradle.language.nativeplatform.internal.BuildType
-
-/** Checks if we're building a snapshot */
-@Suppress("UnstableApiUsage")
-fun Project.isSnapshot(): Boolean {
- with(project.providers) {
- val workflow = environmentVariable("GITHUB_WORKFLOW").forUseAtConfigurationTime()
- val snapshot = environmentVariable("SNAPSHOT").forUseAtConfigurationTime()
- return workflow.isPresent && snapshot.isPresent
- }
-}
-
-/** Apply configurations for app module */
-@Suppress("UnstableApiUsage")
-internal fun BaseAppModuleExtension.configureAndroidApplicationOptions(project: Project) {
- val minifySwitch =
- project.providers.environmentVariable("DISABLE_MINIFY").forUseAtConfigurationTime()
-
- adbOptions.installOptions("--user 0")
-
- buildFeatures {
- viewBinding = true
- buildConfig = true
- }
-
- flavorDimensions.add(FlavorDimensions.FREE)
- productFlavors {
- register(ProductFlavors.FREE) {}
- register(ProductFlavors.NON_FREE) {}
- }
-
- buildTypes {
- named(BuildType.RELEASE.name) {
- isMinifyEnabled = !minifySwitch.isPresent
- setProguardFiles(
- listOf(
- "proguard-android-optimize.txt",
- "proguard-rules.pro",
- "proguard-rules-missing-classes.pro",
- )
- )
- buildConfigField("boolean", "ENABLE_DEBUG_FEATURES", "${project.isSnapshot()}")
- }
- named(BuildType.DEBUG.name) {
- applicationIdSuffix = ".debug"
- versionNameSuffix = "-debug"
- isMinifyEnabled = false
- buildConfigField("boolean", "ENABLE_DEBUG_FEATURES", "true")
- }
- }
-}
-
-/** Apply baseline configurations for all Android projects (Application and Library). */
-@Suppress("UnstableApiUsage")
-internal fun TestedExtension.configureCommonAndroidOptions() {
- setCompileSdkVersion(31)
-
- defaultConfig {
- minSdk = 23
- targetSdk = 29
- }
-
- sourceSets {
- named("main") { java.srcDirs("src/main/kotlin") }
- named("test") { java.srcDirs("src/test/kotlin") }
- named("androidTest") { java.srcDirs("src/androidTest/kotlin") }
- }
-
- packagingOptions {
- resources.excludes.add("**/*.version")
- resources.excludes.add("**/*.txt")
- resources.excludes.add("**/*.kotlin_module")
- resources.excludes.add("**/plugin.properties")
- resources.excludes.add("**/META-INF/AL2.0")
- resources.excludes.add("**/META-INF/LGPL2.1")
- }
-
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
- }
-
- testOptions {
- animationsDisabled = true
- unitTests.isReturnDefaultValues = true
- }
-}