一般来说,我是 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") }