HttpBuildCache

API 文档HttpBuildCache

用于 HTTP 构建缓存的配置对象。缓存条目通过 GET 请求加载,并通过 PUT 请求存储。

成功的 GET 请求必须返回状态为 200(缓存命中)或 404(缓存未命中)的响应,其中缓存命中响应包括作为响应正文的缓存条目。成功的 PUT 请求必须返回任何 2xx 响应。

PUT 请求也可能返回 413 Payload Too Large 响应,以指示有效负载大于可接受的大小。当 HttpBuildCache.isUseExpectContinue() 启用时,这非常有用。

重定向响应可以使用 301、302、303、307 或 308 响应发出。对 PUT 请求的重定向响应必须使用 307 或 308 以重放 PUT。否则,重定向将通过 GET 请求跟进。

任何其他类型的响应都将被视为错误,导致远程缓存在本构建的剩余时间内被禁用。

当配置了凭据时(参见 HttpBuildCache.getCredentials()),它们将使用 HTTP 基本身份验证发送。

在建立 TCP 连接后,请求传输期间失败的请求将自动重试。这包括连接断开、读取或写入超时以及低级网络故障,例如连接重置。

属性

属性描述
allowInsecureProtocol

指定是否可以接受通过不安全的 HTTP 连接与构建缓存进行通信。

allowUntrustedServer

指定是否可以接受与具有不受信任 SSL 证书的 HTTP 构建缓存后端进行通信。

enabled

是否启用构建缓存。

push

给定的构建是否可以将输出存储在构建缓存中。

url

缓存的 URI。

useExpectContinue

指定是否应为存储请求使用 HTTP expect-continue。此值默认为 false。启用后,将在尝试之前检查服务器是否会成功处理存储请求。当可能处理可能被服务器拒绝并返回 413 Payload Too Large 响应的大型工件时,这尤其有用,因为它避免了传输大型文件以被拒绝的开销。这种快速失败行为的代价是成功请求的额外边际开销,这是由于初始检查所需的额外网络通信造成的。注意:并非所有 HTTP 服务器都支持 expect-continue。

方法

方法描述
credentials(configuration)

配置用于访问 HTTP 缓存后端的凭据。

脚本块

没有脚本块

属性详情

boolean allowInsecureProtocol

指定是否可以接受通过不安全的 HTTP 连接与构建缓存进行通信。

出于安全目的,这有意要求用户在个案基础上选择加入使用不安全协议。

Gradle 有意不提供允许通用禁用此检查的全局系统/gradle 属性。

允许通过不安全协议进行通信,使得中间人可以冒充预期的服务器,并使攻击者能够 将恶意可执行代码提供到系统上。

另请参阅:想要接管 Java 生态系统?您只需要一个 MITM!

boolean allowUntrustedServer

指定是否可以接受与具有不受信任 SSL 证书的 HTTP 构建缓存后端进行通信。

HTTP 构建缓存后端的 SSL 证书可能不受信任,因为它是由内部提供的或自签名证书。

在这种情况下,您可以配置构建 JVM 环境以信任该证书,或者将此属性设置为 true 以禁用服务器身份验证。

允许与不受信任的服务器通信可以在传输过程中保持数据加密,但使中间人更容易冒充预期的服务器并捕获数据。

如果使用 HTTP 协议指定服务器(即禁用 SSL),则此值无效。

boolean enabled

是否启用构建缓存。

boolean push

给定的构建是否可以将输出存储在构建缓存中。

URI url

缓存的 URI。

boolean useExpectContinue

指定是否应为存储请求使用 HTTP expect-continue。此值默认为 false。启用后,将在尝试之前检查服务器是否会成功处理存储请求。当可能处理可能被服务器拒绝并返回 413 Payload Too Large 响应的大型工件时,这尤其有用,因为它避免了传输大型文件以被拒绝的开销。这种快速失败行为的代价是成功请求的额外边际开销,这是由于初始检查所需的额外网络通信造成的。注意:并非所有 HTTP 服务器都支持 expect-continue。

方法详情

void credentials(Action<? super HttpBuildCacheCredentials> configuration)

配置用于访问 HTTP 缓存后端的凭据。