How do I get external dependency resolve path from ResolvedArtifact? Here’s far I got -
open class MyTask : DefaultTask() {
@Suppress("unused")
@TaskAction
fun run() {
project.configurations.forEach { configuration ->
println("$configuration: resolve: ${configuration.isCanBeResolved}, consume: ${configuration.isCanBeConsumed}")
if (!configuration.isCanBeResolved) {
return
}
configuration.resolvedConfiguration.resolvedArtifacts.forEach { artifact ->
println("\tartifact: ${artifact.moduleVersion.id}, file: ${artifact.file.absolutePath}")
}
configuration.resolvedConfiguration.files.forEach { file ->
println("\tfile: ${file.absolutePath}")
}
}
}
}
For the static-library examples from native samples, here’s the output I get -
configuration ':app:cppCompileDebug': resolve: true, consume: false
artifact: com.amazon.lyengine:utilities:0.1, file: C:\Users\shahji\.gradle\caches\modules-2\files-2.1\com.amazon.lyengine\utilities\0.1\57a4f25f97896922639a79d35e41dd4ce3bf9e\cpp-api-headers.zip
artifact: com.amazon.lyengine:list:0.1, file: C:\Users\shahji\.gradle\caches\modules-2\files-2.1\com.amazon.lyengine\list\0.1\8fa2746740f3a811e8989dde0613acdf53d23d30\cpp-api-headers.zip
file: C:\Users\shahji\.gradle\caches\modules-2\files-2.1\com.amazon.lyengine\utilities\0.1\57a4f25f97896922639a79d35e41dd4ce3bf9e\cpp-api-headers.zip
file: C:\Users\shahji\.gradle\caches\modules-2\files-2.1\com.amazon.lyengine\list\0.1\8fa2746740f3a811e8989dde0613acdf53d23d30\cpp-api-headers.zip
configuration ':app:cppCompileRelease': resolve: true, consume: false
artifact: com.amazon.lyengine:utilities:0.1, file: C:\Users\shahji\.gradle\caches\modules-2\files-2.1\com.amazon.lyengine\utilities\0.1\57a4f25f97896922639a79d35e41dd4ce3bf9e\cpp-api-headers.zip
artifact: com.amazon.lyengine:list:0.1, file: C:\Users\shahji\.gradle\caches\modules-2\files-2.1\com.amazon.lyengine\list\0.1\8fa2746740f3a811e8989dde0613acdf53d23d30\cpp-api-headers.zip
file: C:\Users\shahji\.gradle\caches\modules-2\files-2.1\com.amazon.lyengine\utilities\0.1\57a4f25f97896922639a79d35e41dd4ce3bf9e\cpp-api-headers.zip
file: C:\Users\shahji\.gradle\caches\modules-2\files-2.1\com.amazon.lyengine\list\0.1\8fa2746740f3a811e8989dde0613acdf53d23d30\cpp-api-headers.zip
How do I get access to the path where cpp-api-headers.zip gets unpacked? Quick browsing thru’ gradle source code gets in NativeDependencyCache implementation but all those classes are internal with no public accessors.
From the build output log file, for list project the archive was unpacked here -
C:\Users\shahji\.gradle\caches\5.0\native-dep\3ecbhng8tu5qkbvm97rwzf7ly\list-0.1
How do I get access to this path?