1b8a72a62Sopenharmony_ci#!/usr/bin/env bash
2b8a72a62Sopenharmony_ci# Copyright (c) 2022-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_ciunpack_build_out_jar_path=$2
18b8a72a62Sopenharmony_ciunpack_build_out_path=$3
19b8a72a62Sopenharmony_cibig_version=$4
20b8a72a62Sopenharmony_citoolchain=$5
21b8a72a62Sopenharmony_cicompile_java=$6
22b8a72a62Sopenharmony_cifastjson_jar=$7
23b8a72a62Sopenharmony_cifinal_path=$(pwd)
24b8a72a62Sopenharmony_ci
25b8a72a62Sopenharmony_cijar_dir="jar"
26b8a72a62Sopenharmony_ciunpack_jar_file="app_unpacking_tool.jar"
27b8a72a62Sopenharmony_cijar_directory="${root_path}/${jar_dir}"
28b8a72a62Sopenharmony_ciunpack_jar_path="${root_path}/${jar_dir}/${unpack_jar_file}"
29b8a72a62Sopenharmony_cimanifest_path="${root_path}/META-INF/unpacking_tool/MANIFEST.MF"
30b8a72a62Sopenharmony_ciout_dir="${root_path}/out/${toolchain}/unpacking_tool"
31b8a72a62Sopenharmony_ciif [ -d "${out_dir}/ohos" ]
32b8a72a62Sopenharmony_ci    then
33b8a72a62Sopenharmony_ci        echo "${out_dir}/ohos exist"
34b8a72a62Sopenharmony_ci    else
35b8a72a62Sopenharmony_ci        mkdir -p "${out_dir}/ohos"
36b8a72a62Sopenharmony_cifi
37b8a72a62Sopenharmony_ci
38b8a72a62Sopenharmony_ciunpack_out_jar_path="${final_path}/${unpack_build_out_jar_path}"
39b8a72a62Sopenharmony_ciunpack_out_path="${final_path}/${unpack_build_out_path}"
40b8a72a62Sopenharmony_ci
41b8a72a62Sopenharmony_ciif [ "$big_version" == "true" ]
42b8a72a62Sopenharmony_ci    then
43b8a72a62Sopenharmony_ci        compile_command="javac --release 8 -cp ${fastjson_jar}  -d ${out_dir} ${compile_java}"
44b8a72a62Sopenharmony_ci        eval ${compile_command}
45b8a72a62Sopenharmony_ci    else
46b8a72a62Sopenharmony_ci        compile_command="javac -source 1.8 -target 1.8 -cp ${fastjson_jar}  -d ${out_dir} ${compile_java}"
47b8a72a62Sopenharmony_ci        eval ${compile_command}
48b8a72a62Sopenharmony_cifi
49b8a72a62Sopenharmony_ci
50b8a72a62Sopenharmony_cicd $out_dir
51b8a72a62Sopenharmony_citemp_unpack_jar_path="${root_path}/${jar_dir}/unpack_${toolchain}/${unpack_jar_file}"
52b8a72a62Sopenharmony_citemp_unpack_jart_dir="${root_path}/${jar_dir}/unpack_${toolchain}"
53b8a72a62Sopenharmony_ciproduct_unpack_jar_command="jar -cvfm ${temp_unpack_jar_path} $manifest_path ./ohos"
54b8a72a62Sopenharmony_ciif [ -d "${temp_unpack_jart_dir}" ]
55b8a72a62Sopenharmony_ci    then
56b8a72a62Sopenharmony_ci        echo "${temp_unpack_jart_dir} exist"
57b8a72a62Sopenharmony_ci    else
58b8a72a62Sopenharmony_ci        mkdir -p "${temp_unpack_jart_dir}"
59b8a72a62Sopenharmony_cifi
60b8a72a62Sopenharmony_cieval ${product_unpack_jar_command}
61b8a72a62Sopenharmony_ciif [ -f "${unpack_jar_path}" ]
62b8a72a62Sopenharmony_ci    then
63b8a72a62Sopenharmony_ci        echo "${unpack_jar_path} exist"
64b8a72a62Sopenharmony_ci    else
65b8a72a62Sopenharmony_ci        cp ${temp_unpack_jar_path} ${unpack_jar_path}
66b8a72a62Sopenharmony_cifi
67b8a72a62Sopenharmony_ci# make out dir
68b8a72a62Sopenharmony_ciif [ -d "$unpack_out_path" ]
69b8a72a62Sopenharmony_ci    then
70b8a72a62Sopenharmony_ci        echo "$unpack_out_path exist"
71b8a72a62Sopenharmony_ci    else 
72b8a72a62Sopenharmony_ci        mkdir -p $unpack_out_path
73b8a72a62Sopenharmony_cifi
74b8a72a62Sopenharmony_cicopy_command="cp ${temp_unpack_jar_path} ${unpack_out_jar_path}"
75b8a72a62Sopenharmony_cieval ${copy_command}
76b8a72a62Sopenharmony_cirm -rf ${temp_unpack_jart_dir}