我有一个gradle项目,其中包含几个子项目-所有这些子项目我都希望能够立即发布到本地 Artifact 仓库中。使用uploadArchives可以很轻松地进行管理。但是,上传需要凭据,但我不想将其存储在任何地方。我已经找到了几种方法来实现此目的,方法是在根项目中设置额外的属性,然后在子项目中进行选择,但这似乎是正确的方法:

task getAuth << {
    ext {
        username = getUsername()
        password = getPassword()
    }
}

uploadArchives.dependsOn(getAuth)

但是,uploadArchives似乎是在依赖项之前运行的,因此在设置用户名或密码之前会设置auth,并且脚本会出错。对我来说,这似乎是极其出乎意料的行为。

最佳答案

我个人将在任务操作(uploadArchives.doFirst { ... })中设置用户名和密码,但是配置任务也应该起作用。如果不是这样,则其余的构建脚本可能有问题。请注意,您将设置额外的属性getAuth.usernamegetAuth.password,而不是project.usernameproject.password

09-25 21:37