我有一个带有多个子项目的 gradle 项目——我希望能够一次将所有这些子项目发布到本地工件存储库。使用uploadArchives 可以很好地管理这一点。但是,上传需要我不想存储在任何地方的凭据。我发现了几种通过将额外属性设置为根项目的一部分并在子项目中获取它们来实现这一点的黑客方法,但感觉这样做的正确方法是:
task getAuth << {
ext {
username = getUsername()
password = getPassword()
}
}
uploadArchives.dependsOn(getAuth)
但是,uploadArchives 似乎在它的依赖项之前运行,因此在设置用户名或密码之前设置了身份验证,并且脚本出错了。这对我来说似乎是非常出乎意料的行为。