1545fdf9bSopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2545fdf9bSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3545fdf9bSopenharmony_ci# you may not use this file except in compliance with the License.
4545fdf9bSopenharmony_ci# You may obtain a copy of the License at
5545fdf9bSopenharmony_ci#
6545fdf9bSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7545fdf9bSopenharmony_ci#
8545fdf9bSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9545fdf9bSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10545fdf9bSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11545fdf9bSopenharmony_ci# See the License for the specific language governing permissions and
12545fdf9bSopenharmony_ci# limitations under the License.
13545fdf9bSopenharmony_ci
14545fdf9bSopenharmony_ciimport("//build/ohos.gni")
15545fdf9bSopenharmony_ciimport("../bundletool.gni")
16545fdf9bSopenharmony_ci
17545fdf9bSopenharmony_ciconfig("tools_bm_config") {
18545fdf9bSopenharmony_ci  include_dirs = [
19545fdf9bSopenharmony_ci    "include",
20545fdf9bSopenharmony_ci    "include/bundle_tool_callback",
21545fdf9bSopenharmony_ci  ]
22545fdf9bSopenharmony_ci
23545fdf9bSopenharmony_ci  defines = [
24545fdf9bSopenharmony_ci    "APP_LOG_TAG = \"BMSTool\"",
25545fdf9bSopenharmony_ci    "LOG_DOMAIN = 0xD001123",
26545fdf9bSopenharmony_ci  ]
27545fdf9bSopenharmony_ci}
28545fdf9bSopenharmony_ci
29545fdf9bSopenharmony_ciohos_source_set("tools_bm_source_set") {
30545fdf9bSopenharmony_ci  sources = [
31545fdf9bSopenharmony_ci    "${common_path}/log/src/app_log_wrapper.cpp",
32545fdf9bSopenharmony_ci    "${kits_path}/js/bundlemgr/bundle_death_recipient.cpp",
33545fdf9bSopenharmony_ci    "src/bundle_command.cpp",
34545fdf9bSopenharmony_ci    "src/bundle_command_common.cpp",
35545fdf9bSopenharmony_ci    "src/main.cpp",
36545fdf9bSopenharmony_ci    "src/quick_fix_command.cpp",
37545fdf9bSopenharmony_ci    "src/quick_fix_status_callback_host_impl.cpp",
38545fdf9bSopenharmony_ci    "src/shell_command.cpp",
39545fdf9bSopenharmony_ci    "src/status_receiver_impl.cpp",
40545fdf9bSopenharmony_ci  ]
41545fdf9bSopenharmony_ci
42545fdf9bSopenharmony_ci  public_configs = [ ":tools_bm_config" ]
43545fdf9bSopenharmony_ci
44545fdf9bSopenharmony_ci  cflags = []
45545fdf9bSopenharmony_ci  if (target_cpu == "arm") {
46545fdf9bSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
47545fdf9bSopenharmony_ci  }
48545fdf9bSopenharmony_ci
49545fdf9bSopenharmony_ci  external_deps = [
50545fdf9bSopenharmony_ci    "ability_base:want",
51545fdf9bSopenharmony_ci    "ability_runtime:app_manager",
52545fdf9bSopenharmony_ci    "ability_runtime:quickfix_manager",
53545fdf9bSopenharmony_ci    "bundle_framework:appexecfwk_base",
54545fdf9bSopenharmony_ci    "bundle_framework:appexecfwk_core",
55545fdf9bSopenharmony_ci    "c_utils:utils",
56545fdf9bSopenharmony_ci    "common_event_service:cesfwk_innerkits",
57545fdf9bSopenharmony_ci    "hilog:libhilog",
58545fdf9bSopenharmony_ci    "init:libbegetutil",
59545fdf9bSopenharmony_ci    "ipc:ipc_core",
60545fdf9bSopenharmony_ci    "os_account:os_account_innerkits",
61545fdf9bSopenharmony_ci    "samgr:samgr_proxy",
62545fdf9bSopenharmony_ci  ]
63545fdf9bSopenharmony_ci
64545fdf9bSopenharmony_ci  public_external_deps = [
65545fdf9bSopenharmony_ci    "bundle_framework:bundle_napi_common",
66545fdf9bSopenharmony_ci    "bundle_framework:libappexecfwk_common",
67545fdf9bSopenharmony_ci    "json:nlohmann_json_static",
68545fdf9bSopenharmony_ci  ]
69545fdf9bSopenharmony_ci
70545fdf9bSopenharmony_ci  defines = []
71545fdf9bSopenharmony_ci  if (account_enable_bm) {
72545fdf9bSopenharmony_ci    external_deps += [ "os_account:os_account_innerkits" ]
73545fdf9bSopenharmony_ci    defines += [ "ACCOUNT_ENABLE" ]
74545fdf9bSopenharmony_ci  }
75545fdf9bSopenharmony_ci
76545fdf9bSopenharmony_ci  if (overlay_install_bm) {
77545fdf9bSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_OVERLAY_INSTALLATION" ]
78545fdf9bSopenharmony_ci  }
79545fdf9bSopenharmony_ci
80545fdf9bSopenharmony_ci  subsystem_name = "bundlemanager"
81545fdf9bSopenharmony_ci  part_name = "bundle_tool"
82545fdf9bSopenharmony_ci}
83545fdf9bSopenharmony_ci
84545fdf9bSopenharmony_ciohos_executable("bm") {
85545fdf9bSopenharmony_ci  deps = [ ":tools_bm_source_set" ]
86545fdf9bSopenharmony_ci
87545fdf9bSopenharmony_ci  external_deps = [ "hilog:libhilog" ]
88545fdf9bSopenharmony_ci
89545fdf9bSopenharmony_ci  install_enable = true
90545fdf9bSopenharmony_ci
91545fdf9bSopenharmony_ci  subsystem_name = "bundlemanager"
92545fdf9bSopenharmony_ci  part_name = "bundle_tool"
93545fdf9bSopenharmony_ci}
94545fdf9bSopenharmony_ci
95545fdf9bSopenharmony_ciohos_source_set("tools_test_bm_source_set") {
96545fdf9bSopenharmony_ci  sources = [
97545fdf9bSopenharmony_ci    "${common_path}/log/src/app_log_wrapper.cpp",
98545fdf9bSopenharmony_ci    "${kits_path}/js/bundlemgr/bundle_death_recipient.cpp",
99545fdf9bSopenharmony_ci    "src/bundle_command_common.cpp",
100545fdf9bSopenharmony_ci    "src/bundle_test_tool.cpp",
101545fdf9bSopenharmony_ci    "src/bundle_tool_callback/bundle_tool_callback_stub.cpp",
102545fdf9bSopenharmony_ci    "src/main_test_tool.cpp",
103545fdf9bSopenharmony_ci    "src/shell_command.cpp",
104545fdf9bSopenharmony_ci    "src/status_receiver_impl.cpp",
105545fdf9bSopenharmony_ci  ]
106545fdf9bSopenharmony_ci
107545fdf9bSopenharmony_ci  public_configs = [ ":tools_bm_config" ]
108545fdf9bSopenharmony_ci
109545fdf9bSopenharmony_ci  cflags = []
110545fdf9bSopenharmony_ci  if (target_cpu == "arm") {
111545fdf9bSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
112545fdf9bSopenharmony_ci  }
113545fdf9bSopenharmony_ci
114545fdf9bSopenharmony_ci  use_exceptions = true
115545fdf9bSopenharmony_ci
116545fdf9bSopenharmony_ci  deps = []
117545fdf9bSopenharmony_ci
118545fdf9bSopenharmony_ci  external_deps = [
119545fdf9bSopenharmony_ci    "ability_base:want",
120545fdf9bSopenharmony_ci    "bundle_framework:appexecfwk_base",
121545fdf9bSopenharmony_ci    "bundle_framework:appexecfwk_core",
122545fdf9bSopenharmony_ci    "c_utils:utils",
123545fdf9bSopenharmony_ci    "common_event_service:cesfwk_innerkits",
124545fdf9bSopenharmony_ci    "hilog:libhilog",
125545fdf9bSopenharmony_ci    "init:libbegetutil",
126545fdf9bSopenharmony_ci    "ipc:ipc_core",
127545fdf9bSopenharmony_ci    "jsoncpp:jsoncpp",
128545fdf9bSopenharmony_ci    "os_account:os_account_innerkits",
129545fdf9bSopenharmony_ci    "samgr:samgr_proxy",
130545fdf9bSopenharmony_ci  ]
131545fdf9bSopenharmony_ci
132545fdf9bSopenharmony_ci  public_external_deps = [
133545fdf9bSopenharmony_ci    "bundle_framework:bundle_napi_common",
134545fdf9bSopenharmony_ci    "bundle_framework:libappexecfwk_common",
135545fdf9bSopenharmony_ci    "json:nlohmann_json_static",
136545fdf9bSopenharmony_ci  ]
137545fdf9bSopenharmony_ci
138545fdf9bSopenharmony_ci  defines = []
139545fdf9bSopenharmony_ci  if (quick_fix_bm) {
140545fdf9bSopenharmony_ci    defines += [ "BUNDLE_FRAMEWORK_QUICK_FIX" ]
141545fdf9bSopenharmony_ci    sources += [ "src/quick_fix_status_callback_host_impl.cpp" ]
142545fdf9bSopenharmony_ci  }
143545fdf9bSopenharmony_ci
144545fdf9bSopenharmony_ci  if (account_enable_bm) {
145545fdf9bSopenharmony_ci    external_deps += [ "os_account:os_account_innerkits" ]
146545fdf9bSopenharmony_ci    defines += [ "ACCOUNT_ENABLE" ]
147545fdf9bSopenharmony_ci  }
148545fdf9bSopenharmony_ci
149545fdf9bSopenharmony_ci  if (distributed_bundle_framework_bm) {
150545fdf9bSopenharmony_ci    external_deps += [ "distributed_bundle_framework:dbms_fwk" ]
151545fdf9bSopenharmony_ci    defines += [ "DISTRIBUTED_BUNDLE_FRAMEWORK" ]
152545fdf9bSopenharmony_ci  }
153545fdf9bSopenharmony_ci
154545fdf9bSopenharmony_ci  subsystem_name = "bundlemanager"
155545fdf9bSopenharmony_ci  part_name = "bundle_tool"
156545fdf9bSopenharmony_ci}
157545fdf9bSopenharmony_ci
158545fdf9bSopenharmony_ciohos_executable("bundle_test_tool") {
159545fdf9bSopenharmony_ci  deps = [ ":tools_test_bm_source_set" ]
160545fdf9bSopenharmony_ci
161545fdf9bSopenharmony_ci  install_enable = false
162545fdf9bSopenharmony_ci
163545fdf9bSopenharmony_ci  external_deps = [ "hilog:libhilog" ]
164545fdf9bSopenharmony_ci
165545fdf9bSopenharmony_ci  subsystem_name = "bundlemanager"
166545fdf9bSopenharmony_ci  part_name = "bundle_tool"
167545fdf9bSopenharmony_ci}
168545fdf9bSopenharmony_ci
169545fdf9bSopenharmony_cigroup("tools_bm") {
170545fdf9bSopenharmony_ci  deps = [
171545fdf9bSopenharmony_ci    ":bm",
172545fdf9bSopenharmony_ci    ":bundle_test_tool",
173545fdf9bSopenharmony_ci  ]
174545fdf9bSopenharmony_ci}
175