# Copyright (c) 2021-2022 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/ohos.gni") import( "//foundation/distributeddatamgr/distributedfile/distributedfile_aafwk.gni") file_common_src = [ "src/common/file_helper/fd_guard.cpp", "src/common/napi/n_async/n_async_work_callback.cpp", "src/common/napi/n_async/n_async_work_promise.cpp", "src/common/napi/n_async/n_ref.cpp", "src/common/napi/n_class.cpp", "src/common/napi/n_func_arg.cpp", "src/common/napi/n_val.cpp", "src/common/uni_error.cpp", ] ohos_shared_library("fileio") { subsystem_name = "distributeddatamgr" part_name = "distributedfilejs" relative_install_dir = "module" include_dirs = [ "//third_party/node/src", "//foundation/arkui/napi/interfaces/kits", "//third_party/bounds_checking_function/include", "//third_party/libuv/include", "//third_party/openssl/include", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/napi", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/napi/n_async", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/file_helper", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/native/remote_uri", ] sources = file_common_src sources += [ "src/common/file_helper/hash_file.cpp", "src/mod_fileio/class_constants/constants.cpp", "src/mod_fileio/class_dir/dir_n_exporter.cpp", "src/mod_fileio/class_dirent/dirent_n_exporter.cpp", "src/mod_fileio/class_randomaccessfile/randomaccessfile_n_exporter.cpp", "src/mod_fileio/class_stat/stat_n_exporter.cpp", "src/mod_fileio/class_stream/flush.cpp", "src/mod_fileio/class_stream/stream_n_exporter.cpp", "src/mod_fileio/class_watcher/watcher_n_exporter.cpp", "src/mod_fileio/common_func.cpp", "src/mod_fileio/module.cpp", "src/mod_fileio/properties/chmod.cpp", "src/mod_fileio/properties/chown.cpp", "src/mod_fileio/properties/close.cpp", "src/mod_fileio/properties/copy_file.cpp", "src/mod_fileio/properties/create_randomaccessfile.cpp", "src/mod_fileio/properties/create_stream.cpp", "src/mod_fileio/properties/fchmod.cpp", "src/mod_fileio/properties/fchown.cpp", "src/mod_fileio/properties/fdatasync.cpp", "src/mod_fileio/properties/fdopen_stream.cpp", "src/mod_fileio/properties/fstat.cpp", "src/mod_fileio/properties/fsync.cpp", "src/mod_fileio/properties/ftruncate.cpp", "src/mod_fileio/properties/hash.cpp", "src/mod_fileio/properties/lchown.cpp", "src/mod_fileio/properties/link.cpp", "src/mod_fileio/properties/lseek.cpp", "src/mod_fileio/properties/lstat.cpp", "src/mod_fileio/properties/mkdtemp.cpp", "src/mod_fileio/properties/open.cpp", "src/mod_fileio/properties/open_dir.cpp", "src/mod_fileio/properties/posix_fallocate.cpp", "src/mod_fileio/properties/prop_n_exporter.cpp", "src/mod_fileio/properties/read_dir.cpp", "src/mod_fileio/properties/read_text.cpp", "src/mod_fileio/properties/rename.cpp", "src/mod_fileio/properties/rmdir.cpp", "src/mod_fileio/properties/rmdirent.cpp", "src/mod_fileio/properties/stat.cpp", "src/mod_fileio/properties/symlink.cpp", "src/mod_fileio/properties/truncate.cpp", "src/mod_fileio/properties/watcher.cpp", ] deps = [ "//foundation/arkui/napi:ace_napi", "//third_party/bounds_checking_function:libsec_static", "//third_party/openssl:libcrypto_static", ] external_deps = [ "hilog:libhilog" ] } ohos_shared_library("file") { subsystem_name = "distributeddatamgr" part_name = "distributedfilejs" relative_install_dir = "module" include_dirs = [ "//third_party/node/src", "//foundation/arkui/napi/interfaces/kits", "//third_party/bounds_checking_function/include", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/napi", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/napi/n_async", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/file_helper", ] sources = file_common_src sources += [ "src/common/ability_helper.cpp", "src/mod_file/class_file/file_n_exporter.cpp", "src/mod_file/common_func.cpp", "src/mod_file/module.cpp", ] deps = [ "${ability_runtime_path}/frameworks/native/ability/native:abilitykit_native", "//foundation/arkui/napi:ace_napi", "//third_party/bounds_checking_function:libsec_static", ] external_deps = [ "hilog:libhilog" ] } ohos_shared_library("statfs") { subsystem_name = "distributeddatamgr" part_name = "distributedfilejs" relative_install_dir = "module" sources = [ "src/mod_statfs/statfs_n_exporter.cpp", "src/mod_statfs/statfs_napi.cpp", ] deps = [ "//foundation/distributeddatamgr/distributedfile/utils/filemgmt_libhilog", "//foundation/distributeddatamgr/distributedfile/utils/filemgmt_libn", ] } ohos_shared_library("environment") { subsystem_name = "distributeddatamgr" part_name = "distributedfilejs" relative_install_dir = "module" include_dirs = [ "//third_party/node/src", "//foundation/arkui/napi/interfaces/kits", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/napi/n_async", ] sources = [ "src/common/napi/n_async/n_async_work_callback.cpp", "src/common/napi/n_async/n_async_work_promise.cpp", "src/common/napi/n_async/n_ref.cpp", "src/common/napi/n_func_arg.cpp", "src/common/napi/n_val.cpp", "src/common/uni_error.cpp", "src/mod_environment/environment_n_exporter.cpp", "src/mod_environment/environment_napi.cpp", ] deps = [ "//foundation/arkui/napi:ace_napi" ] external_deps = [ "hilog:libhilog" ] } ohos_shared_library("securitylabel") { subsystem_name = "distributeddatamgr" part_name = "distributedfilejs" relative_install_dir = "module" cflags = [ "-Wno-format" ] include_dirs = [ "//foundation/arkui/napi/interfaces/kits", "//foundation/arkui/ace_engine/frameworks/base/utils", "//foundation/arkui/ace_engine/frameworks", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/napi/n_async", ] sources = file_common_src sources += [ "src/mod_securitylabel/securitylabel_n_exporter.cpp", "src/mod_securitylabel/securitylabel_napi.cpp", ] deps = [ "//foundation/arkui/napi:ace_napi" ] external_deps = [ "hilog:libhilog" ] } ohos_shared_library("document") { subsystem_name = "distributeddatamgr" part_name = "distributedfilejs" relative_install_dir = "module" include_dirs = [ "//third_party/node/src", "//foundation/arkui/napi/interfaces/kits", "//foundation/distributeddatamgr/distributedfile/interfaces/kits/js/src/common/napi/n_async", ] sources = [ "src/common/napi/n_async/n_async_work_callback.cpp", "src/common/napi/n_async/n_async_work_promise.cpp", "src/common/napi/n_async/n_ref.cpp", "src/common/napi/n_func_arg.cpp", "src/common/napi/n_val.cpp", "src/common/uni_error.cpp", "src/mod_document/document_n_exporter.cpp", "src/mod_document/document_napi.cpp", ] deps = [ "//foundation/arkui/napi:ace_napi" ] external_deps = [ "hilog:libhilog" ] } group("build_kits_js") { deps = [ ":document", ":environment", ":file", ":fileio", ":securitylabel", ":statfs", ] }