我很惊讶我无法在任何地方找到它,但无论如何,我想知道.gradle
文件夹中每个文件夹的用途,以及删除它们的安全性,特别是在术语上便携性。
caches
文件夹,因为它包含。{
下载的依赖项。 daemon
文件夹似乎只包含
日志?workers
对我来说显然是空的wrapper
似乎无关紧要,因为我不使用gradle包装器。为什么甚至下载所有这些包装器?native
。答案 0 :(得分:0)
目录布局在其用户指南的"The Directories and Files Gradle Uses"一章中进行了说明。
├── caches // <1>
│ ├── 4.8 // <2>
│ ├── 4.9 // <2>
│ ├── ⋮
│ ├── jars-3 // <3>
│ └── modules-2 // <3>
├── daemon // <4>
│ ├── ⋮
│ ├── 4.8
│ └── 4.9
├── init.d // <5>
│ └── my-setup.gradle
├── wrapper
│ └── dists // <6>
│ ├── ⋮
│ ├── gradle-4.8-bin
│ ├── gradle-4.9-all
│ └── gradle-4.9-bin
└── gradle.properties // <7>
从版本4.10开始,Gradle会自动清除其用户主目录。当Gradle守护程序停止或关闭时,清理将在后台运行。如果使用--no-daemon
,它将在构建会话后以可视进度指示器在前台运行。
定期(最多每24小时)应用以下清理策略:
caches/<gradle-version>/
中caches/
(例如jars-*
)中的共享缓存是否仍在使用中。如果没有Gradle版本仍在使用它们,则会将其删除。
caches/
中当前Gradle版本使用的共享缓存中的文件(例如jars-3
或modules-2
)的访问时间。根据是可以在本地重新创建文件,还是必须再次从远程存储库下载文件,文件将分别在7天或30天未访问后被删除。wrapper/dists/
中的版本分发是否仍在使用,即是否存在相应的特定于版本的缓存目录。未使用的发行版将被删除。
native
似乎包含诸如Jansi之类的库的platform-specific dependencies(如.so
,.dll
):它需要它们提供丰富的控制台输出(如输出中的颜色) 。该功能的代码未记录,但是您可以查看here。特别是library.jansi.path
system property points到~/.gradle/native/jansi/1.17.1/linux64
(在我的机器上;您可以通过在自定义的Gradle任务中打印System.getProperties()
来进行检查)。
workers
seems to be used as a working directory(针对Workers API中所述的工人。
wrappers
可以由IDE下载。基本上,如果该目录为非空目录,则意味着您实际上已经至少使用了一次包装器。