2011-06-13 13 views
14

आप चींटी स्क्रिप्ट को 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> 

+1

मुझे यकीन है कि आप ग्रैडल से चींटी स्क्रिप्ट का आह्वान कर सकते हैं, क्या आप इसके बजाय ऐसा कर सकते हैं? –

+2

क्यों कोशिश करें और जब आपको कोई विशिष्ट समस्या हो तो पोस्ट करें? किसी के लिए ऐसा करने के लिए कहने से आपको कई प्रतिक्रियाएं नहीं मिलेंगी। –

+0

आपको यह मार्गदर्शिका पढ़नी चाहिए: https://docs.gradle.org/current/userguide/ant.html। यह प्रक्रिया को बहुत अच्छी तरह से वर्णन करता है। –

उत्तर

10

चींटी और Gradle जावा परियोजनाओं के निर्माण के लिए कुछ मौलिक रूप से अलग दृष्टिकोण रखना। अपने चींटी कार्यों को ग्रैडल में बदलने की कोशिश करने के बजाय, आपको कुछ हद तक अनुकूलन के साथ ग्रैडल के सम्मेलनों का उपयोग करने के लिए अपनी परियोजना के पुन: संरचना के संयोजन का उपयोग करना आसान हो सकता है।

आपके विशेष मामले में, मैं एक वृद्धिशील दृष्टिकोण लेगा। अपने 9 चींटी लक्ष्यों में से 1 चुनें (जैसे "बिल्ड-अपराह्न") और पहले इसे बनाने पर ध्यान दें। यह आपको एक अच्छा विचार देना चाहिए कि आपको अपने चींटी कार्यों को धीरे-धीरे बदलने के लिए कितना प्रयास करना होगा।

+0

ग्रेट उत्तर। मुझे लगता है कि दृष्टिकोण अंतर को हाइलाइट नहीं किया जाता है जब लोग चींटी से ग्रैडल में जाने की कोशिश करते हैं .. आयात बिल्ड उत्तर हर जगह है, लेकिन अगर मैं चींटी से छुटकारा पाने के लिए और केवल ग्रेडल का उपयोग करना चाहता हूं तो क्या होगा? क्या मैं अपने चींटी कार्यों को धीरे-धीरे रास्ते में लिख सकता हूं? – YaP

27

सीधे शब्दों में

ant.importBuild 'build.xml' 

का उपयोग आप पूरी चींटी स्क्रिप्ट आयात और कार्यों को एक एक करके आरंभ करने के लिए बदलने के लिए। बाद में अपनी परियोजना को धीरे-धीरे सम्मेलनों में पुन: सक्रिय करने का प्रयास करें ताकि आपके कार्य अप्रचलित हो जाएं।

संबंधित मुद्दे