我正在开发一个 Gradle 脚本,将工件从一个 Maven 存储库复制到另一个存储库。我试图通过将工件作为依赖项,然后将其设置为存档来破解它。
我尝试使用configuration.files()方法,但无法构建它将接受的依赖对象。
dependencies {
compile group: artGroup, name: artName, version: artVersion
}
artifacts {
archives configurations.default.files(
/* I have not been able to build an argument this method accepts */
)
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: 'file:../../../repo')
}
}
}
我们已经在其他环境中这样做了(将文件从远程复制到本地),看起来您对 Gradle DSL 有一些误解。
首先,工件 { 存档{}} 用于将可部署的工件添加到存档配置中。您不能在此块中使用它(就对配置文件执行某些操作而言)。
其次,您无法"按原样"上传已解决的内容。上传适用于生成生成或手动添加(它们具有特殊类型)的项目。
对我们来说,解决方案是创建一个新的 Gradle 任务"copyArtifacts",该任务实际上将所有已解析配置的文件复制到本地文件夹中。
希望这有帮助。