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}