This message was deleted.
# community-support
s
This message was deleted.
c
^^ I managed to get a solution for my problem above by using an artifact resolution query
Copy code
allprojects {
  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
      }
    }
  }
}