Gradle - 构建基础

subprojects {
    apply plugin:'java'
    repositories{
        jcenter()
    }
}

我们可以在rootProject中对子Project进行统一的配置,但是不要误以为subProjects只能配置,它们只是两个方法,接受一个闭包作为参数,对工程进行遍历。遍历的过程中调用我们自定义的闭包,所以我们可以在闭包里面配置、打印、输出或者修改Project的属性都可以。

1、Task创建

task customTask {
    doFirst {
        println "doFirst"
    }
    doLast {
        println "doLast"
    }
}

这里的task看着像是一个关键字,其实它是Project对象的一个函数。其中task为函数名,customTask为第一个参数,闭包为第二个参数。

    Task task(String name, Closure configureClosure);

另外一种创建任务的方式:

tasks.create(taskName){......}

2、Task依赖

创建任务的时候,可以通过dependsOn指定依赖的其他任务。

Task Api:

@Internal
    Set<Object> getDependsOn();

因此,我们在创建task的时候,在其闭包中对Task进行配置 - 闭包委托;

task customTask {
    dependsOn customTask1, customTask2
    doLast {
        println "multiTask"
    }
}

被依赖的任务会先执行,然后再执行当前任务。

3、Task间通过Api控制、交互

创建一个任务和定义一个变量一样,变量名就是我们定义的任务名,类型是Task。所以可以通过任务名,使用Task的Api访问它的方法、属性或对任务进行重新配置等。

由于脚本是顺序执行的,因此使用任务名操作任务之前,必须先定义声明。

task exeHello {
    println "hello"
}

exeHello.doFirst {
    println "hello - doFirst"
}

exeHello.doLast {
    println "hello - doLast"
}

直接通过任务名操纵任务的原理:

Project在创建该任务的时候,同时把该任务对应的任务名注册为Project的一个属性,类型名为Task。

exeHello.doLast {
    println project.hasProperty('exeHello')
}
--------------
true

我们可以通过project.hasProperty方法检查是否有这个属性。

既然可以通过Api操纵任务,那么当创建多个任务的时候,同样可以通过APi让它们相互访问,比如增加一些依赖等,就像两个变量相互访问一样。

4、自定义属性

Project和Task都允许用户添加额外的自定义属性,要添加额外的属性,通过应用属性对应的ext属性即可实现。添加之后可以通过ext属性对自定义属性读取和设置。

单个:
ext.age = 18
多个:
ext {
    name = "json"
    age = 18
}

相比于局部变量,自定义属性有更为广泛的作用域,你可以跨Project、跨Task访问这些自定义属性,只要你能访问这些属性所属的对象,那么这些属性都可以被访问到。

自定义属性不仅可以应用于Project和Task上,还可以应用在SourceSet中,这样等于每种SourceSet又多了一个可供配置的属性。

5、脚本即代码,代码也是脚本

虽然我们在一个gradle文件中写脚本,但是我们写的是代码,这一点要记清楚。这样你才能时刻使用Groovy、Java以及Gradle的任何语法和Api帮你完成你想做的事情。不要被脚本两个字限制了,是脚本没错,但是不是简单的脚本。在这个脚本文件上你可以定义Class、内部类、导入包、定义方法、常量、接口、枚举等,都是可以的,灵活运用。

------> 脚本文件中搭配Java、Gradle、Groovy,不要把它当成简单的脚本。

### 回答1: gradle是一种面向Java的项目构建工具,它的主要作用是自动化构建、测试、打包和发布Java应用程序。gradle通过脚本语言groovy来配置build过程。 gradle-6.7.1-all.zip是gradle 6.7.1版本的压缩包,可以在gradle官网下载。下载完成后,解压缩即可得到gradle的安装文件。安装完成后,需要配置gradle环境变量,在命令行窗口中输入gradle -v即可查看当前gradle版本。 除了gradle 6.7.1版本,还有很多其他版本的gradle可以选择下载和安装。在使用gradle构建项目时,需要按照项目需要配置gradle的插件和参数,保证项目的构建和发布顺利完成。 总之,gradle是一种非常实用的Java项目构建工具,通过使用gradle可以提高项目构建和发布的自动化程度,进一步减少人为操作的错误和时间成本。 ### 回答2: Gradle是一种构建工具,它可以自动化构建、测试和部署Java应用程序。通过Gradle,开发者可以更直观地定义项目的依赖和任务,从而方便地管理和执行项目构建任务。 gradle-6.7.1-all.zip是Gradle 6.7.1版本的压缩包,包含了完整的Gradle运行时和依赖库。下载该压缩包后,将其解压到本地电脑上,就可以开始使用Gradle了。 下载Gradle的过程非常简单。首先,在Gradle官网上找到相应的版本号,然后点击下载链接即可。不过,如果下载速度较慢,也可以选择从镜像网站上下载。 对于正在学习或使用Gradle的开发者,下载gradle-6.7.1-all.zip是非常有帮助的。它提供了完整的Gradle运行时,使开发者可以在本地开发环境中轻松地使用Gradle构建应用程序。同时,该压缩包还包含了Gradle的文档和示例,帮助开发者更好地了解Gradle的特性和用法。 总之,在下载gradle-6.7.1-all.zip之前,需要确保自己有一定的Gradle基础,并且已经对其用法和配置有一定的了解。而下载完毕后,就可以通过Gradle轻松自动化构建Java应用程序了。 ### 回答3: gradle一个非常流行的构建工具,它是基于JVM的,可以帮助开发人员自动化地构建、测试和部署他们的应用程序。gradle-6.7.1-all.zip是gradle最新的二进制发行版,包括了gradle的所有组件和依赖项,可以很方便地进行安装和使用。下载gradle-6.7.1-all.zip的步骤如下: 首先,在gradle的官网上找到下载链接,或者在任何镜像站点上查找。找到下载链接后,点击下载并等待下载完成。 下载完成后,将gradle-6.7.1-all.zip解压缩到您选择的位置,例如您的主目录或应用程序文件夹。 最后,在您的系统设置中配置gradle路径,使您可以在终端或命令行下使用gradle命令。完成这些步骤后,您就可以开始使用gradle构建您的应用程序了。 总的来说,gradle一个非常强大的工具,可以帮助开发人员简化他们的构建和部署流程。如果您还没有开始使用gradle,那么下载和安装gradle-6.7.1-all.zip就是一个很好的开始。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值