从Ant Build演进Gradle Build:导入Ant Build文件
在大型項目上更改構建系統可能很困難并且需要大量工作。 幸運的是,對于那些將Ant版本遷移到Gradle版本的人,Gradle提供了特別方便的機制來促進這種遷移 。 由于Gradle基于Groovy構建,并且Groovy通過AntBuilder包含內置的Ant支持,因此Gradle構建可以使用AntBuilder調用Ant任務并運行Ant目標 。 但是,Gradle提供了一種更輕松的機制來從Gradle構建中引用現有的Ant目標,同時Gradle支持通過DefaultAntBuilder 導入Ant構建 ,而這正是本文的主題。
能夠從新的Gradle構建中調用現有的Ant目標是有利的,因為它允許隨著時間的推移進行遷移。 幾乎所有的實際工作都委托給現有的Ant構建,您幾乎可以立即開始使用Gradle。 然后,在時間和優先級允許的情況下,可以將不同的Ant任務替換為Gradle任務。
為了演示在Gradle構建中導入Ant構建有多么容易,我首先提供簡化的Ant構建的代碼清單。
螞蟻構建文件:
<?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構建文件具有一些相當典型的目標,它們的名稱如“ compile”,“ jar”,“ javadoc”和“ clean”。 所有這些功能都可以導入Gradle構建文件中。 下一個代碼清單是完成此操作的完整Gradle構建文件。
導入Ant
ant.importBuild 'build.xml'上面顯示的單行Gradle構建文件將導入前面顯示的Ant構建文件。 在以下屏幕快照中可以很容易地看出其效果。 初始屏幕快照顯示,單行的Gradle構建文件使“ arrays”項目可用于Gradle構建以及“所有”和“清理”的“其他任務”以及與那些Ant目標相關的描述。
可以使用gradle tasks --all全部查看所有Ant目標,包括諸如“編譯”,“ jar”和“ javadoc”之類的依賴目標。 下一個屏幕快照對此進行了演示。
下一個屏幕快照演示了如何從Gradle構建中運行默認的“全部”目標。
正如構建清單和圖像所示,將現有的Ant構建導入Gradle構建是一個簡單的過程。
翻譯自: https://www.javacodegeeks.com/2014/01/evolving-gradle-build-from-ant-build-importing-ant-build-file.html
總結
以上是生活随笔為你收集整理的从Ant Build演进Gradle Build:导入Ant Build文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米推出新款 67W 小布丁氮化镓充电器
- 下一篇: Jar Hell变得轻松–用jHades