17a9a4b8fSopenharmony_ci# Copyright (C) 2022 Huawei Device Co., Ltd.
27a9a4b8fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
37a9a4b8fSopenharmony_ci# you may not use this file except in compliance with the License.
47a9a4b8fSopenharmony_ci# You may obtain a copy of the License at
57a9a4b8fSopenharmony_ci#
67a9a4b8fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
77a9a4b8fSopenharmony_ci#
87a9a4b8fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
97a9a4b8fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
107a9a4b8fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
117a9a4b8fSopenharmony_ci# See the License for the specific language governing permissions and
127a9a4b8fSopenharmony_ci# limitations under the License.
137a9a4b8fSopenharmony_ci
147a9a4b8fSopenharmony_ciimport("//build/ohos.gni")
157a9a4b8fSopenharmony_ciimport("//build/ohos/ace/ace.gni")
167a9a4b8fSopenharmony_ciimport("//foundation/resourceschedule/work_scheduler/workscheduler.gni")
177a9a4b8fSopenharmony_ci
187a9a4b8fSopenharmony_ciconfig("worksched_public_config") {
197a9a4b8fSopenharmony_ci  include_dirs = [ "${worksched_root_path}/interfaces/kits/js/napi/include" ]
207a9a4b8fSopenharmony_ci}
217a9a4b8fSopenharmony_ci
227a9a4b8fSopenharmony_ciohos_shared_library("workscheduler") {
237a9a4b8fSopenharmony_ci  branch_protector_ret = "pac_ret"
247a9a4b8fSopenharmony_ci
257a9a4b8fSopenharmony_ci  sanitize = {
267a9a4b8fSopenharmony_ci    cfi = true
277a9a4b8fSopenharmony_ci    cfi_cross_dso = true
287a9a4b8fSopenharmony_ci    debug = false
297a9a4b8fSopenharmony_ci  }
307a9a4b8fSopenharmony_ci  public_configs = [ ":worksched_public_config" ]
317a9a4b8fSopenharmony_ci
327a9a4b8fSopenharmony_ci  sources = [
337a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/common.cpp",
347a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/common_want.cpp",
357a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/get_work_status.cpp",
367a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/init.cpp",
377a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/is_last_work_time_out.cpp",
387a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/obtain_all_works.cpp",
397a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/start_work.cpp",
407a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/stop_and_clear_works.cpp",
417a9a4b8fSopenharmony_ci    "${worksched_root_path}/interfaces/kits/js/napi/src/stop_work.cpp",
427a9a4b8fSopenharmony_ci  ]
437a9a4b8fSopenharmony_ci
447a9a4b8fSopenharmony_ci  deps = [
457a9a4b8fSopenharmony_ci    "${worksched_frameworks_path}:workschedclient",
467a9a4b8fSopenharmony_ci    "${worksched_utils_path}:workschedutils",
477a9a4b8fSopenharmony_ci  ]
487a9a4b8fSopenharmony_ci
497a9a4b8fSopenharmony_ci  external_deps = [
507a9a4b8fSopenharmony_ci    "ability_base:base",
517a9a4b8fSopenharmony_ci    "ability_base:want",
527a9a4b8fSopenharmony_ci    "hilog:libhilog",
537a9a4b8fSopenharmony_ci    "napi:ace_napi",
547a9a4b8fSopenharmony_ci  ]
557a9a4b8fSopenharmony_ci
567a9a4b8fSopenharmony_ci  relative_install_dir = "module/resourceschedule"
577a9a4b8fSopenharmony_ci  part_name = "${worksched_native_part_name}"
587a9a4b8fSopenharmony_ci  subsystem_name = "resourceschedule"
597a9a4b8fSopenharmony_ci}
60