Slackbot
05/25/2022, 7:42 AMClaudiu-Vlad Ursache
05/25/2022, 1:35 PMallprojects {
afterEvaluate { p ->
def taskName = "copyDeps"
def destinationDir = "/tmp/legado"
def gradleProjectName = "app"
def gradleConfigurationName = "appReleaseCompileClasspath"
if (p.name.equals(gradleProjectName)) {
def compileDepsCopyTaskName = taskName + "_compileDeps"
tasks.register(compileDepsCopyTaskName, Copy) {
def myConfig = p.configurations.find { it.name.equals(gradleConfigurationName) }
def componentIds = myConfig.incoming.resolutionResult.allDependencies.collect { it.selected.id }
def result = dependencies.createArtifactResolutionQuery()
.forComponents(componentIds)
.withArtifacts(JvmLibrary, SourcesArtifact)
.execute()
//for (component in result.resolvedComponents) {
// component.getArtifacts(SourcesArtifact).each { println "Source artifact for ${component.id}: ${it.file}" }
//}
duplicatesStrategy = 'include'
into destinationDir
from result.resolvedComponents.collect { it.getArtifacts(SourcesArtifact).collect { it.file } }
}
def androidDepsCopyTaskName = taskName + "_androidDeps"
tasks.register(androidDepsCopyTaskName, Copy) {
duplicatesStrategy = 'include'
into destinationDir
from p.configurations.find { it.name.equals("androidApis") }
}
tasks.register(taskName, Copy) {
dependsOn androidDepsCopyTaskName
dependsOn compileDepsCopyTaskName
}
}
}
}