W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
你可以在你的gradle項目中通過ant.importBuild()來導入一個ant構(gòu)建,當你導入了一個ant構(gòu)建,每一個ant target都會被視為一個Gradle任務.這意味著你可以像操作,執(zhí)行g(shù)radle任務一樣操作,執(zhí)行ant target
例 16.8.導入ant構(gòu)建
build.gradle
ant.importBuild 'build.xml'
build.xml
<project>
<target name="hello">
<echo>Hello, from Ant</echo>
</target>
</project>
gradle hello的輸出
>\> gradle hello
>:hello
>[ant:echo] Hello, from Ant
>
>BUILD SUCCESSFUL
>
>Total time: 1 secs
你可以添加一個依賴于ant target的任務: 例 16.9.依賴于ant target的任務
build.gradle
ant.importBuild 'build.xml'
task intro(dependsOn: hello) << {
println 'Hello, from Gradle'
}
gradle intro的輸出 > gradle intro :hello [ant:echo] Hello, from Ant :intro Hello, from GradleBUILD SUCCESSFULTotal time: 1 secs
或者,你可以為ant target添加動作
例 16.10.為Ant target添加動作
build.gradle
ant.importBuild 'build.xml'
hello << {
println 'Hello, from Gradle'
}
gradle hello的輸出
> gradle hello :hello [ant:echo] Hello, from Ant Hello, from GradleBUILD SUCCESSFULTotal time: 1 secs
當然,一個ant target也可以依賴于gradle的任務
例 16.11.為Ant target添加動作
build.gradle
ant.importBuild 'build.xml'
task intro << {
println 'Hello, from Gradle'
}
build.xml
<project>
<target name="hello" depends="intro">
<echo>Hello, from Ant</echo>
</target>
</project>
gradle hello的輸出
> gradle hello :intro Hello, from Gradle :hello [ant:echo] Hello, from AntBUILD SUCCESSFULTotal time: 1 secs
有時候可能需要'重命名'ant target以避免與現(xiàn)有的gradle任務沖突.需要使用AntBuilder.importBuilder())方法.
例 16.12.重命名導入的ant target
build.gradle
ant.importBuild('build.xml') { antTargetName ->
'a-' + antTargetName
}
build.xml
<project>
<target name="hello">
<echo>Hello, from Ant</echo>
</target>
</project>
gradle a-hello的輸出
> gradle a-hello :a-hello [ant:echo] Hello, from AntBUILD SUCCESSFULTotal time: 1 secs
注意,方法的二個參數(shù)應該是一個TransFormer,在Groovy編程的時候,由于Groovy的支持自動閉包單抽象方法的類型。我們可以簡單地使用閉包取代匿名內(nèi)部類,
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: