Gradle 第三讲 之 task依赖及属性设置

本讲继续根据gradle user guide进行学习

1.任务依赖

2.动态任务

3.快捷标记

4.附加的task属性


1.任务依赖:


task intro(dependsOn: hello){

        doLast{

            println "I'm Gradle"

        }

}


task hello{

    doLast{

        println 'Hello world!'

    }

}


输入:wudideMacBook-Pro:gradle ***$ gradle -q intro

Hello world!

I'm Gradle


这里有两点需要说明:

    1)所依赖到task不需要在依赖之前声明

    2)所依赖的task不一定会先执行,我将代码稍微更改如下:

task intro(dependsOn: hello){

        println "I'm Gradle"

}


输入:wudideMacBook-Pro:gradle ***$ gradle -q intro

I'm Gradle

Hello world!

看执行顺序改变了吧,这个的执行顺序与doLast有关,下面来介绍他的作用

task hello{

   doFirst{

        println 'Hello world first'

   }

   doLast{

        println 'Hello world!'

    }

}


task intro(dependsOn: hello){

        println "I'm Gradle"         //这个永远是最先执行的

        doLast{

            println 'do last first'

        }

        doFirst{

            println 'do first'

        }


        doLast{

            println 'do last'

        }

}

输入:gradle -q intro

I'm Gradle

Hello world first

Hello world!

do first

do last first

do last

总结:

1.不加doLast和doFirst的最先执行

2.依赖task优先级高于自己的doFirst和doLast

3.同一个task中的doLast按从上向下顺序执行

4.同一个task中的doFirst按从下到上倒序执行

5.同一个task的doFirst优先级高于doLast

这样是不是就都掌握了吗?在看个例子:

task intro(dependsOn: hello){

        println "I'm Gradle"

}


intro.doFirst{

        println 'do last first'

}

intro.doFirst{

        println 'do first'

}

intro.doLast{

        println 'do last'

}

调整了一下结构,但其实结果是相同的,只是把里面的内容拿出来了,这样看着更舒服一些

再来改一下:

task intro(dependsOn: hello) << {

        println "I'm Gradle"

}


intro.doFirst{

        println 'do last first'

}

intro.doFirst{

        println 'do first'

}

intro.doLast{

        println 'do last'

}

再来看看结果吧:

输入:wudideMacBook-Pro:gradle ***$ gradle -q intro

Hello world first

Hello world!

do first

do last first

I'm Gradle

do last

变了,原来 << 的作用是doLast的省略,下面根据上面的介绍在分析一下就知道了吧


2.动态任务

还记得我们之前使用n.times吧,除了作为循环等操作使用以外,还可以做动态任务

4.times{

    count -> task "task$count" <<{

        println "I'm task number $count"

    }

}

输入:wudideMacBook-Pro:gradle ***$ gradle -q task1

I'm task number 1

PS:count这个是你随意制定的变量


3.快捷标记

task notations << {

    println 'Hello world!'

}

notations.doLast {

    println "Greetings from the $hello.name task."         //$hello.name是默认属性,代表task的名字,

}


输入:wudideMacBook-Pro:gradle ***$ gradle -q notations

Hello world!

Greetings from the hello task.

这里介绍了默认的属性,下面再介绍一下如何自定义属性值

4.附加的task属性


task myTask {

    ext.myProperty = "myValue"            //初始化字符串

    ext.myAge = 25                        //初始化整形

    ext.job = "play"+myAge                //初始化运算

}


task printTaskProperties << {

    println myTask.myProperty

    println myTask.myAge

    println myTask.job

}

输入:wudideMacBook-Pro:gradle ***$ gradle -q printTaskProperties

myValue

25

play25

PS:这里的ext是固定的,系统制定的,再自己的task中是可以进行运算的,但不能没有ext


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以在项目的 `build.gradle` 文件中找到 Gradle 版本。具体来说,您可以查看 `build.gradle` 文件中的 `buildscript` 部分,其中 `dependencies` 段落指定了 Gradle 版本。例如: ``` buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' // Gradle 版本号在这里 } } ``` 在这个例子中,Gradle 版本是 4.2.1。 ### 回答2: 要查看Gradle版本,可以采取以下方式: 1. 在终端中运行Gradle命令。在命令行(Windows)或终端(MacOS,Linux)中输入 `gradle --version`,然后按下回车键。这将显示Gradle的版本号以及其他相应的信息,例如Gradle的构建时间和Java版本。 2. 在Gradle项目的根目录下,打开`gradle-wrapper.properties`文件。可以在这个文件中找到用于Gradle版本的属性。例如,`distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip`表示使用的Gradle版本为6.7.1。 3. 在Gradle项目的构建脚本(`build.gradle`)中查找Gradle的版本声明。在这个文件中,可能会有类似于`task printVersion << {println org.gradle.api.GradleVersion.current()}`的任务,用来打印Gradle的版本。 4. 在Gradle官方网站上查找版本信息。可以访问Gradle官方网站(https://gradle.org/releases/)来了解最新的Gradle发布版本,以及以前发布的版本。在网站上,可以找到每个版本的发布日期、发行说明和相关的下载链接。 无论使用哪种方式,了解Gradle版本对于构建和管理Gradle项目非常重要。不同的Gradle版本可能包含不同的功能和修复了的错误,因此及时了解当前使用的Gradle版本以及可用的最新版本是一个好的实践。 ### 回答3: Gradle 版本可以从多个方面来看。首先,我们可以从Gradle的版本号来了解其大致的特性和稳定性。一般来说,版本号的第一个数表示Gradle的大版本号,较大的整数意味着有着更多的新特性和功能改进。第二个数表示Gradle的次要版本号,这些版本中可能会包含一些小的功能改进和修复。第三个数表示Gradle的修订版本号,主要用于修复一些已知的bug和性能问题。 其次,我们可以看Gradle的发布公告或者文档,了解每个版本的详细特性和改进。Gradle的官方网站和GitHub仓库通常都会提供这些信息,让用户了解每个版本的变化和优化。 另外,我们还可以查看Gradle的发布历史和版本的活跃程度。如果一个版本有很多的修复和改进,说明它是一个比较活跃和稳定的版本。与此同时,我们也可以看一下社区中对于各个版本的讨论和反馈,以便了解每个版本在实际使用中的表现和问题。 最后,我们还可以考虑与我们项目中依赖的其他工具和库的兼容性。有些工具和库可能对Gradle的版本有一定的要求或推荐。我们可以通过查看这些工具和库的文档或官方网站,了解到最适合我们项目的Gradle版本。 总之,了解Gradle版本需要综合考虑版本号、特性、发布公告、发布历史、社区反馈以及与其他工具和库的兼容性。这样可以帮助我们选择和使用最合适的Gradle版本来构建和管理我们的项目。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值