17c804472Sopenharmony_ci#!/bin/bash 27c804472Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 37c804472Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 47c804472Sopenharmony_ci# you may not use this file except in compliance with the License. 57c804472Sopenharmony_ci# You may obtain a copy of the License at 67c804472Sopenharmony_ci# 77c804472Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 87c804472Sopenharmony_ci# 97c804472Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 107c804472Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 117c804472Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127c804472Sopenharmony_ci# See the License for the specific language governing permissions and 137c804472Sopenharmony_ci# limitations under the License. 147c804472Sopenharmony_ci 157c804472Sopenharmony_ci#设置执行失败,退出脚本执行 167c804472Sopenharmony_ciset -e 177c804472Sopenharmony_ci 187c804472Sopenharmony_ci#$0表示脚本本身 197c804472Sopenharmony_ci#dirname去除文件名中的非目录部分,删除最后一个“\”后面的路径,得到文件夹路径 207c804472Sopenharmony_ci#获取当前脚本目录 217c804472Sopenharmony_ciscript_path=$(cd $(dirname $0);pwd) 227c804472Sopenharmony_ci#获取项目根目录路径 237c804472Sopenharmony_cicode_dir=$(dirname ${script_path})/../ 247c804472Sopenharmony_ci#系统内核的名字 257c804472Sopenharmony_cicase $(uname -s) in 267c804472Sopenharmony_ci Linux) 277c804472Sopenharmony_ci host_platform=linux 287c804472Sopenharmony_ci ;; 297c804472Sopenharmony_ci Darwin) 307c804472Sopenharmony_ci host_platform=darwin 317c804472Sopenharmony_ci ;; 327c804472Sopenharmony_ci *) 337c804472Sopenharmony_ci echo "Unsupported host platform: $(uname -s)" 347c804472Sopenharmony_ci exit 1 357c804472Sopenharmony_ciesac 367c804472Sopenharmony_ci 377c804472Sopenharmony_ci#nodejs文件夹名称 387c804472Sopenharmony_cinode_js_name=current 397c804472Sopenharmony_ci#到automock目录 407c804472Sopenharmony_cicd ${code_dir}/automock/mock-generate/ 417c804472Sopenharmony_ci#设置环境变量为下载的nodejs 427c804472Sopenharmony_ciexport PATH=${code_dir}/prebuilts/build-tools/common/nodejs/${node_js_name}/bin:$PATH 437c804472Sopenharmony_ci#设置镜像地址 447c804472Sopenharmony_cinpm config set registry https://repo.huaweicloud.com/repository/npm/ 457c804472Sopenharmony_ci#执行安装 467c804472Sopenharmony_cinpm install 477c804472Sopenharmony_ci#跳根目录 487c804472Sopenharmony_cicd ${code_dir} 497c804472Sopenharmony_ci#判断目录是否存在 507c804472Sopenharmony_ciif [ -d "${code_dir}/prebuilts/build-tools/common/automock/mock-generate" ]; then 517c804472Sopenharmony_ci #转义输出,不换行 527c804472Sopenharmony_ci echo -e "\n" 537c804472Sopenharmony_ci echo "${code_dir}/prebuilts/build-tools/common/automock/mock-generate already exist, it will be replaced" 547c804472Sopenharmony_ci #删除原目录 557c804472Sopenharmony_ci /bin/rm -rf ${code_dir}/prebuilts/build-tools/common/automock/mock-generate 567c804472Sopenharmony_ci echo -e "\n" 577c804472Sopenharmony_cifi 587c804472Sopenharmony_ci#创建新目录 597c804472Sopenharmony_cimkdir -p ${code_dir}/prebuilts/build-tools/common/automock/mock-generate 607c804472Sopenharmony_ci#拷贝node_modules过去 617c804472Sopenharmony_ci/bin/cp -rf ${code_dir}/automock/mock-generate/node_modules ${code_dir}/prebuilts/build-tools/common/automock/mock-generate/ 62