Gradle入門系列(1):簡(jiǎn)介 - 文章 - 伯樂(lè)在線

本文由伯樂(lè)在線 - JustinWu翻譯。未經(jīng)許可,禁止轉(zhuǎn)載!
英文出處:Petri Kainulainen。歡迎加入翻譯組。

Gradle是一種構(gòu)建工具,它拋棄了基于XML的構(gòu)建腳本,取而代之的是采用一種基于Groovy的內(nèi)部領(lǐng)域特定語(yǔ)言。近期,Gradle獲得了極大的關(guān)注,這也是我決定去研究Gradle的原因。

這篇文章是Gradle教程的第一篇,我們有兩個(gè)目標(biāo):

  1. 幫助我們學(xué)會(huì)安裝Gradle。
  2. 介紹一些基本概念,這有助于我們進(jìn)一步理解本教程的后面章節(jié)。

我們開(kāi)始吧,先看一下如何安裝Gradle。

安裝Gradle

如果我們使用的操作系統(tǒng)是Windows或Linux,我們可以根據(jù)以下步驟安裝Gradle:

  1. 這個(gè)頁(yè)面下載二進(jìn)制文件。
  2. 解壓Zip文件,加入環(huán)境變量(在PATH中加入GRADLE_HOME/bin目錄)。

如果在安裝過(guò)程中遇到問(wèn)題,可以進(jìn)一步查看官方的安裝指南。
如果我們使用的操作系統(tǒng)是OS X,我們可以使用Homebrew安裝Gradle,在命令提示符中輸入以下命令:

`brew` `install``gradle`

我們可以驗(yàn)證一下Gradle是否工作正常,在命令提示符中執(zhí)行命令gradle -v即可,如果Gradle工作正常,我們應(yīng)該能看到以下輸出結(jié)果(當(dāng)然,Windows和Linux用戶看到的結(jié)果會(huì)有細(xì)微差異)。

> gradle -v
------------------------------------------------------------
Gradle 1.12
------------------------------------------------------------
Build time: 2014-04-29 09:24:31 UTC
Build number: none
Revision: a831fa866d46cbee94e61a09af15f9dd95987421
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy: 2.2.0
JVM: 1.8.0 (Oracle Corporation 25.0-b70)
OS: Mac OS X 10.9.3 x86_64

下面我們來(lái)快速瀏覽一下Gradle構(gòu)建的基本概念。

Gradle構(gòu)建簡(jiǎn)介

在Gradle中,有兩個(gè)基本概念:項(xiàng)目任務(wù)。請(qǐng)看以下詳解:

  • 項(xiàng)目是指我們的構(gòu)建產(chǎn)物(比如Jar包)或?qū)嵤┊a(chǎn)物(將應(yīng)用程序部署到生產(chǎn)環(huán)境)。一個(gè)項(xiàng)目包含一個(gè)或多個(gè)任務(wù)。

  • 任務(wù)是指不可分的最小工作單元,執(zhí)行構(gòu)建工作(比如編譯項(xiàng)目或執(zhí)行測(cè)試)。

那么,這些概念和Gradle的構(gòu)建又有什么聯(lián)系呢?好,每一次Gradle的構(gòu)建都包含一個(gè)或多個(gè)項(xiàng)目。

下面這張圖展示了上面所談到的這些概念的關(guān)系。


63918611gw1ehqthjdvaoj20eb09v3yv.jpg.jpeg

我們能夠使用以下配置文件對(duì)Gradle的構(gòu)建進(jìn)行配置:

  • Gradle構(gòu)建腳本(build.gradle)指定了一個(gè)項(xiàng)目和它的任務(wù)。
  • Gradle屬性文件(gradle.properties)用來(lái)配置構(gòu)建屬性。
  • Gradle設(shè)置文件(gradle.settings)對(duì)于只有一個(gè)項(xiàng)目的構(gòu)建而言是可選的,如果我們的構(gòu)建中包含多于一個(gè)項(xiàng)目,那么它就是必須的,因?yàn)樗枋隽四囊粋€(gè)項(xiàng)目參與構(gòu)建。每一個(gè)多項(xiàng)目的構(gòu)建都必須在項(xiàng)目結(jié)構(gòu)的根目錄中加入一個(gè)設(shè)置文件。

你可以在這篇文章中獲得更多關(guān)于Gradle構(gòu)建腳本的信息。

我們繼續(xù),下面我們看一下如果使用Gradle插件為構(gòu)建工作加入新功能。

更簡(jiǎn)短的Gradle插件簡(jiǎn)介

Gradle的設(shè)計(jì)理念是,所有有用的特性都由Gradle插件提供,一個(gè)Gradle插件能夠:

  • 在項(xiàng)目中添加新任務(wù)
  • 為新加入的任務(wù)提供默認(rèn)配置,這個(gè)默認(rèn)配置會(huì)在項(xiàng)目中注入新的約定(如源文件位置)。
  • 加入新的屬性,可以覆蓋插件的默認(rèn)配置屬性。
  • 為項(xiàng)目加入新的依賴。

Gradle用戶手冊(cè)提供了一系列標(biāo)準(zhǔn)Gradle插件。

在我們?yōu)轫?xiàng)目加入Gradle插件時(shí),我們可以根據(jù)名稱或類型來(lái)指定Gradle插件。

我們可以將下面這行代碼加入到build.gradle文件中,它通過(guò)名稱指定Gradle插件(這里的名稱是foo):

apply plugin: 'foo'

另一方面,我們也可以通過(guò)類型指定Gradle插件,將下面這行代碼加入到build.gradle文件中(這里的類型是com.bar.foo):

apply plugin: 'com.bar.foo'

你可以閱讀這篇文章,掌握應(yīng)用插件的更多信息。

今天就到這里,我們來(lái)總結(jié)一下我們所學(xué)的內(nèi)容。

總結(jié)

這篇教程講授了三部分內(nèi)容:

  • 我們學(xué)會(huì)了如何安裝Gradle
  • 我們理解了Gradle構(gòu)建的一些基本知識(shí)
  • 我們了解了如何使用Gradle插件為我們的構(gòu)建工作增加功能。

轉(zhuǎn)載自:http://blog.jobbole.com/71999/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,029評(píng)論 25 709
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,272評(píng)論 6 342
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 1.介紹 如果你正在查閱build.gradle文件的所有可選項(xiàng),請(qǐng)點(diǎn)擊這里進(jìn)行查閱:DSL參考 1.1新構(gòu)建系統(tǒng)...
    Chuckiefan閱讀 12,363評(píng)論 8 72
  • 粒兒從小就淘氣,那日得一神器,是扇拆掉的舊窗,長(zhǎng)方形,三個(gè)橫格,梯子!有了這件神器再高的墻都不怕了,終于爬上對(duì)面的...
    活著的責(zé)任閱讀 276評(píng)論 0 0

友情鏈接更多精彩內(nèi)容