#!/bin/sh
#有时候打包失败,需要删除bundle,具体路径见日志
rm -rf '/Users/admin/prd/slavec2/run_slave/works/core_pipeline_id_509284/core_job_id_4162840/ZNSLSDK/ZNSLSDK/build/ZNSLBundle.bundle'
#workspace 工程名,如果是单 target 项目则不需要
PROJECT_NAME='ZNSLProject'
#target 名
TARGET_NAME="ZNSLProject"
#工程文件所在的根目录
SRCROOT=pwd
#Sets the target folders and the final framework product.
FMK_NAME='ZNSLSDK'
#最终 sdk 输出的文件路径
#在工程文件所在的根目录创建 sdk 输出路径,如果是 framework 形式则为 .framework
INSTALL_DIR={FMK_NAME}.framework
#在工程文件所在的根目录创建 sdk 输出路径,如果是 static lib 形式则为 .a
#INSTALL_DIR={FMK_NAME}.a
#指定输出导出文件夹路径
export_path="$SRCROOT/export"
#sdk 编译过程的输出文件路径
WRK_DIR=./builds
#framework 形式真机架构输出文件路径
DEVICE_DIR={FMK_NAME}/${FMK_NAME}.framework
#static lib 形式真机架构输出文件路径
#DEVICE_DIR={FMK_NAME}.a
#framework 形式模拟器架构输出文件路径
SIMULATOR_DIR={FMK_NAME}/${FMK_NAME}.framework
#static lib 形式模拟器架构输出文件路径
#SIMULATOR_DIR={FMK_NAME}.a
#-configuration ${CONFIGURATION}
#清理编译生成真机和模拟器架构的 sdk
#单 target 项目
#xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos clean build
#xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator clean build
#包含 workspace 的项目
xcodebuild -configuration Release -workspace "{TARGET_NAME}" -sdk iphoneos clean build SYMROOT="../${WRK_DIR}"
#xcodebuild -configuration Release -workspace "{TARGET_NAME}" -sdk iphonesimulator build SYMROOT="../${WRK_DIR}"
#清理之前生成的 sdk
SDK_DIR=$SRCROOT/Products/*.framework
if [ -d "${SDK_DIR}" ]
echo "SDK_DIR有文件"
then
echo "删除SDK_DIR里的文件"
rm -rf "${SDK_DIR}"
fi
rm -rf "{FMK_NAME}-Debug.zip"
rm -rf "{FMK_NAME}-Release.zip"
rm -rf "{FMK_NAME}-Gray.zip"
echo "创建打包过程输出文件output目录 "$export_path
mkdir -p $export_path
echo "开始前:ls -alth $export_path:"
ls -alth $export_path
mkdir -p ${SRCROOT}/Products
#Uses the Lipo Tool to merge both binary files (i386/x86_64 + armv7/armv64) into one Universal final product.
#lipo -create "{FMK_NAME}" "{FMK_NAME}" -output "{FMK_NAME}"
cd ${WRK_DIR}/Release-iphoneos
zip -r {FMK_NAME}.framework
# cp -rf {export_path}
mv export_path
env_name=""
#根据打包环境,设置不同的包名
if [ ${ENV_TYPE} -eq 0 ]; then
env_name="Debug"
echo "当前是Debug环境"
fi
if [ ${ENV_TYPE} -eq 1 ]; then
env_name="Release"
echo "当前是Release环境"
fi
if [ ${ENV_TYPE} -eq 2 ]; then
env_name="Gray"
echo "当前是Gray环境"
fi
mv {FMK_NAME}-iphoneos.zip {FMK_NAME}-$env_name.zip
exit 0