1#!/bin/bash 2# Copyright (c) 2020-2021 Huawei Device Co., Ltd. 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15set -e 16 17BASE_HOME=$(dirname $(dirname $(dirname $(dirname $(cd $(dirname $0); pwd))))) 18PRODUCT="" 19XTS="" 20#WIFIIOT_OUTFILE=Hi3861_wifiiot_app_allinone.bin 21WIFIIOT_OUTFILE=OHOS_Image.bin 22DIST_DIR=$BASE_HOME/dist 23WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/communication_lite/lwip_hal:ActsLwipTest" 24#WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/communication_lite/wifiservice_hal:ActsWifiServiceTest" 25WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/commonlibrary_lite/file_hal:ActsUtilsFileTest" 26WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/startup_lite/syspara_hal:ActsParameterTest" 27WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/iothardware_lite/peripheral_hal:ActsWifiIotTest" 28WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/distributeddatamgr_lite/kv_store_hal:ActsKvStoreTest" 29WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/security_lite/huks/liteos_m_adapter:ActsHuksHalFunctionTest" 30WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/hiviewdfx_lite/hilog_hal:ActsDfxFuncTest" 31WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/hiviewdfx_lite/hievent_hal:ActsHieventLiteTest" 32WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/distributed_schedule_lite/system_ability_manager_hal:ActsSamgrTest" 33WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/update_lite/dupdate_hal:ActsUpdaterFuncTest" 34WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/startup_lite/bootstrap_hal:ActsBootstrapTest" 35WIFIIOT_ACTS_MODULES="${WIFIIOT_ACTS_MODULES},//test/xts/acts/xts_lite/device_attest_lite/device_attestStart_hal:ActsDeviceAttestTest" 36 37source $BASE_HOME/test/xts/tools/lite/buildFun.sh 38 39error_report() { 40 echo "Error on line $1" 41} 42trap 'error_report $LINENO' ERR 43 44parse_cmdline() 45{ 46 PLATFORM="" 47 TARGET="" 48 TARGET_PARAM="" 49 while [ -n "$1" ] 50 do 51 var="$1" 52 OPTIONS=$(echo ${var%%=*}) 53 PARAM=$(echo ${var#*=}) 54 case "$OPTIONS" in 55 product) PRODUCT="$PARAM" 56 ;; 57 platform) PLATFORM="$PARAM" 58 ;; 59 target) TARGET="$PARAM" 60 ;; 61 xts) XTS="$PARAM" 62 ;; 63 *) usage 64 break;; 65 esac 66 shift 67 done 68 if [ "$PRODUCT" = "" ] || [ "$XTS" = "" ];then 69 usage 70 fi 71 if [ "$PRODUCT" = "wifiiot" ];then 72 #PLATFORM="hi3861v100_liteos_riscv" 73 if [ "$TARGET" = "" ];then 74 if [ "$XTS" = "acts" ];then 75 TARGET=$WIFIIOT_ACTS_MODULES 76 elif [ "$XTS" = "hits" ];then 77 TARGET=$WIFIIOT_HITS_MODULES 78 fi 79 fi 80 elif [ "$PLATFORM" = "" ];then 81 echo "platform is required, for product $PRODUCT" 82 usage 83 fi 84 if [ "$TARGET" != "" ];then 85 TARGET_PARAM=" --target $TARGET" 86 fi 87} 88 89build() 90{ 91 out_dir="${BASE_HOME}/out/hispark_pegasus/wifiiot_hispark_pegasus" 92 suite_root_dir="${out_dir}/suites" 93 cd $BASE_HOME 94 if [[ "$PRODUCT" == "wifiiot" && "$PLATFORM" == "" ]]; then 95 if [ "$XTS" = "all" ];then 96 build_wifiiot "acts" $WIFIIOT_ACTS_MODULES 97 build_wifiiot "hits" $WIFIIOT_HITS_MODULES 98 cp -rf ${DIST_DIR}/acts ${suite_root_dir} 99 cd $suite_root_dir 100 zip -rv acts.zip acts 101 if [ -n "${DIST_DIR}" ]; then 102 rm -rf $DIST_DIR 103 fi 104 else 105 build_wifiiot $XTS $TARGET 106 if [ -n "${DIST_DIR}" ]; then 107 rm -rf $DIST_DIR 108 fi 109 fi 110 else 111 #python build.py ${PRODUCT}_${PLATFORM} -b debug --test xts $TARGET 112 build_common 113 fi 114} 115 116echo $BASE_HOME 117check_python 118parse_cmdline $@ 119build 120