从蚂蚁迁移到gradle

时间:2018-02-13 07:10:32

标签: gradle ant

在build.xml

<project name="DikshaPortal" default="dist" basedir=".">
<description>Build file for Portalv2.0 project</description>
<!-- set global properties for this build -->

<property name="src" location="src" />
<property name="conf" location="src/conf" />
<property name="build" location="${BUILD_TARGET}/Portal" />
<property name="GUI" location="../GUI" />
<property name="dist" location="${BUILD_EXPORT}/Portal" />
<property name="BaseDir" location="../DikshaPortal-Release-2013-12-12" />
<property name="UIBaseDir" location="../Portalv2.0_FlexCompileFiles" />
<property name="history" location="${UIBaseDir}/history" />
<property name="META-INF" location="WebContent/META-INF" />
<property name="com" location="${UIBaseDir}/com" />
<property name="pages" location="${UIBaseDir}/pages" />
<property name="WEB-INF" location="WebContent/WEB-INF" />
<property name="data" location="WebContent/data" />
<property name="temp" location="WebContent/temp" />
<property name="policies" location="WebContent/assets/images/Policies" />
<property name="TPL" value="${LIBRARIES}/ThirdParty" />
<property name="apache" value="${TPL}/apache_libs" />

<path id="classpath">
    <fileset dir="${TPL}" includes="*.jar" />
    <fileset dir="${apache}" includes="**/*.jar" />
    <fileset dir="${WEB-INF}" includes="**/*.jar" />
</path>

<target name="clean" description="Removes the temporary directories used">
    <delete dir="${GUI}" />
    <delete dir="${build}" />
</target>

<target name="init" depends="clean">
    <!-- Create the time stamp -->
    <tstamp />
    <!-- Create the build directory structure used by compile -->
    <mkdir dir="${build}" />
    <mkdir dir="${dist}" />
    <mkdir dir="${GUI}" />
    <mkdir dir="${data}" />
    <mkdir dir="${temp}" />
</target>

<target name="compile" depends="init" description="Compile the source code">
    <!-- Compile the java code from ${src} into ${build} -->
    <javac srcdir="${src}" destdir="${build}" debug="on" debuglevel="lines,vars,source" classpathref="classpath" />
</target>


<target name="dist" depends="compile" description="generate the distribution">

    <copy todir="${GUI}">
        <fileset dir="${UIBaseDir}" includes="*.js,*.html,*.swf,*.jsp,favicon.png,favicon.ico" />
    </copy>
    <mkdir dir="${GUI}/assets/images/Policies" />
    <copy todir="${GUI}/assets/images/Policies">
        <fileset dir="${policies}" includes="*.*" />
    </copy>
    <mkdir dir="${GUI}/data" />
    <copy todir="${GUI}/data">
        <fileset dir="${data}" includes="**" />
    </copy>
    <mkdir dir="${GUI}/temp" />
    <copy todir="${GUI}/temp">
        <fileset dir="${temp}" includes="*.*" />
    </copy>
    <mkdir dir="${GUI}/history" />
    <copy todir="${GUI}/history">
        <fileset dir="${history}" includes="*.*" />
    </copy>

    <mkdir dir="${GUI}/com" />
    <copy todir="${GUI}/com">
        <fileset dir="${com}" includes="**" />
    </copy>

    <mkdir dir="${GUI}/pages" />
    <copy todir="${GUI}/pages">
        <fileset dir="${pages}" includes="**" />
    </copy>

    <mkdir dir="${GUI}/WEB-INF/flex" />
    <copy todir="${GUI}/WEB-INF/flex">
        <fileset dir="${WEB-INF}/flex" includes="*.*">
        </fileset>
    </copy>

    <mkdir dir="${GUI}/WEB-INF/pages" />
    <copy todir="${GUI}/WEB-INF/pages">
        <fileset dir="${WEB-INF}/pages" includes="*.*">
        </fileset>
    </copy>

    <mkdir dir="${dist}/conf" />
    <copy todir="${dist}/conf">
        <fileset dir="${BaseDir}/conf" includes="email.properties, Portal.properties" />
    </copy>

    <copy todir="${dist}">
        <fileset dir="${BaseDir}/conf" includes="readme.txt" />
    </copy>

    <mkdir dir="${dist}/email/templates" />
    <copy todir="${dist}/email/templates">
        <fileset dir="${BaseDir}/email/templates" includes="*.*" />
    </copy>

    <mkdir dir="${dist}/jasper" />
    <copy todir="${dist}/jasper">
        <fileset dir="${BaseDir}/jasper" includes="*.*" />
    </copy>

    <mkdir dir="${dist}/conf" />
    <copy todir="${dist}">
        <fileset dir="${BaseDir}/db_scripts" includes="*.*" />
    </copy>

    <mkdir dir="${dist}/jars" />
    <copy todir="${dist}/jars">
        <fileset dir="${TPL}" includes="*.*" />
    </copy>

    <copy todir="${build}" file="src/MessageResources.properties">
    </copy>

    <!--
        Put everything in ${build} into the MyProject-${DSTAMP}.war file
    -->
    <war destfile="${dist}/DikshaPortalv2.0.war" webxml="${WEB-INF}/web.xml" basedir="${GUI}">
        <classes dir="${build}" />
        <lib dir="${WEB-INF}/lib" />
        <webinf dir="${WEB-INF}" includes="*.xml" excludes="web.xml" />
        <fileset dir="${META-INF}" />
    </war>

    <copy todir="${build}">
        <fileset dir="${dist}" includes="*.war" />
    </copy>


    <delete dir="${GUI}" />
    <delete dir="${build}" />

</target>

  

我完全是新手,我被告知要迁移现有的蚂蚁   脚本插入我公司的gradle。有人请帮助我如何   将上面给出的ant脚本转换为gradle。

     

我完全是新手,我被告知要迁移现有的蚂蚁   脚本插入我公司的gradle。有人请帮助我如何   将上面给出的ant脚本转换为gradle。

2 个答案:

答案 0 :(得分:1)

我将从DikshaPortal项目根目录中的一个非常基本的build.gradle文件开始,从终端或命令行运行gradle build,看看会发生什么。你了解这个项目的依赖关系吗?如果是这样,那么您可以将该块添加到您的gradle脚本中。

apply plugin: 'war'

dependencies {
    //enter your dependenices here such as 
    compile group: 'com.junit' name: 'junit' version: '4.12'
}

这是一个开始。 Gradle docs很不错,所以我开始熟悉它们。我刚刚完成了一个体面的大小项目,在我作为开发人员的第一份工作中将Ant转换为Gradle,这需要一段时间!运行gradle构建以检查错误。即使它成功检查你的战争(或任何生成的工件)对抗Ant并继续前进。希望有所帮助。

https://gradle.org/guides/

https://github.com/shekhargulati/gradle-tips

http://dougborg.org/what-makes-a-good-build-dot-gradle

https://docs.gradle.org/3.3/dsl/您可以将版本更改为您使用的版本。

答案 1 :(得分:0)

不是确切的答案,而是一种可能的替代解决方案。 我不相信有一个用于ant to gradle的转换工具,但你可以将你的ant文件导入gradle并从那里运行它。

以下是如何操作:

https://docs.gradle.org/current/userguide/ant.html?_ga=2.102231682.2042183466.1518506088-863573233.1518506088#sec:import_ant_build

似乎比尝试将整个脚本重写为gradle更可行。

build.gradle文件

ant.importBuild 'build.xml'