一般来说,我是 Gradle 和 Groovy 的新手,我试图从Gradle 用户指南中理解以下示例,尤其是如何在 DSL 文档中找到所有这些选项:
uploadArchives {
repositories.mavenDeployer {
name = 'sshDeployer' // optional
configuration = configurations.deployerJars
repository(url: "scp://repos.mycompany.com/releases") {
authentication(userName: "me", password: "myPassword")
}
}
}
我的理解:
uploadArchives是类型的任务,Upload由 Java 插件添加到项目中repositories是Upload任务的属性,属于类型RepositoryHandler
我不明白的是:
mavenDeployer没有出现在RepositoryHandler 的文档中的任何地方。它从何而来?我们怎么知道存在这样的方法?- 在索引中搜索,我发现这
mavenDeployer是一个来自MavenRepositoryHandlerConvention的方法,它混合在与 Upload 类型的每个任务关联的 RepositoryHandler 中。太糟糕了,这在RepositoryHandler的文档和 Upload 的文档中没有提到。 虽然它可能更清楚,但我知道闭包必须配置一个类型的对象
GroovyMavenDeployer。但是阅读 javadoc,repository例如属性是 typeObject。我怎么知道我可以使用以下配置它?repository(url: "scp://repos.mycompany.com/releases") { authentication(userName: "me", password: "myPassword") }