00:00
欢迎大家继续观看上硅谷格雷豆技术视频,这节课我们提一下任务定义的方式。在grid中,定义任务有两种方式,一种是通过project对象的task方法。另一种是通过tasks对象的create或者方法。下边给出了几种任务定义的方式,咱们来看一下,我们把它复制过来。把原有的这些给它覆盖掉。然后我们首先看任务ABC。ABC实际上是通过project对象的test方法。来声明的一个任务。比如说咱们调task方法的时候,它这里有五个承载的方法。比如说我们可以直接指定搜串类型的任务名,也可以使用第二种指定任务名的同时给他指定一个B包,在B包里边封装任务的行为。我们也可以使用第三种,先给他一个map,在map里边封装任务,任务的行为,然后后边指定任务名。
01:00
我们也可以通过第四种。啊,或者说第五种先传一个map,然后再传一个类名,再传一个B报。Map和臂帮里边实际上都可以封装任务的行为。OK啊,那咱们在这里声明的任务ABC实际上都是通过。Task方法的。第二种来声明的,来我们看一下认为。首先他的方法需要指定一个任务名,咱们任务名是A,然后后边指定了一个B包作为参数,没有问题。然后任务B,实际上就是将B包作为方法最后一个参数,给它放到小括号外边。包括任务C,就是当在不引起歧义的情况下,方法的小括号实际上是可以省略的。OK啊,总之任务ABC实际上都是啊。这种方式。那除了使用这种两个参数的啊,或者说除了使用这种指定类务名,指定B包的方式创建类务,咱们还可以啊,指定一个map,然后指定任务名来创建必报来就是下边这个案例。
02:12
咱们在创建任务地的时候。是不是还是调用这个task方法,然后第一个参数是一个map,它需要一个map,咱们就用了一个map,在这个map里边封装了任务的行为。然后在这里啊,指定任务的名字。OK啊。这是创建任务的第一种方式,通过project对象的task方法。还有。就是通过tasks对象的createre或者方法来咱们看一下。比如说我们创建任务一的时候,我们就是通过这个对象的create方法。啊,创建这个任务F的时候,我们是通过这个对象的方面。需要特别说明的是,这个方法。它会进行延迟创建。就是只有当这个任务被需要使用的时候才会被创建。
03:03
哎,那如何说明这一点呢?我们可以啊,在当前项目根目录底下执行一个多。Build给大家看一下。比如说然然后咱们在项目构建过程中啊,它会执行编译测试。啊,等等,你会发现在这里边它输出了task ABC。这几个任务都执行了。啊,AB。AB呀,CE都执行了,但是这个task f却没有执行。就是因为它是延迟创建的,只有当咱们在执行它,或者说它被需要的时候,它才会创建,比如说我专门执行这个。F。OK啊,这一次他才真正的被执行。这是创建任务的两种方式,当然咱们也可以在创建任务的同时指定任务的属性。
04:03
那level有哪些属性呢?诶,有啊,Type over right depends on action description group这么六个属性。Type指定任务的类型,如果我们自己不指定是什么类型,它默认就是default task。All right。就是是指定这个任务是否能够替换已存在的同名的任务。通常这个值默认是false,还有底平仓就是指定当前任务所依赖的其他的任务。Action。就是啊,指令当前任务的行为。指定。当前任务的描述信息,Group指定当前任务的分组信息。那我们在创建任务的时候,可以指定这六个属性,这六个属性是在什么位置来指定呢?诶,咱们可以从三个位置,第一个是生命任务时,咱们在这个参数部分指定这几个属性,比如说group description。
05:04
当然咱们也可以在任务内部完成啊,还可以在任务的外部进行定义。来,咱们也给大家看一下。直接复制过来。比如,我在声明这个任务的时候,指定任务名是F,然后指定了它的group属性和description属性。Group指定分组,分在上艾特硅谷这个组里边。然后我又创建了一个任务H,也把它分在艾特硅谷这个组里边,也指定了它的描述信息,然后我又创建了一个任务Y,然后指定它的分组,也是艾特硅谷。OK啊,总之咱们在这里创建了三个类。它们的区别就是啊。啊,有的是在参数部分指定的属性,有的是在任务内部指定的属性,有的是在任务外部指定的属性。
06:01
OK啊,那接着咱们指定这些之后,此时咱们可以在这里做一个刷新。你会发现这三个任务都会分配到了艾特硅谷这个组里边了。来,咱们稍等一下。等着它构建完成。你会发现这里多了一个艾特硅谷这个组,在这个组里边现在就有啊。FHY这三个任务。OK啊,没有问题。这是定义任务的几种方式以及。如何指定任务的属性?
我来说两句