1b8a72a62Sopenharmony_ci#!/usr/bin/env bash
2b8a72a62Sopenharmony_ci# Copyright (c) 2023-2024 Huawei Device Co., Ltd.
3b8a72a62Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
4b8a72a62Sopenharmony_ci# you may not use this file except in compliance with the License.
5b8a72a62Sopenharmony_ci# You may obtain a copy of the License at
6b8a72a62Sopenharmony_ci#
7b8a72a62Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
8b8a72a62Sopenharmony_ci#
9b8a72a62Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
10b8a72a62Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
11b8a72a62Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12b8a72a62Sopenharmony_ci# See the License for the specific language governing permissions and
13b8a72a62Sopenharmony_ci# limitations under the License.
14b8a72a62Sopenharmony_ciset -eux
15b8a72a62Sopenharmony_ciset -o pipefail
16b8a72a62Sopenharmony_ciroot_path=$1
17b8a72a62Sopenharmony_cipack_build_out_jar_path=$2
18b8a72a62Sopenharmony_cipack_build_out_path=$3
19b8a72a62Sopenharmony_citoolchain=$4
20b8a72a62Sopenharmony_cicompile_java=$5
21b8a72a62Sopenharmony_cifastjson_jar=$6
22b8a72a62Sopenharmony_cifinal_path=$(pwd)
23b8a72a62Sopenharmony_ci
24b8a72a62Sopenharmony_cijar_dir="jar"
25b8a72a62Sopenharmony_cipack_jar_file="app_check_tool.jar"
26b8a72a62Sopenharmony_cifastjson_jar_file="fastjson-1.2.83.jar"
27b8a72a62Sopenharmony_cijar_directory="${root_path}/jar"
28b8a72a62Sopenharmony_cipack_jar_path="${root_path}/${jar_dir}/${pack_jar_file}"
29b8a72a62Sopenharmony_cimanifest_path="${root_path}/META-INF/check_tool/MANIFEST.MF"
30b8a72a62Sopenharmony_cicss_path="${root_path}/adapter/ohos/scan_template.css"
31b8a72a62Sopenharmony_cihtml_path="${root_path}/adapter/ohos/scan_template.html"
32b8a72a62Sopenharmony_ci
33b8a72a62Sopenharmony_ciout_dir="${root_path}/out/${toolchain}/check_tool"
34b8a72a62Sopenharmony_ciif [ -d "${out_dir}/ohos" ]
35b8a72a62Sopenharmony_ci    then
36b8a72a62Sopenharmony_ci        echo "${out_dir}/ohos exist"
37b8a72a62Sopenharmony_ci    else
38b8a72a62Sopenharmony_ci        mkdir -p "${out_dir}/ohos"
39b8a72a62Sopenharmony_cifi
40b8a72a62Sopenharmony_ci
41b8a72a62Sopenharmony_cicompile_command="javac -source 1.8 -target 1.8 -cp ${fastjson_jar} -d ${out_dir} ${compile_java}"
42b8a72a62Sopenharmony_cieval ${compile_command}
43b8a72a62Sopenharmony_ci
44b8a72a62Sopenharmony_citemp_dir="$root_path/jar/check_temp_${toolchain}"
45b8a72a62Sopenharmony_ciif [ -d "${temp_dir}" ]
46b8a72a62Sopenharmony_ci    then
47b8a72a62Sopenharmony_ci        echo "${temp_dir} exit"
48b8a72a62Sopenharmony_ci    else
49b8a72a62Sopenharmony_ci        mkdir ${temp_dir}
50b8a72a62Sopenharmony_cifi
51b8a72a62Sopenharmony_ci
52b8a72a62Sopenharmony_cicd ${out_dir}
53b8a72a62Sopenharmony_cicp ${css_path} ./ohos
54b8a72a62Sopenharmony_cicp ${html_path} ./ohos
55b8a72a62Sopenharmony_ciproduct_pack_jar_command="jar -cvfm ${temp_dir}/${pack_jar_file} ${manifest_path} ./ohos"
56b8a72a62Sopenharmony_cieval ${product_pack_jar_command}
57b8a72a62Sopenharmony_ci
58b8a72a62Sopenharmony_ci# merge app_packing_tool.jar and fastjson
59b8a72a62Sopenharmony_cicp ${fastjson_jar} "${temp_dir}/${fastjson_jar_file}"
60b8a72a62Sopenharmony_cidetach_pack_jar_command="jar -xvf ${pack_jar_file}"
61b8a72a62Sopenharmony_cidetach_fastjson_jar_command="jar -xvf ${fastjson_jar_file}"
62b8a72a62Sopenharmony_cicd ${temp_dir}
63b8a72a62Sopenharmony_cieval ${detach_pack_jar_command}
64b8a72a62Sopenharmony_cieval ${detach_fastjson_jar_command}
65b8a72a62Sopenharmony_cirm ${pack_jar_file}
66b8a72a62Sopenharmony_cirm ${fastjson_jar_file}
67b8a72a62Sopenharmony_ci
68b8a72a62Sopenharmony_cicd ${jar_directory}
69b8a72a62Sopenharmony_citemp_pack_jar_dir="${root_path}/jar/checktool_${toolchain}"
70b8a72a62Sopenharmony_citemp_pack_jar_path="${root_path}/jar/checktool_${toolchain}/${pack_jar_file}"
71b8a72a62Sopenharmony_cimerge_pack_fast_jar_command="jar -cvfm ${temp_pack_jar_path} ${manifest_path} -C ${temp_dir} ."
72b8a72a62Sopenharmony_ciif [ -d "${temp_pack_jar_dir}" ]
73b8a72a62Sopenharmony_ci    then
74b8a72a62Sopenharmony_ci        echo "${temp_pack_jar_dir} exist"
75b8a72a62Sopenharmony_ci    else
76b8a72a62Sopenharmony_ci        mkdir -p ${temp_pack_jar_dir}
77b8a72a62Sopenharmony_cifi
78b8a72a62Sopenharmony_cieval ${merge_pack_fast_jar_command}
79b8a72a62Sopenharmony_ci
80b8a72a62Sopenharmony_ci# make out dir
81b8a72a62Sopenharmony_cifinal_pack_out_path="${final_path}/${pack_build_out_path}"
82b8a72a62Sopenharmony_cifinal_pack_jar_path="${final_path}/${pack_build_out_jar_path}"
83b8a72a62Sopenharmony_ciif [ -d "$final_pack_out_path" ]
84b8a72a62Sopenharmony_ci    then
85b8a72a62Sopenharmony_ci        echo "${final_pack_out_path} exist"
86b8a72a62Sopenharmony_ci    else 
87b8a72a62Sopenharmony_ci        mkdir -p ${final_pack_out_path}
88b8a72a62Sopenharmony_cifi
89b8a72a62Sopenharmony_cicopy_command="cp ${temp_pack_jar_path} ${final_pack_jar_path}"
90b8a72a62Sopenharmony_cieval ${copy_command}
91b8a72a62Sopenharmony_ciif [ -f "${pack_jar_file}"]
92b8a72a62Sopenharmony_ci    then
93b8a72a62Sopenharmony_ci        echo "${pack_jar_file} exist"
94b8a72a62Sopenharmony_ci    else
95b8a72a62Sopenharmony_ci        cp ${temp_pack_jar_path} ${pack_jar_file}
96b8a72a62Sopenharmony_cifi
97b8a72a62Sopenharmony_cirm -rf ${temp_pack_jar_dir}
98b8a72a62Sopenharmony_cirm -rf ${temp_dir}
99b8a72a62Sopenharmony_cirm -rf ${out_dir}
100