Upgrade to AGP 7.0.0 (#1474)

This commit is contained in:
Harsh Shandilya 2021-07-29 15:24:31 +05:30 committed by GitHub
parent 1172c3734f
commit 403bb383b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 165 additions and 38 deletions

View 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

View file

@ -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)

View file

@ -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")

View file

@ -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 {

View file

@ -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
} }
} }
} }

View file

@ -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" }