【发布时间】:2019-10-26 14:12:17
【问题描述】:
我正在尝试将 gradle-enterprise-maven-extension 用于 Maven。我的理解是,您可以决定通过 Gradle Enterprise 服务器和/或本地缓存使用远程缓存。我想禁用任何远程缓存并启用本地缓存。
扩展的项目配置为:
$ cat .mvn/gradle-enterprise.xml
<gradleEnterprise xmlns="https://www.gradle.com/gradle-enterprise-maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.gradle.com/gradle-enterprise-maven https://www.gradle.com/schema/gradle-enterprise-maven.xsd">
<buildCache>
<local>
<enabled>true</enabled>
</local>
<remote>
<enabled>false</enabled>
</remote>
</buildCache>
<buildScan>
<publish>ON_DEMAND</publish>
<termsOfService>
<url>https://gradle.com/terms-of-service</url>
<accept>false</accept>
</termsOfService>
</buildScan>
</gradleEnterprise>
(我不接受构建扫描的服务条款,因为我不想将扫描发送到公司之外)
当我在启用 gradle 目标日志记录的情况下运行 maven 时,扩展程序会通知我构建缓存已禁用,最后$HOME/.m2./.gradle-enterprise/build-cache 目录不存在。这是命令和输出:
$ mvn clean verify -Dorg.slf4j.simpleLogger.log.gradle.goal.cache=debug
[DEBUG] Gradle Enterprise Maven Extension: 1.2.8^M
[DEBUG] Not using the build cache: Build caching requires a Gradle Enterprise server and none was specified.
可能我误解了扩展程序的工作原理。是否需要 Gradle Enterprise 才能使用扩展程序?如果是,为什么需要它?为什么我不能像在 Gradle 中那样使用本地缓存?
【问题讨论】:
-
我认为这基于网站:
The build caching functionality for Maven requires a Gradle Enterprise license. The free scans.gradle.com server does not allow using the build cache.是行不通的,因为 Gradle 是一个商业工具,他们想赚钱。 -
顺便说一句:
Why I can't use a local cache like I would do in Gradle?你知道$HOME/.m2/repository是什么意思? -
不,我的意思是构建缓存。在 Gradle 中,您不需要服务器来使用它,不是吗?