使用 Ant 任務(wù)和 Ant 類型的構(gòu)建

2018-07-01 16:26 更新

在構(gòu)建腳本中, Ant 屬性是由 Gradle提供的. 這是一個(gè)用于參考的 AntBuilder 實(shí)例. AntBuilder 用于從構(gòu)建腳本訪問(wèn) Ant 任務(wù), 類型和屬性. 下面的例子解釋了從 Ant 的 build.xml 格式到 Grooy 的映射.

你可以通過(guò)調(diào)用 AntBuilder 實(shí)例的方法執(zhí)行 Ant 任務(wù). 你可以使用任務(wù)名稱作為方法名, 比如, 可以通過(guò)調(diào)用anto.echo() 任務(wù)執(zhí)行 Ant echo 任務(wù). Ant 任務(wù)屬性通過(guò) Map 參數(shù)傳遞給方法. 下面是一個(gè) echo 任務(wù)的例子, 注意我們也可以混合使用 Groovy 代碼和 Ant 任務(wù)標(biāo)記, 這點(diǎn)個(gè)功能非常強(qiáng)大.

例 16.1.使用 Ant 任務(wù)

build.gradle

task hello << {
    String greeting = 'hello from Ant'
    ant.echo(message: greeting)
}

gradle hello 的輸出

>\> gradle hello
>:hello
>[ant:echo] hello from Ant
>
>BUILD SUCCESSFUL
>
>Total time: 1 secs

你可以添加嵌套元素添加到一個(gè)封閉的 Ant 任務(wù)的內(nèi)部. 定義嵌套元素跟定義任務(wù)的方式相同, 通過(guò)與調(diào)用我們要定義的元素名相同的方法.

例 16.3.添加嵌套元素到一個(gè)Ant任務(wù)

build.gradle

task zip << {
    ant.zip(destfile: 'archive.zip') {
        fileset(dir: 'src') {
            include(name: '**.xml')
            exclude(name: '**.java')
        }
    }
}

你可以像訪問(wèn)任務(wù)一樣訪問(wèn) Ant type,只需要將 type 名作為方法名即可. 該方法調(diào)用返回的 Ant 數(shù)據(jù)類型,可以直接在構(gòu)建腳本中使用.下面的例子中,我們創(chuàng)建了一個(gè)ant path對(duì)象,然后遍歷他的內(nèi)容.

例 16.4.使用 Ant 類型

build.gradle

task list << {
    def path = ant.path {
        fileset(dir: 'libs', includes: '*.jar')
    }
    path.list().each {
        println it
    }
}

更多關(guān)于 AntBuilder 的信息可以參考 'Groovy in Action'8.4 或者Groovy Wiki.


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)