[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:
@@ -1,6 +1,7 @@
|
|||||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||||
import com.github.jengelman.gradle.plugins.shadow.transformers.ComponentsXmlResourceTransformer
|
import com.github.jengelman.gradle.plugins.shadow.transformers.ComponentsXmlResourceTransformer
|
||||||
import org.gradle.internal.jvm.Jvm
|
import org.gradle.internal.jvm.Jvm
|
||||||
|
import org.gradle.kotlin.dsl.support.serviceOf
|
||||||
|
|
||||||
description = "Shaded Maven dependencies resolver"
|
description = "Shaded Maven dependencies resolver"
|
||||||
|
|
||||||
@@ -72,10 +73,12 @@ val normalizeComponentsXmlEndings by tasks.registering {
|
|||||||
dependsOn(relocatedJar)
|
dependsOn(relocatedJar)
|
||||||
val outputDirectory = buildDir.resolve(name)
|
val outputDirectory = buildDir.resolve(name)
|
||||||
val outputFile = outputDirectory.resolve(ComponentsXmlResourceTransformer.COMPONENTS_XML_PATH)
|
val outputFile = outputDirectory.resolve(ComponentsXmlResourceTransformer.COMPONENTS_XML_PATH)
|
||||||
|
val relocatedJarFile = project.provider { relocatedJar.get().singleOutputFile() }
|
||||||
|
val archiveOperations = serviceOf<ArchiveOperations>()
|
||||||
outputs.file(outputFile)
|
outputs.file(outputFile)
|
||||||
|
|
||||||
doFirst {
|
doFirst {
|
||||||
val componentsXml = zipTree(relocatedJar.get().singleOutputFile()).matching {
|
val componentsXml = archiveOperations.zipTree(relocatedJarFile.get()).matching {
|
||||||
include { it.path == ComponentsXmlResourceTransformer.COMPONENTS_XML_PATH }
|
include { it.path == ComponentsXmlResourceTransformer.COMPONENTS_XML_PATH }
|
||||||
}.single().readText()
|
}.single().readText()
|
||||||
val processedComponentsXml = componentsXml.replace("\r\n", "\n")
|
val processedComponentsXml = componentsXml.replace("\r\n", "\n")
|
||||||
|
|||||||
Reference in New Issue
Block a user