Yhzhtk / note

知识代码笔记
https://github.com/Yhzhtk/note/issues
MIT License
108 stars 11 forks source link

Ant 批量打包jar #8

Open Yhzhtk opened 10 years ago

Yhzhtk commented 10 years ago

以前修改的一个打包工具,在此记录一下。待有用之时借鉴

windows 批处理运行命令

FOR /F "delims=, tokens=1,2" %%k in (path.txt) DO FOR /F "delims=, tokens=1-26" %%A in (devices.txt) do ant -f source\build.xml -DinPath=%%k,-DoutPath=%%l,-Dcategory=%%A,-Dcateid=%%B,-Dimgname=%%C,-Dimgsize=%%D,-Dimgnumber=%%E,-Dupmessage=%%F,-Dupnumber=%%G,-Dprice=%%H,-DsendNum=%%I,-Durl1=%%J,-Durl2=%%K,-Durl3=%%L,-Durl4=%%M

build.xml文件

<?xml version="1.0" encoding="UTF-8"?> 
<project default="patch" basedir="."> 
    <target name="prepare">
        <property file="platform.properties" />
        <taskdef resource="defs.properties"> 
            <classpath> 
                <pathelement path="${libs.j2me_ant_ext.classpath}"/> 
            </classpath> 
        </taskdef>

        <property name="inPath" value="" />
        <property name="outPath" value="" />

        <property name="category" value=""/>
        <property name="cateid" value="" />

        <property name="imgname" value="" />
        <property name="imgsize" value="" />
        <property name="imgnumber" value="" />

        <property name="upmessage" value="" />
        <property name="upnumber" value="" />
        <property name="price" value="" />
        <property name="sendNum" value="" />

        <property name="url1" value="" />
        <property name="url2" value="" />
        <property name="url3" value="" />
        <property name="url4" value="" />

        <property name="product" value="EMC" />
        <property name="patchSrc" value="patch" />
        <property name="binHome" value="bin"/>

        <delete dir="${outPath}/unpack" />
        <echo>Clean ok!</echo>
    </target>

    <target name="unjar">
        <unzip src="jar/gsy.jar" dest="${outPath}/unpack" />    
        <replace file="${outPath}/unpack/META-INF/MANIFEST.MF" encoding="UTF-8">     
             <replacefilter token="@MIDLETNAME@" value="${imgname}"/>
             <replacefilter token="@IMGNUM@" value="${imgnumber}"/>
        </replace>
    </target>

    <target name="copy">
        <copy todir="${outPath}/unpack/${binHome}">
            <fileset dir="bin" />
            <filterset>
                <filter token="Chanel" value="${category}_${cateid}"/>
                <filter token="name" value="${imgname}"/>

                <filter token="imgnumber" value="${imgnumber}"/>
                <filter token="imgsize" value="${imgsize}"/>

                <filter token="url1" value="${url1}"/>
                <filter token="url2" value="${url2}"/>
                <filter token="url3" value="${url3}"/>
                <filter token="url4" value="${url4}"/>

                <filter token="upmessage" value="${upmessage}"/>
                <filter token="upnumber" value="${upnumber}"/>

                <filter token="price" value="${price}"/>
                <filter token="sendNum" value="${sendNum}"/>
            </filterset>
        </copy>

        <copy todir="${outPath}/unpack/" overwrite="true">
            <fileset dir="${inPath}\${category}\${cateid}"/>    
        </copy>
        <copy tofile="${outPath}/unpack/intro.txt" file="intro.txt" overwrite="true"/>
    </target> 

    <target name="jar">
        <mkdir dir="${outPath}/jar/${category}/${cateid}/"/>

        <jar destfile="${outPath}/jar/${category}/${cateid}/${cateid}_${imgsize}.jar" basedir="${outPath}/unpack/" manifest="${outPath}/unpack/META-INF/MANIFEST.MF" manifestencoding="UTF-8"/>

        <echo>size = ${size}</echo>
     </target>

    <target name="clean" >
        <delete dir="${outPath}/unpack" />
        <echo>Clean ok!</echo>
    </target>

    <target name="patch" depends="prepare, unjar, copy, jar, clean">
        <echo>Applying patches...Success!</echo>
        <echo>////渠道:${patchDst}...版本:${device}...Success!////</echo>
    </target>
</project>