niobe/build/lite/config/hap_pack.gni

143 lines
3.8 KiB
Plaintext
Executable File

# Copyright (c) 2020 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build/lite/config/subsystem/aafwk/path.gni")
declare_args() {
ohos_sign_haps_by_server = false
hapsigner = "//prebuilts/signcenter/hapsigntool/hapsigntoolv2.jar"
packtool = "//developtools/packing_tool/jar/hmos_app_packing_tool.jar"
jks_file = "//prebuilts/signcenter/key/OpenHarmony.p12"
cert_file = "//prebuilts/signcenter/certificates/OpenHarmonyApplication.pem"
default_hap_signature_algorithm = "SHA256withECDSA"
sign_server = "rnd-signserver.huawei.com"
privatekey = "OpenHarmony Application Release"
keystorepasswd = "123456"
}
template("hap_pack") {
assert(defined(invoker.cert_profile), "cert_profile in required.")
assert(defined(invoker.hap_name), "hap_name in required.")
assert(defined(invoker.privatekey), "privatekey in required.")
if(ohos_sign_haps_by_server == false) {
invoker.privatekey = "OpenHarmony Application Release"
}
unsignhap_path =
"$root_out_dir/system/internal/unsigned_${invoker.hap_name}.hap"
signhap_path = "$root_out_dir/system/internal/${invoker.hap_name}.hap"
action(target_name) {
if (defined(invoker.deps)) {
deps = []
deps += invoker.deps
}
script = "//build/lite/hap_pack.py"
args = [
"--packing-tool-path",
rebase_path(packtool),
]
if (defined(invoker.mode)) {
args += [
"--mode",
invoker.mode,
]
}
if (defined(invoker.json_path)) {
args += [
"--json-path",
rebase_path(invoker.json_path),
]
}
if (defined(invoker.resources_path)) {
args += [
"--resources-path",
rebase_path(invoker.resources_path),
]
}
if (defined(invoker.assets_path)) {
args += [
"--assets-path",
rebase_path(invoker.assets_path),
]
}
if (defined(invoker.lib_path)) {
args += [
"--lib-path",
rebase_path(invoker.lib_path),
]
}
if (defined(invoker.shared_libs_path)) {
args += [
"--shared-libs-path",
rebase_path(invoker.shared_libs_path),
]
}
if (defined(invoker.ability_so_path)) {
args += [
"--ability-so-path",
rebase_path(invoker.ability_so_path),
]
}
if (defined(invoker.index_path)) {
args += [
"--index-path",
rebase_path(invoker.index_path),
]
}
if (defined(invoker.force)) {
args += [
"--force",
invoker.force,
]
}
args += [
"--signtool-path",
rebase_path(hapsigner),
"--privatekey",
invoker.privatekey,
"--sign-algo",
default_hap_signature_algorithm,
"--unsignhap-path",
rebase_path(unsignhap_path),
"--signhap-path",
rebase_path(signhap_path),
"--sign-server",
sign_server,
"--jks-path",
rebase_path(jks_file),
"--cert-path",
rebase_path(cert_file),
]
if (ohos_sign_haps_by_server) {
args += [
"--sign-by-server",
"True",
]
} else {
args += [
"--sign-by-server",
"False",
]
}
if (defined(invoker.cert_profile)) {
args += [
"--cert-profile",
rebase_path(invoker.cert_profile),
]
}
outputs = [ "$target_out_dir/${target_name}_build_log.txt" ]
}
}