将ant脚本转换为gradle脚本



如何将ant脚本转换为gradle脚本?你好你能帮我把ant脚本转换成gradle脚本吗。我是gradle的新用户。

<property name="pm-dir"                value="${PM-DIR}/${BUILD_NUM}" />
<property name="leis-dir"              value="${LEIS_DIR}/${BUILD_NUM}" />
<property name="proxy-name"             value="${PROXY_JAR_NAME}"/>
<property name="proxy-client-name"      value="${PROXY_CLIENT_JAR_NAME}"/>
<property environment="env"/>
<property name="java-home"              value="${env.JAVA_HOME}"/>
  <condition property="build-pm">
    <equals arg1="True" arg2="${BUILD_PM}" />
</condition>
<condition property="build-LEIS">
    <equals arg1="True" arg2="${BUILD_LEIS}" />
</condition>

<target name="build-LEIS-components" if="build-LEIS">
    <ant antfile="build.xml"
         target="clean"
         dir="${leis-dir}/LEIS"
         inheritAll="false"/>
    <ant antfile="build.xml"
         target="ejbdoclet"
         dir="${leis-dir}/LEIS/BusinessServices"
         inheritAll="false"/>
    <ant antfile="build.xml"
         target="jar"
         dir="${leis-dir}/LEIS"
         inheritAll="false"/>
    <ant antfile="build.xml"
         target="clean"
         dir="${leis-dir}/ETS/trunk/Entitlements"
         inheritAll="false"/>
    <ant antfile="build.xml"
         target="build"
         dir="${leis-dir}/ETS/trunk/Entitlements"
         inheritAll="false"/>
    <mkdir dir="${leis-dir}/JARS/APP-INF/lib/"/>
    <jar jarfile="${leis-dir}/JARS/APP-INF/lib/LEISConfig.jar">
        <fileset dir="LEIS/" includes="datetime.properties"/>
        <fileset dir="LEIS/" includes="log4j.properties"/>
        <manifest>
            <attribute name="Built-By" value="${user.name}"/>
        </manifest>
    </jar>
</target>

<!--========================================================================
Builds pm using the supplied RE build files, modified by us.
========================================================================-->
<target name="build-pm" if="build-pm">


    <!-- SPPResourceBundle Overrides -->
    <mkdir dir="${pm-dir}/pm2/deploy/propertyoverrides"/>
    <copy todir="${pm-dir}/pm2/deploy/propertyoverrides" overwrite="true">
        <fileset dir="olwpmconfig/propertyoverrides"/>
    </copy>
    <!-- copy build.properties into pm dir, complete with kodo key -->
    <copy file="olwpmconfig/build.properties"      todir="${pm-dir}/pm2/"            overwrite="true">
        <filterchain>         
               <replacetokens>
                   <token key="LOGGINGFLOOR" value="${PERFORMANCE_LOGGING_FLOOR}"/>
                   <token key="BEADIR" value="${BEA_HOME}"/>
               </replacetokens>
        </filterchain>
    </copy>
    <!--the actual Retail Express build scripts to create the pm-main.ear-->
    <echo message="Calling pm Build Script"/>
    <ant antfile='${pm-dir}/pm2/build/build.xml'          target='clean-build' inheritAll="false"/>
    <!--delete the extra copy of jdo.dtd-->
    <delete file="jdo.dtd" />
    <fileset id="required-pm-client-libs" dir="${pm-dir}/pm2/deploy/lib">
        <include name="*.jar"/>
        <include name="client/*.jar"/>
        <exclude name="*tests.jar"/>
    </fileset>
    <!-- Used to populate value of MANIFEST.MF Class-path attribute. Turns our set of "required" libs
     into a nice space separated string to place in the MANIFEST.MF. Property is used in the "dist"
     task's jar command. -->
    <pathconvert property="client-classpath"
                 refid="required-pm-client-libs"
                 pathsep=" "
                 dirsep="/">
        <map from="${pm-dir}/pm2/deploy/lib/" to=""/>
    </pathconvert>
    <jar update="true" jarfile="${pm-dir}/pm2/deploy/lib/pm-core.jar">
        <manifest>
            <attribute name="Class-Path" value="${client-classpath}"/>
            <attribute name="Main-Class" value="com.retailexp.pm.ui.util.SPPClientStartUp"/>
        </manifest>
    </jar>
    <!-- Creates a file Marimba/BigFix/WhatEver can use to track the version of pm installed on a machine -->
    <echo message="${pm_MAJOR_VERSION}.${BUILD_NUM}" file="${pm-dir}/pm2/deploy/lib/version.txt" append="false"/>
    <!-- Remove files we place on classpath from ears, Mantis 10624 -->
    <!-- pm -->
    <move file="${pm-dir}/pm2/deploy/dist/pm-main.ear" tofile="${pm-dir}/pm2/deploy/dist/old-pm-main.ear"/>
    <unzip src="${pm-dir}/pm2/deploy/dist/old-pm-main.ear" dest="${pm-dir}/pm2/deploy/dist/">
        <patternset>
            <include name="lib/pm-server-conf.jar"/>
        </patternset>
    </unzip>
    <move file="${pm-dir}/pm2/deploy/dist/lib/pm-server-conf.jar" tofile="${pm-dir}/pm2/deploy/dist/lib/old-pm-server-conf.jar"/>
    <zip file="${pm-dir}/pm2/deploy/dist/lib/pm-server-conf.jar">
        <zipfileset src="${pm-dir}/pm2/deploy/dist/lib/old-pm-server-conf.jar">
            <exclude name="log4j.properties"/>
            <exclude name="ehcache-transactional.xml"/>
        </zipfileset>
    </zip>
    <zip file="${pm-dir}/pm2/deploy/dist/pm-main.ear">
        <zipfileset src="${pm-dir}/pm2/deploy/dist/old-pm-main.ear">
            <exclude name="lib/pm-server-conf.jar"/>
        </zipfileset>
        <zipfileset dir="${pm-dir}/pm2/deploy/dist/lib/" includes="pm-server-conf.jar" fullpath="lib/pm-server-conf.jar"/>
    </zip>
    <!-- EDM -->
    <move file="${pm-dir}/pm2/deploy/dist/pm-edm.ear" tofile="${pm-dir}/pm2/deploy/dist/old-pm-edm.ear"/>
    <unzip src="${pm-dir}/pm2/deploy/dist/old-pm-edm.ear" dest="${pm-dir}/pm2/deploy/dist/">
        <patternset>
            <include name="lib/pm-server-conf.jar"/>
        </patternset>
    </unzip>
    <move file="${pm-dir}/pm2/deploy/dist/lib/pm-server-conf.jar" tofile="${pm-dir}/pm2/deploy/dist/lib/old-pm-server-conf.jar"/>
    <zip file="${pm-dir}/pm2/deploy/dist/lib/pm-server-conf.jar">
        <zipfileset src="${pm-dir}/pm2/deploy/dist/lib/old-pm-server-conf.jar">
            <exclude name="log4j.properties"/>
        </zipfileset>
    </zip>
    <zip file="${pm-dir}/pm2/deploy/dist/pm-edm.ear">
        <zipfileset src="${pm-dir}/pm2/deploy/dist/old-pm-edm.ear">
            <exclude name="lib/pm-server-conf.jar"/>
        </zipfileset>
        <zipfileset dir="${pm-dir}/pm2/deploy/dist/lib/" includes="pm-server-conf.jar" fullpath="lib/pm-server-conf.jar"/>
    </zip>
</target>
<!--========================================================================
Builds LEIS
========================================================================-->
<target name="build-proxy" if="build-LEIS">
    <!--copy deploy.properties with the proper jar names and locations-->
    <copy file="LEIS/deploy.properties"        todir="${leis-dir}/proxy/config/build/"    overwrite="true">
        <filterchain>
               <replacetokens>
                    <token key="pmCORE"            value="${pm_CORE_NAME}"/>
                    <token key="pmTRANSFER"        value="${pm_TRANSFER_NAME}"/>
                    <token key="PROXYJARNAME"       value="${PROXY_JAR_NAME}"/>
                    <token key="PROXYCLIENTJARNAME" value="${PROXY_CLIENT_JAR_NAME}"/>
                    <token key="PROXYLIBSDIR"       value="${leis-dir}/JARS/"/>
               </replacetokens>
        </filterchain>
    </copy>
     <ant antfile="build.xml" target="clean" dir="${leis-dir}/proxy" inheritAll="false" />
    <ant antfile="build.xml" target="prod-dist" dir="${leis-dir}/proxy" inheritAll="false">
        <property name="build.name" value="${pm_MAJOR_VERSION}.${BUILD_NUM}"/>
    </ant>
     <ear destfile="${ear-name}" appxml="LEIS/application.xml">
        <metainf dir="${leis-dir}/LEIS/conf/EAR/META-INF" includes="weblogic-application.xml"/>
        <fileset dir="${leis-dir}/JARS/"                   includes="*.jar"/>
        <fileset dir="${leis-dir}/JARS/"                   includes="APP-INF/**" excludes="APP-INF/lib/wlfullclient.jar"/>
    </ear>
    <!-- Place the proxy-client jar in the pm ear-->
    <zip update="true" destfile="${pm-dir}/pm2/deploy/dist/pm-main.ear">
        <zipfileset dir="${leis-dir}/proxy/dist/" includes="${proxy-client-name}" fullpath="APP-INF/lib/${proxy-client-name}"/>
    </zip>
</target>
<target name="build-cpc">
    <copy file="${pm-dir}/pm2/deploy/lib/${pm_TRANSFER_NAME}" todir="${leis-dir}/cpc-web-app/webapp/lib/cpc"/>
    <ant antfile="build.xml" target="build-all-environments" dir="${leis-dir}/cpc-web-app/webapp" inheritAll="false"/>
</target>
<target name="build-all">
    <antcall target="build-LEIS-components"/>
    <antcall target="build-pm"/>
    <antcall target="build-proxy"/>
    <antcall target="build-cpc"/>
</target>    </condition>
<condition property="build-LEIS">
    <equals arg1="True" arg2="${BUILD_LEIS}" />
</condition>

<target name="build-LEIS-components" if="build-LEIS">
    <!--Go through and build the LEIS modules-->
    <ant antfile="build.xml"
         target="clean"
         dir="${leis-dir}/LEIS"
         inheritAll="false"/>
    <ant antfile="build.xml"
         target="ejbdoclet"
         dir="${leis-dir}/LEIS/BusinessServices"
         inheritAll="false"/>
    <ant antfile="build.xml"
         target="jar"
         dir="${leis-dir}/LEIS"
         inheritAll="false"/>

    <ant antfile="build.xml"
         target="clean"
         dir="${leis-dir}/ETS/trunk/Entitlements"
         inheritAll="false"/>
    <ant antfile="build.xml"
         target="build"
         dir="${leis-dir}/ETS/trunk/Entitlements"
         inheritAll="false"/>

    <mkdir dir="${leis-dir}/JARS/APP-INF/lib/"/>

    <jar jarfile="${leis-dir}/JARS/APP-INF/lib/LEISConfig.jar">
        <fileset dir="LEIS/" includes="datetime.properties"/>
        <fileset dir="LEIS/" includes="log4j.properties"/>
        <manifest>
            <attribute name="Built-By" value="${user.name}"/>
        </manifest>
    </jar>
</target>

<target name="build-pm" if="build-pm">

    <mkdir dir="${pm-dir}/amp2/deploy/propertyoverrides"/>
    <copy todir="${pm-dir}/amp2/deploy/propertyoverrides" overwrite="true">
        <fileset dir="olwAMPconfig/propertyoverrides"/>
    </copy>
    <ant antfile='${pm-dir}/amp2/build/build.xml'          target='clean-build' inheritAll="false"/>
    <!--delete the extra copy of jdo.dtd-->
    <delete file="jdo.dtd" />
    <fileset id="required-amp-client-libs" dir="${pm-dir}/amp2/deploy/lib">
        <include name="*.jar"/>
        <include name="client/*.jar"/>
        <exclude name="*tests.jar"/>
    </fileset>
    <!-- Used to populate value of MANIFEST.MF Class-path attribute. Turns our set of "required" libs
     into a nice space separated string to place in the MANIFEST.MF. Property is used in the "dist"
     task's jar command. -->
    <pathconvert property="client-classpath"
                 refid="required-amp-client-libs"
                 pathsep=" "
                 dirsep="/">
        <map from="${pm-dir}/amp2/deploy/lib/" to=""/>
    </pathconvert>
    <jar update="true" jarfile="${pm-dir}/amp2/deploy/lib/amp-core.jar">
        <manifest>
            <attribute name="Class-Path" value="${client-classpath}"/>
            <attribute name="Main-Class" value="com.retailexp.amp.ui.util.SPPClientStartUp"/>
        </manifest>
    </jar>
    <!-- Creates a file Marimba/BigFix/WhatEver can use to track the version of AMP installed on a machine -->
    <echo message="${AMP_MAJOR_VERSION}.${BUILD_NUM}" file="${pm-dir}/amp2/deploy/lib/version.txt" append="false"/>
    <!-- Remove files we place on classpath from ears, Mantis 10624 -->
    <!-- AMP -->
    <move file="${pm-dir}/amp2/deploy/dist/amp-main.ear" tofile="${pm-dir}/amp2/deploy/dist/old-amp-main.ear"/>
    <unzip src="${pm-dir}/amp2/deploy/dist/old-amp-main.ear" dest="${pm-dir}/amp2/deploy/dist/">
        <patternset>
            <include name="lib/amp-server-conf.jar"/>
        </patternset>
    </unzip>
    <move file="${pm-dir}/amp2/deploy/dist/lib/amp-server-conf.jar" tofile="${pm-dir}/amp2/deploy/dist/lib/old-amp-server-conf.jar"/>
    <zip file="${pm-dir}/amp2/deploy/dist/lib/amp-server-conf.jar">
        <zipfileset src="${pm-dir}/amp2/deploy/dist/lib/old-amp-server-conf.jar">
            <exclude name="log4j.properties"/>
            <exclude name="ehcache-transactional.xml"/>
        </zipfileset>
    </zip>
    <zip file="${pm-dir}/amp2/deploy/dist/amp-main.ear">
        <zipfileset src="${pm-dir}/amp2/deploy/dist/old-amp-main.ear">
            <exclude name="lib/amp-server-conf.jar"/>
        </zipfileset>
        <zipfileset dir="${pm-dir}/amp2/deploy/dist/lib/" includes="amp-server-conf.jar" fullpath="lib/amp-server-conf.jar"/>
    </zip>
    <!-- EDM -->
    <move file="${pm-dir}/amp2/deploy/dist/amp-edm.ear" tofile="${pm-dir}/amp2/deploy/dist/old-amp-edm.ear"/>
    <unzip src="${pm-dir}/amp2/deploy/dist/old-amp-edm.ear" dest="${pm-dir}/amp2/deploy/dist/">
        <patternset>
            <include name="lib/amp-server-conf.jar"/>
        </patternset>
    </unzip>
    <move file="${pm-dir}/amp2/deploy/dist/lib/amp-server-conf.jar" tofile="${pm-dir}/amp2/deploy/dist/lib/old-amp-server-conf.jar"/>
    <zip file="${pm-dir}/amp2/deploy/dist/lib/amp-server-conf.jar">
        <zipfileset src="${pm-dir}/amp2/deploy/dist/lib/old-amp-server-conf.jar">
            <exclude name="log4j.properties"/>
        </zipfileset>
    </zip>
    <zip file="${pm-dir}/amp2/deploy/dist/amp-edm.ear">
        <zipfileset src="${pm-dir}/amp2/deploy/dist/old-amp-edm.ear">
            <exclude name="lib/amp-server-conf.jar"/>
        </zipfileset>
        <zipfileset dir="${pm-dir}/amp2/deploy/dist/lib/" includes="amp-server-conf.jar" fullpath="lib/amp-server-conf.jar"/>
    </zip>
</target>
<!--===============  Builds LEIS   ========================================================================-->
<target name="build-proxy" if="build-LEIS">

    <ant antfile="build.xml" target="clean" dir="${leis-dir}/proxy" inheritAll="false" />
    <ant antfile="build.xml" target="prod-dist" dir="${leis-dir}/proxy" inheritAll="false">
        <property name="build.name" value="${AMP_MAJOR_VERSION}.${BUILD_NUM}"/>
    </ant>
    <!--copy the proxy jar to the LEIS jars library-->
    <copy todir="${leis-dir}/JARS" flatten="true">
        <fileset dir="${leis-dir}/proxy/dist/" >
            <include name="${proxy-name}"/>
        </fileset>
    </copy>
    <!--create a directory to hold the LEIS ear contents-->
    <property name="ear.dir"            value="${leis-dir}/bin"/>
    <property name="ear-name"           value="${ear.dir}/LEIS_AMP.ear"/>
    <mkdir dir="${ear.dir}"/>
    <!--create the ear from the directories contents-->
    <ear destfile="${ear-name}" appxml="LEIS/application.xml">
        <metainf dir="${leis-dir}/LEIS/conf/EAR/META-INF" includes="weblogic-application.xml"/>
        <fileset dir="${leis-dir}/JARS/"                   includes="*.jar"/>
        <fileset dir="${leis-dir}/JARS/"                   includes="APP-INF/**" excludes="APP-INF/lib/wlfullclient.jar"/>
    </ear>
    <!-- Place the proxy-client jar in the amp ear-->
    <zip update="true" destfile="${pm-dir}/amp2/deploy/dist/amp-main.ear">
        <zipfileset dir="${leis-dir}/proxy/dist/" includes="${proxy-client-name}" fullpath="APP-INF/lib/${proxy-client-name}"/>
    </zip>
</target>
<target name="build-cpc">
    <copy file="${pm-dir}/amp2/deploy/lib/${AMP_TRANSFER_NAME}" todir="${leis-dir}/cpc-web-app/webapp/lib/cpc"/>
    <ant antfile="build.xml" target="build-all-environments" dir="${leis-dir}/cpc-web-app/webapp" inheritAll="false"/>
</target>
<!--=========================================    Build AMP and LEIS  --!>
<target name="build-all">
    <antcall target="build-LEIS-components"/>
    <antcall target="build-pm"/>
    <antcall target="build-proxy"/>
    <antcall target="build-cpc"/>
</target>

只需使用

ant.importBuild 'build.xml'

导入整个ant脚本并逐个替换任务即可开始。稍后尝试将您的项目重构为gradle约定,这样您的任务就会过时。

Ant和Gradle采用了一些根本不同的方法来构建java项目。您可能会发现,与其尝试将Ant任务转换为Gradle,不如将项目的重组组合起来,使用Gradle的约定进行一定程度的自定义。

在你的特殊情况下,我会采取渐进的方法。从你的9个蚂蚁目标中选择一个(比如"构建pm"),并首先专注于构建它。它应该能让你很好地了解将蚂蚁任务转换为等级需要花费多少精力。

相关内容

  • 没有找到相关文章

最新更新