in BuildSrc/manifestUpdaterTest/buildSrc/src/main/kotlin/ExamplePlugin.kt [24:52]
override fun apply(project: Project) {
val gitVersionProvider =
project.tasks.register("gitVersionProvider", GitVersionTask::class.java) {
it.gitVersionOutputFile.set(
File(project.buildDir, "intermediates/gitVersionProvider/output")
)
it.outputs.upToDateWhen { false }
}
val androidComponents = project.extensions.getByType(AndroidComponentsExtension::class.java)
androidComponents.onVariants { variant ->
val manifestUpdater =
project.tasks.register(variant.name + "ManifestUpdater", ManifestTransformerTask::class.java) {
it.gitInfoFile.set(gitVersionProvider.flatMap(GitVersionTask::gitVersionOutputFile))
}
variant.artifacts.use(manifestUpdater)
.wiredWithFiles(
ManifestTransformerTask::mergedManifest,
ManifestTransformerTask::updatedManifest)
.toTransform(SingleArtifact.MERGED_MANIFEST)
project.tasks.register(variant.name + "Verifier", VerifyManifestTask::class.java) {
it.apkFolder.set(variant.artifacts.get(SingleArtifact.APK))
it.builtArtifactsLoader.set(variant.artifacts.getBuiltArtifactsLoader())
}
}
}