如何在windows操作系统上构建Gradle环境。该学习记录基于Gradle官方网站资料。本篇参考链接如下:

什么是Gradle:

https://docs.gradle.org/current/userguide/what_is_gradle.html#what_is_gradle

安装Gradle

https://docs.gradle.org/current/userguide/installation.html

1.什么是Gradle

Gradle是一种开源的自动构建工具。几乎可以用它来构建所有类型的软件项目。官网列举了很多Gradle的好处,但是都不是需要过多关注的问题。只要它能够按照需求构建项目,并且比ant,maven等传统方法更快, 更简单。那么用户就会选择它。实际上它也确实更加快速和简单。

  • Gradle可以构建所有类型的项目,尤其是Java项目更多一些。这也是笔者学习它的目的:构建一个多工程的复杂JavaEE项目。
  • Gradle的核心是任务task。但是任务需要定义在工程(project)中。如图:每个任务可以完成不同功能,比如编译,运行,测试等。任务由动作,输入,输出构成。这一点很像JCL(作业控制语言)。



如何通过grafana删除loki日志_gradle 构建完成自动删除


  • Gradle有三种运行阶段。

1.初始化阶段。设置运行环境,判断需要执行哪些任务。

2.配置阶段。构造并且配置任务。根据用户的指示,判断需要以什么顺序执行哪一个任务。

3.运行阶段。配置阶段完成后,任务会按照指定顺序执行。

  • 可通过多种途径对Gradle进行扩展

1.自定义任务类型。

2.自定义任务动作。通过Task的doFirst和doLast方法添加自定义逻辑。

3.向工程和任务添加自定义属性。

4.自定义规约,比如命名规约,文件目录规约等。

5.自定义模型。※这里没有找到好的例子, 需要后续学习补充。

  • Gradle提供了脚本(build.gradle)和API(java类)两种运行方式。脚本更加简洁,相反API可以执行更加复杂的任务。官方推荐使用脚本方式,并且不要在脚本中使用过多的逻辑处理。好的脚本只是定义了构建项目的步骤,而不应该定义这些步骤怎样工作。根据以往的工作经验有两个较为典型的例子:

1.通过Excel模板,自动生成前台angular代码。这里使用了脚本和API结合的方式。API内部实现了读取Excel,Excel内容检查,分析,生成ts代码等功能。

2.构建普通的java Web工程。仅仅使用了脚本方式。

※以上均为学习官网的个人理解。在后续的学习中如果发现不正确的地方,随时修改。

2.安装Gradle环境

  • 前提条件:.确保JDK已经安装好

C:>java -versionjava version "1.8.0_131"Java(TM) SE Runtime Environment (build 1.8.0_131-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

  • 手动安装

1.通过如下链接取得安装包Binary-only (bin)或者Complete (all) with docs and sources

https://gradle.org/releases/

2.创建合适的安装路径,如C:Gradle。将安装包解压缩到该路径。

3.添加环境变量。右键点击我的电脑→属性→高级系统设置→环境变量→系统变量→添加安装路径C:Gradlebin→保存。※实际上添加在用户变量上也是可用的。

4.确认安装是否成功

C:>gradle -v------------------------------------------------------------Gradle 5.2.1------------------------------------------------------------Build time: 2019-02-08 19:00:10 UTCRevision: f02764e074c32ee8851a4e1877dd1fea8ffb7183Kotlin DSL: 1.1.3Kotlin: 1.3.20Groovy: 2.5.4Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018JVM: 1.8.0_131 (Oracle Corporation 25.131-b11)OS: Windows 10 10.0 amd64

好了,现在可以在适当的目录下建立build.gradle脚本体验一下强大的Gradle了。比如:

task helloWorld {doLast {println "Hello World!"}}

输出:

$ gradle -q helloWorld

Hello World!

另外,在脚本所在文件夹里生成了.gradle文件夹。关于这个文件夹的作用,通过后续学习来了解。