Gradle这篇文章就够用了09使用gradleinit进行初始化

编程

事前准备

只需要创建一个新的目录,这里的名称为init

liumiaocn:init liumiao$ ls

liumiaocn:init liumiao$

gradle init

使用gradle init即可创建一个gradle项目的骨架

liumiaocn:init liumiao$ gradle init

BUILD SUCCESSFUL in 0s

2 actionable tasks: 2 executed

liumiaocn:init liumiao$

内容确认

文件说明

可以看到一共创建了2个目录和6个文件,其中2个目录和4个文件都跟wrapper有关:

liumiaocn:init liumiao$ ls

build.gradle gradle gradlew gradlew.bat settings.gradle

liumiaocn:init liumiao$ tree

.

├── build.gradle

├── gradle

│ └── wrapper

│ ├── gradle-wrapper.jar

│ └── gradle-wrapper.properties

├── gradlew

├── gradlew.bat

└── settings.gradle

2 directories, 6 files

liumiaocn:init liumiao$

  • gradlew:linux或者Unix下用于执行wrapper命令的Shell脚本
  • gradlew.bat:Windows下用于执行wrapper命令的批处理脚本
  • gradle-wrapper.jar:用于下载Gradle的相关代码实现
  • gradle-wrapper.properties:wrapper所使用的配置信息,比如gradle的版本等信息

另外就是settings.gradle和build.gradle:

  • build.gradle: 用于存放构建相关的Task
  • settings.gradle: 用于存放设定相关的信息

内容确认

  • settings.gradle

    通过内容确认可以看到,settings.gradle中只设定了rootProject.name

/*

* This file was generated by the Gradle "init" task.

*

* The settings file is used to specify which projects to include in your build.

*

* Detailed information about configuring a multi-project build in Gradle can be found

* in the user manual at https://docs.gradle.org/6.2.1/userguide/multi_project_builds.html

*/

rootProject.name = "init"

  • build.gradle

    而build.gradle则没有任何设定,只有注释,这也正是初始化的意义所在。

/*

* This file was generated by the Gradle "init" task.

*

* This is a general purpose Gradle build.

* Learn how to create Gradle builds at https://guides.gradle.org/creating-new-gradle-builds

*/

init & wrapper

init的任务是依赖于wrapper的,执行init的时候同时会执行wrapper,因为wrapper是gradle官方推荐的方式,自然在初始化的时候也会将wrapper集成进去。

使用wrapper

因为前面的文章已经为wrapper安装了gradle6.2.1,这里可以将其设定文件进行修改,这里也可以直接使用了

liumiaocn:init liumiao$ grep distributionUrl gradle/wrapper/gradle-wrapper.properties 

distributionUrl=https://services.gradle.org/distributions/gradle-6.2.1-bin.zip

liumiaocn:init liumiao$ vi gradle/wrapper/gradle-wrapper.properties

liumiaocn:init liumiao$ grep distributionUrl gradle/wrapper/gradle-wrapper.properties

distributionUrl=https://services.gradle.org/distributions/gradle-6.2.1-bin.zip

liumiaocn:init liumiao$ ./gradlew -v

------------------------------------------------------------

Gradle 6.2.1

------------------------------------------------------------

Build time: 2020-02-24 20:24:10 UTC

Revision: aacbcb7e587faa6a8e7851751a76183b6187b164

Kotlin: 1.3.61

Groovy: 2.5.8

Ant: Apache Ant(TM) version 1.10.7 compiled on September 1 2019

JVM: 1.8.0_152 (Oracle Corporation 25.152-b16)

OS: Mac OS X 10.15.4 x86_64

liumiaocn:init liumiao$

从这里就可以看到wrapper的使用场景,如果不同的项目和不同的gradle的版本进行组合,使用wrapper还是非常方便的。

总结

使用gradle init可以创建一个非常简单的gradle结构,虽然非常简单的一个功能,一点一滴地按照COC的思路则会更容易推进标准化的落地,也是值得思考的一个问题。

以上是 Gradle这篇文章就够用了09使用gradleinit进行初始化 的全部内容, 来源链接: utcz.com/z/515151.html

回到顶部