从Ant Build演进Gradle Build:导入Ant Build文件
在大型項(xiàng)目上更改構(gòu)建系統(tǒng)可能很困難并且需要大量工作。 幸運(yùn)的是,對于那些將Ant版本遷移到Gradle版本的人,Gradle提供了特別方便的機(jī)制來促進(jìn)這種遷移 。 由于Gradle基于Groovy構(gòu)建,并且Groovy通過AntBuilder包含內(nèi)置的Ant支持,因此Gradle構(gòu)建可以使用AntBuilder調(diào)用Ant任務(wù)并運(yùn)行Ant目標(biāo) 。 但是,Gradle提供了一種更輕松的機(jī)制來從Gradle構(gòu)建中引用現(xiàn)有的Ant目標(biāo),同時(shí)Gradle支持通過DefaultAntBuilder 導(dǎo)入Ant構(gòu)建 ,而這正是本文的主題。
能夠從新的Gradle構(gòu)建中調(diào)用現(xiàn)有的Ant目標(biāo)是有利的,因?yàn)樗试S隨著時(shí)間的推移進(jìn)行遷移。 幾乎所有的實(shí)際工作都委托給現(xiàn)有的Ant構(gòu)建,您幾乎可以立即開始使用Gradle。 然后,在時(shí)間和優(yōu)先級允許的情況下,可以將不同的Ant任務(wù)替換為Gradle任務(wù)。
為了演示在Gradle構(gòu)建中導(dǎo)入Ant構(gòu)建有多么容易,我首先提供簡化的Ant構(gòu)建的代碼清單。
螞蟻構(gòu)建文件:
<?xml version="1.0" encoding="UTF-8"?> <project name="JavaArrays" default="all" basedir="."><description>Java Array Utility Functions</description><property name="javac.debug" value="true" /><property name="src.dir" value="src" /><property name="dist.dir" value="dist" /><property name="classes.dir" value="classes" /><property name="javadoc.dir" value="${dist.dir}/javadoc" /><property name="jar.name" value="javaArrays.jar" /><property name="jar.filesonly" value="true" /><path id="classpath"></path><target name="-init"><mkdir dir="${classes.dir}" /><mkdir dir="${dist.dir}" /></target><target name="compile"description="Compile the Java code."depends="-init"><javac srcdir="${src.dir}"destdir="${classes.dir}"classpathref="classpath"debug="${javac.debug}"includeantruntime="false" /></target><target name="jar"description="Package compiled classes into JAR file"depends="compile"><jar destfile="${dist.dir}/${jar.name}"basedir="${classes.dir}"filesonly="${jar.filesonly}"></jar></target><target name="all"description="Compile Java source, assemble JAR, and generate documentation"depends="jar, javadoc" /><target name="javadoc" description="Generate Javadoc-based documentation"><mkdir dir="${javadoc.dir}" /><javadoc doctitle="Examples of Java Array Utility Functions"destdir="${javadoc.dir}"sourcepath="${src.dir}"classpathref="classpath"private="true"author="Dustin" /></target><target name="clean" description="Remove generated artifacts."><delete dir="${classes.dir}" /><delete dir="${dist.dir}" /></target></project>上面的Ant構(gòu)建文件具有一些相當(dāng)?shù)湫偷哪繕?biāo),它們的名稱如“ compile”,“ jar”,“ javadoc”和“ clean”。 所有這些功能都可以導(dǎo)入Gradle構(gòu)建文件中。 下一個(gè)代碼清單是完成此操作的完整Gradle構(gòu)建文件。
導(dǎo)入Ant
ant.importBuild 'build.xml'上面顯示的單行Gradle構(gòu)建文件將導(dǎo)入前面顯示的Ant構(gòu)建文件。 在以下屏幕快照中可以很容易地看出其效果。 初始屏幕快照顯示,單行的Gradle構(gòu)建文件使“ arrays”項(xiàng)目可用于Gradle構(gòu)建以及“所有”和“清理”的“其他任務(wù)”以及與那些Ant目標(biāo)相關(guān)的描述。
可以使用gradle tasks --all全部查看所有Ant目標(biāo),包括諸如“編譯”,“ jar”和“ javadoc”之類的依賴目標(biāo)。 下一個(gè)屏幕快照對此進(jìn)行了演示。
下一個(gè)屏幕快照演示了如何從Gradle構(gòu)建中運(yùn)行默認(rèn)的“全部”目標(biāo)。
正如構(gòu)建清單和圖像所示,將現(xiàn)有的Ant構(gòu)建導(dǎo)入Gradle構(gòu)建是一個(gè)簡單的過程。
翻譯自: https://www.javacodegeeks.com/2014/01/evolving-gradle-build-from-ant-build-importing-ant-build-file.html
總結(jié)
以上是生活随笔為你收集整理的从Ant Build演进Gradle Build:导入Ant Build文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米推出新款 67W 小布丁氮化镓充电器
- 下一篇: Jar Hell变得轻松–用jHades