mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-11 06:44:00 +00:00
Optimize artifacts copy task (#3842)
We should avoid using internal APIs in AGP.
Refs 1cd59c8951/addCustomAsset/build-logic/plugins/src/main/kotlin/CustomPlugin.kt (L63-L70).
This commit is contained in:
24
build.gradle
24
build.gradle
@@ -1,3 +1,4 @@
|
|||||||
|
import app.cash.licensee.LicenseeTask
|
||||||
import com.android.build.gradle.api.AndroidBasePlugin
|
import com.android.build.gradle.api.AndroidBasePlugin
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||||
|
|
||||||
@@ -138,17 +139,22 @@ android {
|
|||||||
buildConfigField "int", "QUICKSTEP_MAX_SDK", quickstepMaxSdk
|
buildConfigField "int", "QUICKSTEP_MAX_SDK", quickstepMaxSdk
|
||||||
}
|
}
|
||||||
|
|
||||||
applicationVariants.configureEach { variant ->
|
androidComponents {
|
||||||
def capitalizedName = variant.name.capitalize()
|
onVariants(selector().all()) { variant ->
|
||||||
def copyArtifactList = tasks.register("copy${capitalizedName}ArtifactList", Copy) {
|
def capName = variant.name.capitalize()
|
||||||
dependsOn tasks.named("licenseeAndroid${capitalizedName}")
|
def licenseeTask = tasks.named("licenseeAndroid$capName", LicenseeTask)
|
||||||
from reporting.file("licensee/android${capitalizedName}/artifacts.json")
|
def copyArtifactsTask = tasks.register("copy${capName}Artifacts", Copy) {
|
||||||
into layout.buildDirectory.dir("generated/dependencyAssets/")
|
dependsOn(licenseeTask)
|
||||||
}
|
from(licenseeTask.map { it.outputDir.file("artifacts.json") })
|
||||||
tasks.named("merge${variant.name.capitalize()}Assets").configure {
|
into(layout.buildDirectory.dir("generated/dependencyAssets"))
|
||||||
dependsOn copyArtifactList
|
}
|
||||||
|
variant.sources.assets?.addGeneratedSourceDirectory(licenseeTask) {
|
||||||
|
objects.directoryProperty().fileProvider(copyArtifactsTask.map { it.destinationDir })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
applicationVariants.configureEach { variant ->
|
||||||
variant.outputs.configureEach {
|
variant.outputs.configureEach {
|
||||||
outputFileName = "Lawnchair ${variant.versionName}.apk"
|
outputFileName = "Lawnchair ${variant.versionName}.apk"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user