API 文档 | IvyArtifactRepository |
---|
使用 Ivy 格式存储构建物和元数据的构建物仓库。
用于解析元数据和构建物文件时,将搜索所有可用的模式。
用于上传元数据和构建物文件时,仅使用一个主要模式
- 如果通过
IvyArtifactRepository.setUrl(java.lang.Object)
指定了 URL,则该 URL 将用于上传,并结合应用的IvyArtifactRepository.layout(java.lang.String)
。 - 如果未指定 URL,但通过
IvyArtifactRepository.artifactPattern(java.lang.String)
或IvyArtifactRepository.ivyPattern(java.lang.String)
添加了额外的模式,则将使用第一个定义的模式。
这种类型的仓库由 RepositoryHandler.ivy(org.gradle.api.Action)
方法组创建。
属性 | 描述 |
allowInsecureProtocol | 指定是否允许通过不安全的 HTTP 连接与仓库通信。 |
authentication | 此仓库的认证方案。 |
credentials | 用于向此仓库进行认证的指定类型凭据。 |
name | 此仓库的名称。在一个仓库集合中,名称必须唯一。如果未提供名称,则会为该仓库提供默认名称。 |
resolve | 从此仓库解析构建物时使用的元数据提供者。该提供者负责定位和解释此仓库中包含的模块和构建物的元数据。使用此提供者,您可以微调解析过程。 |
url | 此仓库的基 URL。 |
方法 | 描述 |
artifactPattern(pattern) | 添加一个独立的模式,该模式将用于在此仓库中定位构建物文件。除非通过 |
authentication(action) | 配置此仓库的认证方案。 |
credentials(credentialsType) | 配置将由构建提供的此仓库的凭据。 |
credentials(credentialsType, action) | 使用提供的 action 配置此仓库的凭据。 |
credentials(action) | 使用提供的 action 配置此仓库的用户名和密码凭据。 |
ivyPattern(pattern) | 添加一个独立的模式,该模式将用于在此仓库中定位 ivy 文件。如果此模式不是完全限定的 URL,它将被解释为相对于项目目录的文件。它不会被解释为相对于 |
layout(layoutName) | 指定仓库项的组织方式。 |
metadataSources(configureAction) | 配置此仓库的元数据源。此方法将替换任何先前配置的元数据源。 |
patternLayout(config) | 指定仓库项的组织方式。 |
boolean
allowInsecureProtocol
指定是否允许通过不安全的 HTTP 连接与仓库通信。
出于安全考虑,这特意要求用户逐个案例地选择启用不安全协议。
Gradle 特意不提供允许全局禁用此检查的系统/gradle 属性。
允许通过不安全协议进行通信使得中间人能够冒充目标服务器,并使攻击者能够 将恶意可执行代码注入系统。
AuthenticationContainer
authentication
(只读)
此仓库的认证方案。
T
credentials
(只读)
用于向此仓库进行认证的指定类型凭据。
如果未为此仓库分配凭据,则会为此仓库分配并返回指定类型的空凭据集。
从此仓库解析构建物时使用的元数据提供者。该提供者负责定位和解释此仓库中包含的模块和构建物的元数据。使用此提供者,您可以微调解析过程。
URI
url
此仓库的基 URL。
void
artifactPattern
(String
pattern)
添加一个独立的模式,该模式将用于在此仓库中定位构建物文件。除非通过 IvyArtifactRepository.ivyPattern(java.lang.String)
提供了特定的 ivy 模式,否则此模式也将用于定位 ivy 文件。如果此模式不是完全限定的 URL,它将被解释为相对于项目目录的文件。它不会被解释为相对于 IvyArtifactRepository.setUrl(java.lang.Object)
中指定的 URL。以这种方式添加的模式将是除通过 IvyArtifactRepository.setUrl(java.lang.Object)
添加的任何基于布局的模式之外的模式。
void
authentication
(Action
<? super AuthenticationContainer
>
action)
Action
<? super AuthenticationContainer
>配置此仓库的认证方案。
此方法针对此项目的 AuthenticationContainer
执行给定的 action。 AuthenticationContainer
作为 closure 的 delegate 传递给 closure。
如果未为此仓库分配认证方案,则会根据仓库的传输方案使用一组默认的认证方案。
repositories {
maven {
url = "https://example.com/m2"
authentication {
basic(BasicAuthentication)
}
}
}
支持的认证方案类型扩展自 Authentication
。
void
credentials
(Class
<? extends Credentials
>
credentialsType)
Class
<? extends Credentials
>配置将由构建提供的此仓库的凭据。
凭据将根据仓库名称从 Gradle 属性中提供。如果无法解析此仓库的凭据,并且该仓库将在当前构建中使用,则构建将无法启动并指向缺失的配置。
repositories {
maven {
url = "https://example.com/m2"
credentials(PasswordCredentials)
}
}
目前支持以下凭据类型作为 credentialsType
参数
使用提供的 action 配置此仓库的凭据。
如果未为此仓库分配凭据,则会将指定类型的一组空凭据分配给此仓库并提供给配置 action。如果已为此仓库指定了凭据,则会将它们传递给给定的配置 action。
repositories { maven { url = "https://example.com/aws/proxy" credentials(AwsCredentials) { accessKey = "myAccessKey" secretKey = "mySecret" } } }
目前支持以下凭据类型作为 credentialsType
参数
void
credentials
(Action
<? super PasswordCredentials
>
action)
Action
<? super PasswordCredentials
>使用提供的 action 配置此仓库的用户名和密码凭据。
如果未为此仓库分配凭据,则会为此仓库分配一组空的用户名和密码凭据,并传递给 action。
repositories { maven { url = "https://example.com/m2" credentials { username = 'joe' password = 'secret' } } }
void
ivyPattern
(String
pattern)
添加一个独立的模式,该模式将用于在此仓库中定位 ivy 文件。如果此模式不是完全限定的 URL,它将被解释为相对于项目目录的文件。它不会被解释为相对于 IvyArtifactRepository.setUrl(java.lang.Object)
中指定的 URL。以这种方式添加的模式将是除通过 IvyArtifactRepository.setUrl(java.lang.Object)
添加的任何基于布局的模式之外的模式。
void
layout
(String
layoutName)
指定仓库项的组织方式。
可识别的值如下:
一个应用以下模式的仓库布局:
- 构建物:
$baseUri/
[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier])(.[ext])
- Ivy:
$baseUri/
[organisation]/[module]/[revision]/ivy-[revision].xml
一个应用以下模式的仓库布局:
- 构建物:
$baseUri/
[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier])(.[ext])
- Ivy:
$baseUri/
[organisation]/[module]/[revision]/ivy-[revision].xml
遵循 Maven 约定,'organisation' 值会通过将 '.' 替换为 '/' 进行进一步处理。
void
metadataSources
(Action
<? super MetadataSources
>
configureAction)
Action
<? super MetadataSources
>配置此仓库的元数据源。此方法将替换任何先前配置的元数据源。
void
patternLayout
(Action
<? super IvyPatternRepositoryLayout
>
config)
Action
<? super IvyPatternRepositoryLayout
>指定仓库项的组织方式。
使用提供的 closure 配置布局。
repositories { ivy { patternLayout { artifact '[module]/[revision]/[artifact](.[ext])' ivy '[module]/[revision]/ivy.xml' } } }
可用的模式标记列在 Ivy 主概念文档中。