Gradle构建脚本基础

介绍一下gradle的构建脚本基础知识,在这之前简单说一下gradle的介绍与安装

gradle介绍:

gradle是一个基于JVM的构建工具,类似于Ant和maven,但是比ant和maven更为强大,它基于groovy的构建脚本。gradle里的任何东西都是基于projects和tasks,每一个构建是由一个或多个project构成,一个project又由一个或多个task。

gradle安装(Mac):

  1. gradle需要运行在一个java环境里,所以安装gradle之前,需要安装java JDK。
  2. 安装gradle的方式有很多种,我是通过brew来安装的:
    1. 若没有安装homebrew,请去homebrew官网查看一下安装,也可以看一下这个博客:https://my.oschina.net/gef/blog/658168
    2. 安装brew之后,使用命令:
      brew install gradle

      安装gradle

    3. 完成之后,执行命令:

      gradle -v

      若出现:

      
      ------------------------------------------------------------
      Gradle 2.12
      ------------------------------------------------------------
      
      Build time:   2016-03-14 08:32:03 UTC
      Build number: none
      Revision:     b29fbb64ad6b068cb3f05f7e40dc670472129bc0
      
      Groovy:       2.4.4
      Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
      JVM:          1.8.0_40 (Oracle Corporation 25.40-b25)
      OS:           Mac OS X 10.11.4 x86_64

      说明安装成功。

gradle构建脚本基础:

  1. hello  world:创建一个build.gradle文件,然后写一个hello world:
    task hello{
    	doLast{
    		println 'Hello world!'
    	}
    }
    

    然后打开终端,cd到该目录下,执行:

    gradle hello

    输出:

    :hello
    Hello world!
    
    BUILD SUCCESSFUL
    
    Total time: 4.593 secs
    
    This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.12/userguide/gradle_daemon.html
    

    你也可以执行:115122_zEbJ_2270118.png,发现没有那些日志信息了。

  2. 快捷的任务定义:

    task hello3 << {
    	println 'hello world 3!'
    }

    其中 << 就相当于 doLast

  3. 任务依赖:

    task task2(dependsOn : "task1") << {
    	println "task2"
    }
    task task1 <<{
    	println "task1"
    }

    task task1 <<{
    	println "task1"
    }
    
    task task2(dependsOn : task1) << {
    	println "task2"
    }

    task task1 << {
    	println "task1"
    }
    
    task task2 << {
    	println "task2"
    }
    task2.dependsOn task1

     

  4. 动态任务:

    4.times { i ->
    	task "taskk$i" << {
    		println "I am task number $i"
    	}
    }

    生成了4个任务:taskk0,taskk1,taskk2,taskk3,执行115945_eqwK_2270118.png

  5. 使用已经存在的任务:

    task sumu <<{
    	println "sumu1"
    }
    sumu.doLast{
    	println "sumu2"
    }
    sumu.doFirst{
    	println "sumu3"
    }
    sumu << {
    	println "sumu4"
    }

    然后执行:120157_O1nL_2270118.png,注意一个任务的doFirst和doLast可以有多个。

  6. 短标记法:

    task ffge <<{
    	println "你好,$ffge.name"
    }
    

    执行:120509_LQX0_2270118.png

  7. 自定义任务属性:

    task person {
    	ext.name = "张三"
    	ext.age = 10
    	doFirst{
    		println "名字为:$name,年龄为:$age"
    	}
    }
    

    执行:120834_PJJy_2270118.png

  8. 默认任务:

    defaultTasks "hello"
    task hello{
    	doLast{
    		println 'Hello world!'
    	}
    }
    

    执行:121148_PEUM_2270118.png

 

OK,到此结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值