build-logic: make android-common a separate plugin and support com.android.test

This commit is contained in:
Harsh Shandilya 2022-06-21 00:11:58 +05:30
parent 504cdfe78a
commit 4d6b97adaf
No known key found for this signature in database
GPG key ID: 366D7BBAD1031E80
4 changed files with 28 additions and 6 deletions

View file

@ -30,6 +30,10 @@ gradlePlugin {
id = "dev.msfjarvis.claw.android-application"
implementationClass = "dev.msfjarvis.aps.gradle.ApplicationPlugin"
}
register("android-common") {
id = "dev.msfjarvis.claw.android-common"
implementationClass = "dev.msfjarvis.aps.gradle.AndroidCommonPlugin"
}
register("android-library") {
id = "dev.msfjarvis.claw.android-library"
implementationClass = "dev.msfjarvis.aps.gradle.LibraryPlugin"

View file

@ -1,14 +1,16 @@
package dev.msfjarvis.aps.gradle
import com.android.build.api.dsl.TestExtension
import com.android.build.gradle.TestedExtension
import org.gradle.api.JavaVersion
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.findByType
@Suppress("UnstableApiUsage")
object AndroidCommon {
fun configure(project: Project) {
project.extensions.configure<TestedExtension> {
class AndroidCommonPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.extensions.findByType<TestedExtension>()?.run {
setCompileSdkVersion(31)
defaultConfig {
minSdk = 26
@ -35,6 +37,22 @@ object AndroidCommon {
targetCompatibility = JavaVersion.VERSION_11
}
testOptions {
animationsDisabled = true
unitTests.isReturnDefaultValues = true
}
}
project.extensions.findByType<TestExtension>()?.run {
compileSdk = 31
defaultConfig {
minSdk = 26
targetSdk = 31
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
testOptions {
animationsDisabled = true
unitTests.isReturnDefaultValues = true

View file

@ -15,7 +15,7 @@ class ApplicationPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.pluginManager.apply(AppPlugin::class)
AndroidCommon.configure(project)
project.pluginManager.apply(AndroidCommonPlugin::class)
project.extensions.getByType<BaseAppModuleExtension>().run {
adbOptions.installOptions("--user 0")

View file

@ -10,6 +10,6 @@ class LibraryPlugin : Plugin<Project> {
override fun apply(project: Project) {
project.pluginManager.apply(LibraryPlugin::class)
AndroidCommon.configure(project)
project.pluginManager.apply(AndroidCommonPlugin::class)
}
}