Upgrade to AGP 7.0.0 (#1474)
This commit is contained in:
parent
1172c3734f
commit
403bb383b5
6 changed files with 165 additions and 38 deletions
139
app/proguard-rules-missing-classes.pro
Normal file
139
app/proguard-rules-missing-classes.pro
Normal file
|
@ -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
|
|
@ -10,13 +10,7 @@ plugins {
|
||||||
`aps-plugin`
|
`aps-plugin`
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android { defaultConfig { consumerProguardFiles("consumer-rules.pro") } }
|
||||||
defaultConfig {
|
|
||||||
versionCode = 2
|
|
||||||
versionName = "2.0"
|
|
||||||
consumerProguardFiles("consumer-rules.pro")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(libs.androidx.annotation)
|
implementation(libs.androidx.annotation)
|
||||||
|
|
|
@ -41,9 +41,9 @@ gradlePlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
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.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.squareup.okhttp3:okhttp:4.9.0")
|
||||||
implementation("com.vanniktech:gradle-maven-publish-plugin:0.17.0")
|
implementation("com.vanniktech:gradle-maven-publish-plugin:0.17.0")
|
||||||
implementation("com.vdurmont:semver4j:3.1.0")
|
implementation("com.vdurmont:semver4j:3.1.0")
|
||||||
|
|
|
@ -81,16 +81,22 @@ internal fun BaseAppModuleExtension.configureAndroidApplicationOptions(project:
|
||||||
buildConfig = true
|
buildConfig = true
|
||||||
}
|
}
|
||||||
|
|
||||||
flavorDimensions(FlavorDimensions.FREE)
|
flavorDimensions.add(FlavorDimensions.FREE)
|
||||||
productFlavors {
|
productFlavors {
|
||||||
create(ProductFlavors.FREE) {}
|
register(ProductFlavors.FREE) {}
|
||||||
create(ProductFlavors.NON_FREE) {}
|
register(ProductFlavors.NON_FREE) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
named(BuildType.RELEASE.name) {
|
named(BuildType.RELEASE.name) {
|
||||||
isMinifyEnabled = !minifySwitch.isPresent
|
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()}")
|
buildConfigField("boolean", "ENABLE_DEBUG_FEATURES", "${project.isSnapshot()}")
|
||||||
}
|
}
|
||||||
named(BuildType.DEBUG.name) {
|
named(BuildType.DEBUG.name) {
|
||||||
|
@ -105,11 +111,11 @@ internal fun BaseAppModuleExtension.configureAndroidApplicationOptions(project:
|
||||||
/** Apply baseline configurations for all Android projects (Application and Library). */
|
/** Apply baseline configurations for all Android projects (Application and Library). */
|
||||||
@Suppress("UnstableApiUsage")
|
@Suppress("UnstableApiUsage")
|
||||||
internal fun TestedExtension.configureCommonAndroidOptions() {
|
internal fun TestedExtension.configureCommonAndroidOptions() {
|
||||||
compileSdkVersion(30)
|
setCompileSdkVersion(30)
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion(23)
|
minSdk = 23
|
||||||
targetSdkVersion(29)
|
targetSdk = 29
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
|
@ -118,10 +124,10 @@ internal fun TestedExtension.configureCommonAndroidOptions() {
|
||||||
}
|
}
|
||||||
|
|
||||||
packagingOptions {
|
packagingOptions {
|
||||||
exclude("**/*.version")
|
resources.excludes.add("**/*.version")
|
||||||
exclude("**/*.txt")
|
resources.excludes.add("**/*.txt")
|
||||||
exclude("**/*.kotlin_module")
|
resources.excludes.add("**/*.kotlin_module")
|
||||||
exclude("**/plugin.properties")
|
resources.excludes.add("**/plugin.properties")
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
* SPDX-License-Identifier: GPL-3.0-only
|
* SPDX-License-Identifier: GPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import com.android.build.api.extension.ApplicationAndroidComponentsExtension
|
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
||||||
import com.android.build.api.extension.LibraryAndroidComponentsExtension
|
import com.android.build.api.variant.LibraryAndroidComponentsExtension
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.kotlin.dsl.findByType
|
import org.gradle.kotlin.dsl.findByType
|
||||||
import org.gradle.language.nativeplatform.internal.BuildType
|
import org.gradle.language.nativeplatform.internal.BuildType
|
||||||
|
@ -21,15 +21,15 @@ internal fun Project.configureSlimTests() {
|
||||||
if (providers.gradleProperty(SLIM_TESTS_PROPERTY).forUseAtConfigurationTime().isPresent) {
|
if (providers.gradleProperty(SLIM_TESTS_PROPERTY).forUseAtConfigurationTime().isPresent) {
|
||||||
// disable unit test tasks on the release build type for Android Library projects
|
// disable unit test tasks on the release build type for Android Library projects
|
||||||
extensions.findByType<LibraryAndroidComponentsExtension>()?.run {
|
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
|
// disable unit test tasks on the release build type and free flavor for Android Application
|
||||||
// projects.
|
// projects.
|
||||||
extensions.findByType<ApplicationAndroidComponentsExtension>()?.run {
|
extensions.findByType<ApplicationAndroidComponentsExtension>()?.run {
|
||||||
beforeUnitTests(selector().withBuildType(BuildType.RELEASE.name)) { it.enabled = false }
|
beforeVariants(selector().withBuildType(BuildType.RELEASE.name)) { it.enableUnitTest = false }
|
||||||
beforeUnitTests(selector().withFlavor(FlavorDimensions.FREE to ProductFlavors.NON_FREE)) {
|
beforeVariants(selector().withFlavor(FlavorDimensions.FREE to ProductFlavors.NON_FREE)) {
|
||||||
it.enabled = false
|
it.enableUnitTest = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,18 +10,6 @@ kotlin = "1.5.21"
|
||||||
lifecycle = "2.4.0-alpha02"
|
lifecycle = "2.4.0-alpha02"
|
||||||
|
|
||||||
[libraries]
|
[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 dependencies
|
||||||
kotlin-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
|
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" }
|
kotlin-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" }
|
||||||
|
|
Loading…
Reference in a new issue