gradle目录结构,项目目录结构

Gradle 目录结构

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 
  1. cachaes 全局缓存目录
  2. caches 目录下带版本号的目录都是特定版本缓存内容。
  3. module,jars 缓存一些共享模块和jar.
  4. init.d全局初始化脚本
  5. jdbs 使用jdk目录
  6. wapper.dists 目录保存我们下载的gradle发行版本。
  7. 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/是否仍在使用中,即是否存在相应的特定于版本的缓存目录。未使用的发行版将被删除。

Project 目录结构

项目根目录包含作为项目一部分的所有源文件。此外,它还包含由 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 
└── ⋮
  1. .gradle目录, Gradle 生成的项目特定缓存目录
  2. 4.8,4.9目录, 特定于版本的缓存(例如,支持增量构建)
  3. gradle目录,Gradle 在其中生成所有构建工件的项目的构建目录。
  4. gradle.wrapper目录,包含Gradle Wrapper的 JAR 文件和配置
  5. 项目特定的Gradle 配置文件
  6. gradlew,gradlew.bat文件,使用Gradle Wrapper执行构建的脚本
  7. build.gradle or build.gradle.kts,主工程脚本文件
  8. settings.gradle or settings.gradle.kt,定义子项目列表的项目脚本文件
  9. subproject* 子项目目录
  10. 每个子项目都有自己的 Gradle 构建脚本

版权声明:本文为yu15050186065原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。