在Worklight上自动增加应用程序版本

时间:2015-03-02 21:34:18

标签: ant ibm-mobilefirst

我们正在使用WL Enterprise ver 6.2.0.1开发WL项目,文件的构建(Native [ipa / apk]和Hybrid [.wlapp])是使用ANT脚本完成的。

有没有办法在构建期间自动增加(application-descriptor.xml)内的应用程序版本。?

是否有可用于完成此任务的脚本?

1 个答案:

答案 0 :(得分:0)

稍微不同的方法,但是这个示例(读作“原样”)代码应该足以为您创建自己的ANT目标来执行此操作:

<!-- =========================================================================== -->
<!-- Target: -update-build-number                                                -->
<!-- =========================================================================== -->
<target name="-update-build-number">
    <if>
        <isset property="${prop.buildNmber}" />
        <then>
            <property name="buildNumber" value="${prop.buildNmber}" />
        </then>
        <else>
            <tstamp>
                <format property="buildNumber" pattern="${prop.buildNumberPattern}" />
            </tstamp>
        </else>
    </if>

    <echo message="Setting application build Number : ${buildNumber}"   />

    <if>
        <istrue value="${prop.env.android}"   />
        <then>
            <echo message="Updating Android build number"   />
            <replaceregexp file="${appdir}/android/nativeResources/AndroidManifest.xml"
                           match='(android:versionCode=").*(" .*$)'
                           replace='\1${buildNumber}\2'
                           byline="true" />
        </then>
    </if>
    <if>
        <istrue value="${prop.env.ipad}"   />
        <then>
            <echo message="Updating IPad build number"   />
            <exec executable="/usr/libexec/PlistBuddy">
                <arg value="-c"/>
                  <arg value="Set CFBundleVersion ${buildNumber}" />
                  <arg value="${appdir}/ipad/native/${prop.iosNativePrefix}${prop.appName}Ipad-Info.plist"/>
            </exec>
        </then>
    </if>
    <if>
        <istrue value="${prop.env.iphone}"   />
        <then>
            <echo message="Updating IPhone build number"   />
            <exec executable="/usr/libexec/PlistBuddy">
                <arg value="-c"/>
                  <arg value="Set CFBundleVersion ${buildNumber}" />
                  <arg value="${appdir}/iphone/native/${prop.iosNativePrefix}${prop.appName}Iphone-Info.plist"/>
            </exec>
        </then>
    </if>
    <antcall target="-update-build-number-custom"  />
</target>

它需要使用ant-contrib。