Gradle 用户主目录($USER_HOME/.gradle默认)用于存储全局配置属性和初始化脚本以及缓存和日志文件。大致结构如下:
├── caches
│ ├── 4.8
│ ├── 4.9
│ ├── ⋮
│ ├── jars
│ └── modules
├── daemon
│ ├── ⋮
│ ├── 4.8
│ └── 4.9
├── init.d
│ └── my-setup.gradle
├── jdks
│ ├── ⋮
│ └── jdk-14.0.2+12
├── wrapper
│ └── dists
│ ├── ⋮
│ ├── gradle-4.8-bin
│ ├── gradle-4.9-all
│ └── gradle-4.9-bin
└── gradle.properties
清理缓存和发布版本
从 4.10 版本开始,Gradle 会自动清理其用户主目录。当 Gradle 守护程序停止或关闭时,清理会在后台运行。如果使用–no-daemon,它会在构建会话之后使用可视进度指示器在前台运行。
定期(最多每 24 小时)应用以下清理策略:
检查特定版本的缓存caches//是否仍在使用中。如果没有,则在 30 天不活动后删除发布版本的目录,在 7 天不活动后删除快照版本。
caches/检查(例如)中的共享缓存jars-*是否仍在使用中。如果没有仍在使用它们的 Gradle 版本,它们将被删除。
当前 Gradle 版本在caches/(例如jars-3或modules-2)中使用的共享缓存中的文件会检查它们最后一次访问的时间。取决于文件是否可以在本地重新创建或必须再次从远程存储库下载,它将在之后被删除分别为 7 天或 30 天不被访问。
检查其中的Gradle 发行版wrapper/dists/是否仍在使用中,即是否存在相应的特定于版本的缓存目录。未使用的发行版将被删除。
项目根目录包含作为项目一部分的所有源文件。此外,它还包含由 Gradle 生成的文件和目录,例如.gradle和build,‘.gradle’目录通常被引入到源代码控制中。总的来说,一个典型的项目根目录的结构大致如下:
├── .gradle
│ ├── 4.8
│ ├── 4.9
│ └── ⋮
├── build
├── gradle
│ └── wrapper
├── gradle.properties
├── gradlew
├── gradlew.bat
├── build.gradle or build.gradle.kts
├── settings.gradle or settings.gradle.kts
├── subproject-one
| └── build.gradle or build.gradle.kts
├── subproject-two
| └── build.gradle or build.gradle.kts
└── ⋮