aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/proguard-rules-missing-classes.pro139
-rw-r--r--autofill-parser/build.gradle.kts8
-rw-r--r--buildSrc/build.gradle.kts4
-rw-r--r--buildSrc/src/main/java/BaseProjectConfig.kt28
-rw-r--r--buildSrc/src/main/java/SlimTests.kt12
-rw-r--r--gradle/libs.versions.toml12
6 files changed, 165 insertions, 38 deletions
diff --git a/app/proguard-rules-missing-classes.pro b/app/proguard-rules-missing-classes.pro
new file mode 100644
index 00000000..859524ac
--- /dev/null
+++ b/app/proguard-rules-missing-classes.pro
@@ -0,0 +1,139 @@
+# This is generated automatically by the Android Gradle plugin.
+-dontwarn com.google.errorprone.annotations.Immutable
+-dontwarn javax.naming.Binding
+-dontwarn javax.naming.NamingEnumeration
+-dontwarn javax.naming.NamingException
+-dontwarn javax.naming.directory.Attribute
+-dontwarn javax.naming.directory.Attributes
+-dontwarn javax.naming.directory.DirContext
+-dontwarn javax.naming.directory.InitialDirContext
+-dontwarn javax.naming.directory.SearchControls
+-dontwarn javax.naming.directory.SearchResult
+-dontwarn javax.security.auth.login.LoginContext
+-dontwarn org.bouncycastle.asn1.bsi.BSIObjectIdentifiers
+-dontwarn org.bouncycastle.asn1.cmp.CMPCertificate
+-dontwarn org.bouncycastle.asn1.cmp.CMPObjectIdentifiers
+-dontwarn org.bouncycastle.asn1.cmp.CertConfirmContent
+-dontwarn org.bouncycastle.asn1.cmp.CertStatus
+-dontwarn org.bouncycastle.asn1.cmp.InfoTypeAndValue
+-dontwarn org.bouncycastle.asn1.cmp.PBMParameter
+-dontwarn org.bouncycastle.asn1.cmp.PKIBody
+-dontwarn org.bouncycastle.asn1.cmp.PKIFailureInfo
+-dontwarn org.bouncycastle.asn1.cmp.PKIFreeText
+-dontwarn org.bouncycastle.asn1.cmp.PKIHeader
+-dontwarn org.bouncycastle.asn1.cmp.PKIHeaderBuilder
+-dontwarn org.bouncycastle.asn1.cmp.PKIMessage
+-dontwarn org.bouncycastle.asn1.cmp.PKIStatusInfo
+-dontwarn org.bouncycastle.asn1.cmp.RevDetails
+-dontwarn org.bouncycastle.asn1.cms.Attribute
+-dontwarn org.bouncycastle.asn1.cms.AttributeTable
+-dontwarn org.bouncycastle.asn1.cms.Attributes
+-dontwarn org.bouncycastle.asn1.cms.AuthEnvelopedData
+-dontwarn org.bouncycastle.asn1.cms.AuthenticatedData
+-dontwarn org.bouncycastle.asn1.cms.AuthenticatedDataParser
+-dontwarn org.bouncycastle.asn1.cms.CMSAlgorithmProtection
+-dontwarn org.bouncycastle.asn1.cms.CMSAttributes
+-dontwarn org.bouncycastle.asn1.cms.CMSObjectIdentifiers
+-dontwarn org.bouncycastle.asn1.cms.CompressedData
+-dontwarn org.bouncycastle.asn1.cms.CompressedDataParser
+-dontwarn org.bouncycastle.asn1.cms.ContentInfo
+-dontwarn org.bouncycastle.asn1.cms.ContentInfoParser
+-dontwarn org.bouncycastle.asn1.cms.DigestedData
+-dontwarn org.bouncycastle.asn1.cms.EncryptedContentInfo
+-dontwarn org.bouncycastle.asn1.cms.EncryptedContentInfoParser
+-dontwarn org.bouncycastle.asn1.cms.EncryptedData
+-dontwarn org.bouncycastle.asn1.cms.EnvelopedData
+-dontwarn org.bouncycastle.asn1.cms.EnvelopedDataParser
+-dontwarn org.bouncycastle.asn1.cms.Evidence
+-dontwarn org.bouncycastle.asn1.cms.GenericHybridParameters
+-dontwarn org.bouncycastle.asn1.cms.IssuerAndSerialNumber
+-dontwarn org.bouncycastle.asn1.cms.KEKIdentifier
+-dontwarn org.bouncycastle.asn1.cms.KEKRecipientInfo
+-dontwarn org.bouncycastle.asn1.cms.KeyAgreeRecipientIdentifier
+-dontwarn org.bouncycastle.asn1.cms.KeyAgreeRecipientInfo
+-dontwarn org.bouncycastle.asn1.cms.KeyTransRecipientInfo
+-dontwarn org.bouncycastle.asn1.cms.MetaData
+-dontwarn org.bouncycastle.asn1.cms.OriginatorIdentifierOrKey
+-dontwarn org.bouncycastle.asn1.cms.OriginatorInfo
+-dontwarn org.bouncycastle.asn1.cms.OriginatorPublicKey
+-dontwarn org.bouncycastle.asn1.cms.OtherKeyAttribute
+-dontwarn org.bouncycastle.asn1.cms.OtherRevocationInfoFormat
+-dontwarn org.bouncycastle.asn1.cms.PasswordRecipientInfo
+-dontwarn org.bouncycastle.asn1.cms.RecipientEncryptedKey
+-dontwarn org.bouncycastle.asn1.cms.RecipientIdentifier
+-dontwarn org.bouncycastle.asn1.cms.RecipientInfo
+-dontwarn org.bouncycastle.asn1.cms.RecipientKeyIdentifier
+-dontwarn org.bouncycastle.asn1.cms.RsaKemParameters
+-dontwarn org.bouncycastle.asn1.cms.SignedData
+-dontwarn org.bouncycastle.asn1.cms.SignedDataParser
+-dontwarn org.bouncycastle.asn1.cms.SignerIdentifier
+-dontwarn org.bouncycastle.asn1.cms.SignerInfo
+-dontwarn org.bouncycastle.asn1.cms.Time
+-dontwarn org.bouncycastle.asn1.cms.TimeStampAndCRL
+-dontwarn org.bouncycastle.asn1.cms.TimeStampTokenEvidence
+-dontwarn org.bouncycastle.asn1.cms.TimeStampedData
+-dontwarn org.bouncycastle.asn1.cms.TimeStampedDataParser
+-dontwarn org.bouncycastle.asn1.cms.ecc.ECCCMSSharedInfo
+-dontwarn org.bouncycastle.asn1.cms.ecc.MQVuserKeyingMaterial
+-dontwarn org.bouncycastle.asn1.crmf.AttributeTypeAndValue
+-dontwarn org.bouncycastle.asn1.crmf.CRMFObjectIdentifiers
+-dontwarn org.bouncycastle.asn1.crmf.CertReqMsg
+-dontwarn org.bouncycastle.asn1.crmf.CertRequest
+-dontwarn org.bouncycastle.asn1.crmf.CertTemplate
+-dontwarn org.bouncycastle.asn1.crmf.CertTemplateBuilder
+-dontwarn org.bouncycastle.asn1.crmf.Controls
+-dontwarn org.bouncycastle.asn1.crmf.EncKeyWithID
+-dontwarn org.bouncycastle.asn1.crmf.EncryptedKey
+-dontwarn org.bouncycastle.asn1.crmf.EncryptedValue
+-dontwarn org.bouncycastle.asn1.crmf.OptionalValidity
+-dontwarn org.bouncycastle.asn1.crmf.PKIArchiveOptions
+-dontwarn org.bouncycastle.asn1.crmf.PKMACValue
+-dontwarn org.bouncycastle.asn1.crmf.POPOPrivKey
+-dontwarn org.bouncycastle.asn1.crmf.POPOSigningKey
+-dontwarn org.bouncycastle.asn1.crmf.POPOSigningKeyInput
+-dontwarn org.bouncycastle.asn1.crmf.ProofOfPossession
+-dontwarn org.bouncycastle.asn1.crmf.SubsequentMessage
+-dontwarn org.bouncycastle.asn1.dvcs.CertEtcToken
+-dontwarn org.bouncycastle.asn1.dvcs.DVCSObjectIdentifiers
+-dontwarn org.bouncycastle.asn1.dvcs.DVCSRequest
+-dontwarn org.bouncycastle.asn1.dvcs.DVCSRequestInformation
+-dontwarn org.bouncycastle.asn1.dvcs.DVCSRequestInformationBuilder
+-dontwarn org.bouncycastle.asn1.dvcs.DVCSResponse
+-dontwarn org.bouncycastle.asn1.dvcs.DVCSTime
+-dontwarn org.bouncycastle.asn1.dvcs.Data
+-dontwarn org.bouncycastle.asn1.dvcs.ServiceType
+-dontwarn org.bouncycastle.asn1.dvcs.TargetEtcChain
+-dontwarn org.bouncycastle.asn1.eac.CVCertificate
+-dontwarn org.bouncycastle.asn1.eac.CVCertificateRequest
+-dontwarn org.bouncycastle.asn1.eac.CertificateBody
+-dontwarn org.bouncycastle.asn1.eac.CertificateHolderAuthorization
+-dontwarn org.bouncycastle.asn1.eac.CertificateHolderReference
+-dontwarn org.bouncycastle.asn1.eac.CertificationAuthorityReference
+-dontwarn org.bouncycastle.asn1.eac.EACObjectIdentifiers
+-dontwarn org.bouncycastle.asn1.eac.ECDSAPublicKey
+-dontwarn org.bouncycastle.asn1.eac.PackedDate
+-dontwarn org.bouncycastle.asn1.eac.PublicKeyDataObject
+-dontwarn org.bouncycastle.asn1.eac.RSAPublicKey
+-dontwarn org.bouncycastle.asn1.ess.ESSCertID
+-dontwarn org.bouncycastle.asn1.ess.ESSCertIDv2
+-dontwarn org.bouncycastle.asn1.ess.SigningCertificate
+-dontwarn org.bouncycastle.asn1.ess.SigningCertificateV2
+-dontwarn org.bouncycastle.asn1.est.AttrOrOID
+-dontwarn org.bouncycastle.asn1.est.CsrAttrs
+-dontwarn org.bouncycastle.asn1.tsp.Accuracy
+-dontwarn org.bouncycastle.asn1.tsp.MessageImprint
+-dontwarn org.bouncycastle.asn1.tsp.PartialHashtree
+-dontwarn org.bouncycastle.asn1.tsp.TSTInfo
+-dontwarn org.bouncycastle.asn1.tsp.TimeStampReq
+-dontwarn org.bouncycastle.asn1.tsp.TimeStampResp
+-dontwarn org.ietf.jgss.GSSContext
+-dontwarn org.ietf.jgss.GSSCredential
+-dontwarn org.ietf.jgss.GSSException
+-dontwarn org.ietf.jgss.GSSManager
+-dontwarn org.ietf.jgss.GSSName
+-dontwarn org.ietf.jgss.MessageProp
+-dontwarn org.ietf.jgss.Oid
+-dontwarn org.slf4j.impl.StaticLoggerBinder
+-dontwarn org.slf4j.impl.StaticMDCBinder
+-dontwarn org.slf4j.impl.StaticMarkerBinder
+-dontwarn sun.security.x509.X509Key
diff --git a/autofill-parser/build.gradle.kts b/autofill-parser/build.gradle.kts
index e1550b9d..f22081f3 100644
--- a/autofill-parser/build.gradle.kts
+++ b/autofill-parser/build.gradle.kts
@@ -10,13 +10,7 @@ plugins {
`aps-plugin`
}
-android {
- defaultConfig {
- versionCode = 2
- versionName = "2.0"
- consumerProguardFiles("consumer-rules.pro")
- }
-}
+android { defaultConfig { consumerProguardFiles("consumer-rules.pro") } }
dependencies {
implementation(libs.androidx.annotation)
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index 07c89e3f..2239861b 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -41,9 +41,9 @@ gradlePlugin {
}
dependencies {
- implementation("com.android.tools.build:gradle:4.2.2")
+ implementation("com.android.tools.build:gradle:7.0.0")
implementation("com.diffplug.spotless:spotless-plugin-gradle:5.14.2")
- implementation("com.google.dagger:hilt-android-gradle-plugin:2.38")
+ implementation("com.google.dagger:hilt-android-gradle-plugin:2.38.1")
implementation("com.squareup.okhttp3:okhttp:4.9.0")
implementation("com.vanniktech:gradle-maven-publish-plugin:0.17.0")
implementation("com.vdurmont:semver4j:3.1.0")
diff --git a/buildSrc/src/main/java/BaseProjectConfig.kt b/buildSrc/src/main/java/BaseProjectConfig.kt
index e4dfa7e4..f3a33713 100644
--- a/buildSrc/src/main/java/BaseProjectConfig.kt
+++ b/buildSrc/src/main/java/BaseProjectConfig.kt
@@ -81,16 +81,22 @@ internal fun BaseAppModuleExtension.configureAndroidApplicationOptions(project:
buildConfig = true
}
- flavorDimensions(FlavorDimensions.FREE)
+ flavorDimensions.add(FlavorDimensions.FREE)
productFlavors {
- create(ProductFlavors.FREE) {}
- create(ProductFlavors.NON_FREE) {}
+ register(ProductFlavors.FREE) {}
+ register(ProductFlavors.NON_FREE) {}
}
buildTypes {
named(BuildType.RELEASE.name) {
isMinifyEnabled = !minifySwitch.isPresent
- setProguardFiles(listOf("proguard-android-optimize.txt", "proguard-rules.pro"))
+ 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) {
@@ -105,11 +111,11 @@ internal fun BaseAppModuleExtension.configureAndroidApplicationOptions(project:
/** Apply baseline configurations for all Android projects (Application and Library). */
@Suppress("UnstableApiUsage")
internal fun TestedExtension.configureCommonAndroidOptions() {
- compileSdkVersion(30)
+ setCompileSdkVersion(30)
defaultConfig {
- minSdkVersion(23)
- targetSdkVersion(29)
+ minSdk = 23
+ targetSdk = 29
}
sourceSets {
@@ -118,10 +124,10 @@ internal fun TestedExtension.configureCommonAndroidOptions() {
}
packagingOptions {
- exclude("**/*.version")
- exclude("**/*.txt")
- exclude("**/*.kotlin_module")
- exclude("**/plugin.properties")
+ resources.excludes.add("**/*.version")
+ resources.excludes.add("**/*.txt")
+ resources.excludes.add("**/*.kotlin_module")
+ resources.excludes.add("**/plugin.properties")
}
compileOptions {
diff --git a/buildSrc/src/main/java/SlimTests.kt b/buildSrc/src/main/java/SlimTests.kt
index 65e9c618..e06c7c8c 100644
--- a/buildSrc/src/main/java/SlimTests.kt
+++ b/buildSrc/src/main/java/SlimTests.kt
@@ -3,8 +3,8 @@
* SPDX-License-Identifier: GPL-3.0-only
*/
-import com.android.build.api.extension.ApplicationAndroidComponentsExtension
-import com.android.build.api.extension.LibraryAndroidComponentsExtension
+import com.android.build.api.variant.ApplicationAndroidComponentsExtension
+import com.android.build.api.variant.LibraryAndroidComponentsExtension
import org.gradle.api.Project
import org.gradle.kotlin.dsl.findByType
import org.gradle.language.nativeplatform.internal.BuildType
@@ -21,15 +21,15 @@ internal fun Project.configureSlimTests() {
if (providers.gradleProperty(SLIM_TESTS_PROPERTY).forUseAtConfigurationTime().isPresent) {
// disable unit test tasks on the release build type for Android Library projects
extensions.findByType<LibraryAndroidComponentsExtension>()?.run {
- beforeUnitTests(selector().withBuildType(BuildType.RELEASE.name)) { it.enabled = false }
+ beforeVariants(selector().withBuildType(BuildType.RELEASE.name)) { it.enableUnitTest = false }
}
// disable unit test tasks on the release build type and free flavor for Android Application
// projects.
extensions.findByType<ApplicationAndroidComponentsExtension>()?.run {
- beforeUnitTests(selector().withBuildType(BuildType.RELEASE.name)) { it.enabled = false }
- beforeUnitTests(selector().withFlavor(FlavorDimensions.FREE to ProductFlavors.NON_FREE)) {
- it.enabled = false
+ beforeVariants(selector().withBuildType(BuildType.RELEASE.name)) { it.enableUnitTest = false }
+ beforeVariants(selector().withFlavor(FlavorDimensions.FREE to ProductFlavors.NON_FREE)) {
+ it.enableUnitTest = false
}
}
}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 2ee61a64..fafa15aa 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -10,18 +10,6 @@ kotlin = "1.5.21"
lifecycle = "2.4.0-alpha02"
[libraries]
-# buildSrc dependencies
-androidGradlePlugin = "com.android.tools.build:gradle:4.2.2"
-binaryCompatibilityValidator = "org.jetbrains.kotlinx:binary-compatibility-validator:0.6.0"
-dokkaPlugin = "org.jetbrains.dokka:dokka-gradle-plugin:1.5.0"
-downloadTaskPlugin = "de.undercouch:gradle-download-task:4.1.2"
-hiltGradlePlugin = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "hilt" }
-kotlinGradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
-mavenPublishPlugin = "com.vanniktech:gradle-maven-publish-plugin:0.17.0"
-okhttp = "com.squareup.okhttp3:okhttp:4.9.0"
-semver4j = "com.vdurmont:semver4j:3.1.0"
-spotlessGradlePlugin = "com.diffplug.spotless:spotless-plugin-gradle:5.14.2"
-
# Kotlin dependencies
kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }