<?xml version="1.0" encoding="UTF-8"?>
|
<project name="build-vci-plt" default="build" basedir=".">
|
|
<tstamp>
|
<format property="build.date" pattern="yyyy.MM.dd" />
|
<format property="build.time" pattern="HHmmss" />
|
<format property="build.datetime" pattern="yyyy.MM.dd HHmmss" />
|
</tstamp>
|
|
<property name="dest.path" value="${basedir}" />
|
<property name="dest.simple.name" value="VCI-PLT" />
|
<property name="release-version" value="${build.date}" />
|
|
<!-- ====================== Build ====================== -->
|
<target name="build" depends="" description="" >
|
<echo message="请选择发布版本" />
|
<echo message="1. linux-x64" />
|
<echo message="2. linux-x86" />
|
<echo message="3. windows-x64" />
|
<echo message="4. windows-x86" />
|
<input message="请选择:"
|
validargs="1,2,3,4"
|
addproperty="releaseTarget" />
|
<condition property="is-linux">
|
<or>
|
<equals arg1="1" arg2="${releaseTarget}" />
|
<equals arg1="2" arg2="${releaseTarget}" />
|
</or>
|
</condition>
|
<condition property="is-windows">
|
<or>
|
<equals arg1="3" arg2="${releaseTarget}" />
|
<equals arg1="4" arg2="${releaseTarget}" />
|
</or>
|
</condition>
|
<condition property="is-linux-x64">
|
<and>
|
<equals arg1="1" arg2="${releaseTarget}" />
|
</and>
|
</condition>
|
<condition property="is-linux-x86">
|
<and>
|
<equals arg1="2" arg2="${releaseTarget}" />
|
</and>
|
</condition>
|
<condition property="is-windows-x64">
|
<and>
|
<equals arg1="3" arg2="${releaseTarget}" />
|
</and>
|
</condition>
|
<condition property="is-windows-x86">
|
<and>
|
<equals arg1="4" arg2="${releaseTarget}" />
|
</and>
|
</condition>
|
<antcall target="build-linux-x64" />
|
<antcall target="build-linux-x86" />
|
<antcall target="build-windows-x64" />
|
<antcall target="build-windows-x86" />
|
</target>
|
<!-- ====================== Build BEGIN ====================== -->
|
|
<!-- ====================== Windows BEGIN ====================== -->
|
<!-- 调用Windows通用打包处理逻辑,传入参数 x86 -->
|
<target name="build-windows-x86" depends="" description="" if="is-windows-x86">
|
<echo>antcall build-windows-arch</echo>
|
<antcall target="build-windows-arch">
|
<param name="os.arch" value="x86" />
|
</antcall>
|
</target>
|
<!-- 调用Windows通用打包处理逻辑,传入参数 x64 -->
|
<target name="build-windows-x64" depends="" description="" if="is-windows-x64">
|
<echo>antcall build-windows-arch</echo>
|
<antcall target="build-windows-arch">
|
<param name="os.arch" value="x64" />
|
</antcall>
|
</target>
|
<!-- Windows 通用打包处理 -->
|
<target name="build-windows-arch" depends="" description="" if="is-windows" >
|
<echo>antcall build-os-arch</echo>
|
<antcall target="build-os-arch">
|
<param name="os" value="windows" />
|
<param name="os.arch" value="${os.arch}" />
|
<param name="release-version" value="${release-version}" />
|
</antcall>
|
</target>
|
<!-- ======================== Windows END ====================== -->
|
|
<!-- ======================== Linux BEGIN ====================== -->
|
<!-- 调用Linux通用打包处理逻辑,传入参数 x86 -->
|
<target name="build-linux-x86" depends="" description="" if="is-linux-x86">
|
<echo>antcall build-linux-arch</echo>
|
<antcall target="build-linux-arch">
|
<param name="os.arch" value="x86" />
|
</antcall>
|
</target>
|
<!-- 调用Linux通用打包处理逻辑,传入参数 x64 -->
|
<target name="build-linux-x64" depends="" description="" if="is-linux-x64">
|
<echo>antcall build-linux-arch</echo>
|
<antcall target="build-linux-arch">
|
<param name="os.arch" value="x64" />
|
</antcall>
|
</target>
|
<!-- Linux 通用打包处理 -->
|
<target name="build-linux-arch" depends="" description="" if="is-linux">
|
<echo>antcall build-os-arch</echo>
|
<antcall target="build-os-arch">
|
<param name="os" value="linux" />
|
<param name="os.arch" value="${os.arch}" />
|
<param name="release-version" value="${release-version}" />
|
</antcall>
|
</target>
|
<!-- ======================== Linux END ====================== -->
|
|
<!-- 通用打包处理逻辑 -->
|
<target name="build-os-arch" depends="" description=""> <!-- depends="build-show-params" -->
|
<!--<antcall target="build-show-params" />-->
|
|
<property name="os-os.arch" value="${os}-${os.arch}" />
|
<property name="dest.tarfileset" value="${dest.simple.name}-${os-os.arch}" />
|
<property name="dest.file.name.tar" value="${dest.simple.name}-${os-os.arch}.tar" />
|
<property name="dest.file.name.tar.gz" value="${dest.file.name.tar}.gz" />
|
<property name="resource.common.dir" value="${dest.simple.name}-common" />
|
<property name="resource.common.jre" value="${resource.common.dir}/jre" />
|
<property name="specific.dir" value="${dest.simple.name}-specific" />
|
<property name="os.arch.jre.dir" value="${specific.dir}/${os-os.arch}/jre" />
|
|
<echo message="1. delete ${dest.tarfileset}" />
|
<delete dir="${dest.tarfileset}" />
|
|
<echo message="1.1. delete ${dest.file.name.tar}" />
|
<delete file="${dest.file.name.tar}" />
|
|
<echo message="1.2. delete ${dest.file.name.tar.gz}" />
|
<delete file="${dest.file.name.tar.gz}" />
|
|
<echo message="2. mkdir ${dest.tarfileset}" />
|
<mkdir dir="${dest.tarfileset}" />
|
|
<echo message="3. copy ${resource.common.dir} to ${dest.tarfileset}" />
|
<copy todir="${dest.tarfileset}" overwrite="true" >
|
<fileset dir="${resource.common.dir}">
|
<include name="**/**" />
|
<exclude name="jre/**" />
|
</fileset>
|
</copy>
|
|
<echo message="4. copy ${specific.dir}/${os-os.arch}/jre to ${dest.tarfileset}" />
|
<copy todir="${dest.tarfileset}" overwrite="true" >
|
<fileset dir="${specific.dir}/${os-os.arch}">
|
<include name="jre/**"/>
|
</fileset>
|
</copy>
|
|
<echo message="5. tar ${dest.tarfileset} -> ${dest.file.name.tar}" />
|
<tar destfile="${dest.file.name.tar.gz}" compression="gzip">
|
<tarfileset dir="${resource.common.dir}" prefix="${dest.tarfileset}" preserveLeadingSlashes="true">
|
<include name="**/**" />
|
</tarfileset>
|
</tar>
|
|
<echo message="5. delete ${dest.file.name.tar}"/>
|
<delete file="${dest.file.name.tar}" />
|
|
<echo message="6. build done."/>
|
<echo message="dest.tarfileset: ${dest.tarfileset}" />
|
|
</target>
|
|
<target name="build-show-params" depends="" description="">
|
<echo message="os: ${os}" />
|
<echo message="os.arch: ${os.arch}" />
|
<echo message="build.date: ${build.date}" />
|
<echo message="build.time: ${build.time}" />
|
<echo message="build.datetime: ${build.datetime}" />
|
<echo message="dest.path: ${dest.path}" />
|
<echo message="dest.simple.name: ${dest.simple.name}" />
|
<echo message="release-version: ${release-version}" />
|
<echo message="dest.simple.name: ${dest.simple.name}" />
|
<echo message="dest.simple.name: ${dest.simple.name}" />
|
<echo message="dest.simple.name: ${dest.simple.name}" />
|
</target>
|
|
</project>
|