3

我正在尝试将多个依赖项提取到不同的目录中。我尝试了以下。

configurations {
   cppDependencies
}

dependencies {
   cppDependencies 'com.group:artifact1:1.0"
   cppDependencies 'com.group:artifact2:1.0"
}

task extractDeps(type: Copy) {
    from {
        configurations.cppDependencies.collect {
            zipTree(it)
        }
    }
    into new File(buildDir, "DEP_DIR")
}

显然这只是将artifact1artifact2提取到同一个DEP_DIR目录下。但我真正想要实现的是分别在DEP_DIR/artifact1DEP_DIR/artifact2下提取它们。

我试图在zipTree命令下放入 new File(buildDir, "DEP_DIR/" + it.artifactId)但它给出了错误。

这可能吗?

4

1 回答 1

3

我找到了一个可行的解决方案。

不知道这是否是最好的方法,但这就是我想出的:

task extractDeps << {
    configurations.cppDependencies.resolvedConfiguration.resolvedArtifacts.each { artifact ->
        copy {
            from project.zipTree(artifact.getFile())
            into new File(project.buildDir, "DEP_DIR/" + artifact.name)
        }
    }
}
于 2013-08-29T07:33:50.437 回答