删除Gradle的构建缓存并进行构建后,某些任务仍被标记为FROM-CACHE

我首先删除Gradle的构建缓存

$ rm -rf $GRADLE_HOME/caches/build-cache-*

我手动确认此目录已消失。我还进行清理以确保增量构建中的任何内容都不会干扰

$ ./gradlew clean

然后我运行一个启用了构建缓存的构建:

$ ./gradlew --build-cache --scan app:assembleDebug
...
238 actionable tasks: 172 executed,49 from cache,17 up-to-date

检查生成的报告,我发现某些任务仍被标记为FROM-CACHE。这是怎么回事?

删除Gradle的构建缓存并进行构建后,某些任务仍被标记为FROM-CACHE

FWIW我正在使用Gradle 5.6.3。我也不使用远程构建缓存。


更新:清除构建缓存后,这是缓存目录中剩下的内容:

$ pwd
/Users/jasonatwood/.gradle/caches

$ ls -al
total 24
drwx------  11 jasonatwood  staff   352 Dec 13 18:11 .
drwxr-xr-x   9 jasonatwood  staff   288 Oct 15 17:24 ..
drwxr-xr-x  14 jasonatwood  staff   448 Oct 29 16:07 5.4.1
drwxr-xr-x  15 jasonatwood  staff   480 Nov 26 18:25 5.6.3
drwxr-xr-x  35 jasonatwood  staff  1120 Dec 11 14:14 jars-3
drwxr-xr-x   5 jasonatwood  staff   160 Oct 15 17:44 journal-1
drwxr-xr-x   7 jasonatwood  staff   224 Oct 15 17:50 modules-2
drwxr-xr-x   5 jasonatwood  staff   160 Oct 15 17:50 transforms-2
-rw-r--r--   1 jasonatwood  staff    39 Oct 15 17:27 transforms-2.lock
-rw-------   1 jasonatwood  staff    28 Oct 22 16:34 user-id.txt
-rw-r--r--   1 jasonatwood  staff    17 Dec 13 18:00 user-id.txt.lock

如果我理解正确,则不需要删除其中任何一个。

A327619111 回答:删除Gradle的构建缓存并进行构建后,某些任务仍被标记为FROM-CACHE

根项目中.gradle目录中的本地任务缓存可能会干扰。

要完全禁用本地/全局缓存,请使用gradle.properties

org.gradle.caching=false 
,

如果您删除本地构建缓存并且不使用删除缓存,那么Gradle实际上应该无法获取在下一个构建中缓存的任何内容。但是,我认为您实际上并未删除任何内容。

GRADLE_HOME环境变量(如果有的话)应指向未打包的本地Gradle发行版。可能类似于/Users/jasonatwood/gradle-6.0-all。将其设置为非Gradle发行版的路径是错误的。

Gradle构建缓存位于/Users/jasonatwood/.gradle/caches/build-cache-1中。

当您尝试使用$ rm -rf $GRADLE_HOME/caches/build-cache-*删除它时,您正在使用GRADLE_HOME,就好像它指向您的主文件夹(/Users/jasonatwood)的根目录一样,这很可能是“ t。

因此,请使用此命令将其删除:$ rm -rf ~/.gradle/caches/build-cache-*

或者至少验证缓存文件夹确实已被删除。

,

如果我运行--scan并查看生成的HTML报告中的FROM-CACHE任务。 然后,我查看那些FROM-CACHE任务的构建缓存键。然后,我去本地计算机上查找那些密钥。我看到它们与构建的其余部分同时生成。因此,我猜测Gradle在构建内部使用构建缓存 ,而不仅仅是跨构建。

,

有时每次重新启动 IDEA 时都需要使缓存无效。这可能是由于共享索引重用。我做了什么设置 --> 工具 --> 共享索引 -> 自动下载,它解决了所有的痛苦。

之前的设置是不要下载使用本地。

本文链接:https://www.f2er.com/3149992.html

大家都在问