From 91d97e06963368f0db4ffdc458d9eab55df85176 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 8 Mar 2022 17:24:38 +0530 Subject: [PATCH] gradle: sync property set with APS --- .github/workflows/ci.yml | 6 +- android/build.gradle.kts | 13 ++-- .../msfjarvis/claw/android/ui/LobstersApp.kt | 2 +- gradle.properties | 61 +++++++++++++++++++ 4 files changed, 74 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 57a62a95..4031e824 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: - name: Run unit tests uses: gradle/gradle-build-action@v2.1.3 with: - arguments: check --stacktrace + arguments: check --stacktrace --no-configuration-cache - name: (Fail-only) Upload test report if: failure() @@ -58,7 +58,7 @@ jobs: - name: Check codestyle with Spotless uses: gradle/gradle-build-action@v2.1.3 with: - arguments: spotlessCheck + arguments: spotlessCheck --no-configuration-cache deploy-release-snapshot: runs-on: ubuntu-latest @@ -86,7 +86,7 @@ jobs: - name: Build release app uses: gradle/gradle-build-action@v2.1.3 with: - arguments: :android:assembleRelease + arguments: :android:assembleRelease --no-configuration-cache - name: Clean secrets run: scripts/signing-cleanup.sh diff --git a/android/build.gradle.kts b/android/build.gradle.kts index f5a59081..870a167c 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -44,7 +44,7 @@ android { } val keystoreConfigFile = rootProject.layout.projectDirectory.file("keystore.properties") if (keystoreConfigFile.asFile.exists()) { - val contents = providers.fileContents(keystoreConfigFile).asText.forUseAtConfigurationTime() + val contents = providers.fileContents(keystoreConfigFile).asText val keystoreProperties = Properties() keystoreProperties.load(contents.get().byteInputStream()) signingConfigs { @@ -57,14 +57,19 @@ android { } buildTypes.all { signingConfig = signingConfigs.getByName("release") } } + buildFeatures { buildConfig = true } buildTypes { - getByName("release") { - isMinifyEnabled = true - proguardFiles("proguard-android-optimize.txt", "proguard-rules.pro") + named("release") { + isMinifyEnabled = false + setProguardFiles(listOf("proguard-android-optimize.txt", "proguard-rules.pro")) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } + dependenciesInfo { + includeInBundle = false + includeInApk = false + } } diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt index 10c91adc..1fcdc45b 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt @@ -124,7 +124,7 @@ fun LobstersApp( }, title = { if (navItems.any { it.route == currentDestination }) { - Text(text = stringResource(R.string.app_name), fontWeight = FontWeight.Bold) + Text(text = stringResource(commonR.string.app_name), fontWeight = FontWeight.Bold) } }, ) diff --git a/gradle.properties b/gradle.properties index 368e282c..96a75f5e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,69 @@ +org.gradle.parallel=true +org.gradle.configureondemand=false +org.gradle.caching=true + +# Enable filesystem watching +org.gradle.vfs.watch=true + +# Enable experimental configuration caching +org.gradle.unsafe.configuration-cache=true + +# Enable Kotlin incremental compilation +kotlin.incremental=true + +# Kotlin code style kotlin.code.style=official + +# Enable incremental annotation processor for KAPT +kapt.incremental.apt=true + +# Turn off AP discovery in compile path to enable compile avoidance +kapt.include.compile.classpath=false + +# Use R8 instead of ProGuard for code shrinking. +android.enableR8.fullMode=true + +# Enable AndroidX android.useAndroidX=true + +# Kotlin Multiplatform kotlin.mpp.enableGranularSourceSetsMetadata=true kotlin.native.enableDependencyPropagation=false kotlin.mpp.stability.nowarn=true + +# Enable non-transitive R class namespacing where each library only contains +# references to the resources it declares instead of declarations plus all +# transitive dependency references. +android.nonTransitiveRClass=true + +# Only keep the single relevant constructor for types mentioned in XML files +# instead of using a parameter wildcard which keeps them all. +android.useMinimalKeepRules=true + +# Enable resource optimizations for release build +android.enableResourceOptimizations=true + +# Opt into new publishing APIs +android.disableAutomaticComponentCreation=true + +# Default Android build features +android.defaults.buildfeatures.buildconfig=false +android.defaults.buildfeatures.aidl=false +android.defaults.buildfeatures.renderscript=false +android.defaults.buildfeatures.resvalues=false +android.defaults.buildfeatures.shaders=false + +# Disable warnings about unsupported features, we know what we're doing +android.suppressUnsupportedOptionWarnings=android.enableR8.fullMode,android.enableResourceOptimizations,android.nonTransitiveRClass,android.suppressUnsupportedOptionWarnings + +# Maven publishing +GROUP=com.github.android-password-store + +# OSSRH sometimes struggles with slow deployments, so this makes Gradle +# more tolerant to those delays. +systemProp.org.gradle.internal.http.connectionTimeout=500000 +systemProp.org.gradle.internal.http.socketTimeout=500000 + # Add opens for KAPT # https://youtrack.jetbrains.com/issue/KT-45545#focus=Comments-27-4862682.0-0 org.gradle.jvmargs=-Dfile.encoding=UTF-8 \