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,到此結束。

相關文章
相關標籤/搜索