[Build] dependencies-maven-all: use ArchiveOperations service

`normalizeComponentsXmlEndings` task was using `zipTree` method of `project`. The `ArchiveOperations` method should be used to work properly with configuration cache.
#KT-44611 In Progress
This commit is contained in:
Alexander Likhachev
2022-02-21 16:35:13 +03:00
parent f4b17ff78f
commit aa3b653847
@@ -1,6 +1,7 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import com.github.jengelman.gradle.plugins.shadow.transformers.ComponentsXmlResourceTransformer
import org.gradle.internal.jvm.Jvm
import org.gradle.kotlin.dsl.support.serviceOf
description = "Shaded Maven dependencies resolver"
@@ -72,10 +73,12 @@ val normalizeComponentsXmlEndings by tasks.registering {
dependsOn(relocatedJar)
val outputDirectory = buildDir.resolve(name)
val outputFile = outputDirectory.resolve(ComponentsXmlResourceTransformer.COMPONENTS_XML_PATH)
val relocatedJarFile = project.provider { relocatedJar.get().singleOutputFile() }
val archiveOperations = serviceOf<ArchiveOperations>()
outputs.file(outputFile)
doFirst {
val componentsXml = zipTree(relocatedJar.get().singleOutputFile()).matching {
val componentsXml = archiveOperations.zipTree(relocatedJarFile.get()).matching {
include { it.path == ComponentsXmlResourceTransformer.COMPONENTS_XML_PATH }
}.single().readText()
val processedComponentsXml = componentsXml.replace("\r\n", "\n")