• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1echo -e "
2    \033[31m buildConfig \033[0m
3    \033[32m recover \033[0m
4"
5back_file="./productdefine/common/inherit/rich_back.json"
6read -p "请输入你的选择buildConfig|recover:" char
7case $char in
8buildConfig)
9  if [ -e "$back_file" ]; then
10    echo "已备份且配置"
11  else
12    echo "正在备份"
13    cp ./productdefine/common/inherit/rich.json ./productdefine/common/inherit/rich_back.json
14    cp ./base/hiviewdfx/hilog/interfaces/js/kits/napi/BUILD.gn ./base/hiviewdfx/hilog/interfaces/js/kits/napi/BUILD_back.gn
15    cp ./developtools/profiler/hidebug/interfaces/js/kits/napi/BUILD.gn ./developtools/profiler/hidebug/interfaces/js/kits/napi/BUILD_back.gn
16    cp ./base/hiviewdfx/hichecker/interfaces/js/kits/napi/BUILD.gn ./base/hiviewdfx/hichecker/interfaces/js/kits/napi/BUILD_back.gn
17    cp ./foundation/resourceschedule/ffrt/BUILD.gn ./foundation/resourceschedule/ffrt/BUILD_back.gn
18    cp ./third_party/skia/BUILD.gn ./third_party/skia/BUILD_back.gn
19    cp ./third_party/skia/bundle.json ./third_party/skia/bundle_back.json
20    cp ./foundation/communication/netstack/interfaces/kits/c/net_ssl/BUILD.gn ./foundation/communication/netstack/interfaces/kits/c/net_ssl/BUILD_back.gn
21    echo "备份完成"
22    echo "======================================"
23    echo ""
24    echo "STEP 1: add skia component"
25    echo ""
26    echo "======================================"
27
28    target_file="./productdefine/common/inherit/rich.json"
29    sed -i '/"thirdparty"/{n;d}' ${target_file}
30
31    target_line='   "components": [\
32        {\
33          "component": "skia",\
34          "features": []\
35        },'
36
37    key_line='"thirdparty"'
38
39    sed -i "/${key_line}/a\   ${target_line}" ${target_file}
40
41    echo "======================================"
42    echo ""
43    echo "    STEP 2: modify napi api"
44    echo ""
45    echo "======================================"
46
47    api_target_gn_file="./base/hiviewdfx/hilog/interfaces/js/kits/napi/BUILD.gn"
48
49    sed -i '/output_name/s/libhilog/libhilognapi/g' ${api_target_gn_file}
50
51    api_target_file="./developtools/profiler/hidebug/interfaces/js/kits/napi/BUILD.gn"
52    api_target_line='output_name = "libhidebugnapi"'
53    sed -i "/ohos_shared_library/a\  ${api_target_line}" ${api_target_file}
54
55    api_target_file="./base/hiviewdfx/hichecker/interfaces/js/kits/napi/BUILD.gn"
56    api_target_line='output_name = "napihichecker"'
57    sed -i "/ohos_shared_library/a\  ${api_target_line}" ${api_target_file}
58
59    api_target_file="./foundation/resourceschedule/ffrt/BUILD.gn"
60    api_target_line='output_name = "libffrt_ndk"'
61    sed -i "/ohos_shared_library/a\  ${api_target_line}" ${api_target_file}
62
63    api_target_file="./third_party/skia/BUILD.gn"
64    sed -i 's/^.*"-flto=thin".*/#&/' ${api_target_file}
65    sed -i 's/^.*"-fvisibility=hidden".*/#&/' ${api_target_file}
66    sed -i 's/^.*"-fvisibility-inlines-hidden".*/#&/' ${api_target_file}
67
68    api_target_file="./foundation/communication/netstack/interfaces/kits/c/net_ssl/BUILD.gn"
69    sed -i 's/^.*output_name = "net_ssl".*/#&/' ${api_target_file}
70    sed -i 's/^.*output_extension = "so".*/#&/' ${api_target_file}
71
72    api_target_line='output_name = "net_ssl"'
73    sed -i "/^.*libnet_ssl_ndk/a\  ${api_target_line}" ${api_target_file}
74
75    echo "======================================"
76    echo ""
77    echo "   STEP 3: add dm compilation"
78    echo ""
79    echo "======================================"
80
81    skia_bundle_file="./third_party/skia/bundle.json"
82
83    skia_pivot_line='inner_kits'
84    skia_target_line='"test": [ "//third_party/skia:dm(//build/toolchain/ohos:ohos_clang_arm)" ]'
85
86    sed -i '/inner_kits/{n;d}' ${skia_bundle_file}
87    sed -i "/${skia_pivot_line}/a\            ${skia_target_line}" ${skia_bundle_file}
88  fi
89  ;;
90recover)
91  if [ -e "$back_file" ]; then
92    mv ./productdefine/common/inherit/rich_back.json ./productdefine/common/inherit/rich.json
93    mv ./base/hiviewdfx/hilog/interfaces/js/kits/napi/BUILD_back.gn ./base/hiviewdfx/hilog/interfaces/js/kits/napi/BUILD.gn
94    mv ./developtools/profiler/hidebug/interfaces/js/kits/napi/BUILD_back.gn ./developtools/profiler/hidebug/interfaces/js/kits/napi/BUILD.gn
95    mv ./base/hiviewdfx/hichecker/interfaces/js/kits/napi/BUILD_back.gn ./base/hiviewdfx/hichecker/interfaces/js/kits/napi/BUILD.gn
96
97    mv ./foundation/resourceschedule/ffrt/BUILD_back.gn ./foundation/resourceschedule/ffrt/BUILD.gn
98    mv ./third_party/skia/BUILD_back.gn ./third_party/skia/BUILD.gn
99    mv ./third_party/skia/bundle_back.json ./third_party/skia/bundle.json
100    mv ./foundation/communication/netstack/interfaces/kits/c/net_ssl/BUILD_back.gn ./foundation/communication/netstack/interfaces/kits/c/net_ssl/BUILD.gn
101    echo "恢复完成"
102  else
103    echo "没有备份的文件可恢复"
104  fi
105  ;;
106*)
107  echo "输入不正确!请重新输入。"
108  ;;
109esac
110