用于在 Maven 存储库之间移动工件的 Gradle 脚本



我正在开发一个 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",该任务实际上将所有已解析配置的文件复制到本地文件夹中。

希望这有帮助。

最新更新