Gradle构建脚本基础

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

gradle介绍:java

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

gradle安装(Mac):ide

  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

      gradle -v

      若出现:ui

      ------------------------------------------------------------
      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

      说明安装成功。.net

gradle构建脚本基础:日志

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

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

    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

    你也能够执行:,发现没有那些日志信息了。

  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,执行

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

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

    而后执行:,注意一个任务的doFirst和doLast能够有多个。

  6. 短标记法:

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

    执行:

  7. 自定义任务属性:

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

    执行:

  8. 默认任务:

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

    执行:

 

OK,到此结束。

相关文章
相关标签/搜索