1# Copyright (c) 2023 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//build/test.gni") 16 17ohos_rust_shared_library("lib") { 18 crate_name = "ylong_json" 19 crate_type = "dylib" 20 crate_root = "src/lib.rs" 21 22 subsystem_name = "commonlibrary" 23 part_name = "ylong_json" 24 25 sources = [ "src/lib.rs" ] 26 27 deps = [ "//third_party/rust/crates/serde/serde:lib" ] 28 29 external_deps = [ "rust_libc:lib" ] 30 31 features = [ 32 "default", 33 "vec_array", 34 "btree_object", 35 "ascii_only", 36 ] 37} 38 39ohos_rust_unittest("rust_ylong_json_unit_test") { 40 module_out_path = "ylong_json/ylong_json" 41 sources = [ "src/lib.rs" ] 42 deps = [ 43 ":lib", 44 "//third_party/rust/crates/serde/serde:lib", 45 ] 46 47 external_deps = [ "rust_libc:lib" ] 48 49 if (defined(global_parts_info) && 50 !defined(global_parts_info.third_party_rust_serde)) { 51 deps += [ "//third_party/rust/crates/serde/serde:lib" ] 52 } else { 53 external_deps += [ "rust_serde:lib" ] 54 } 55 56 rustflags = [ 57 "--cfg=feature=\"default\"", 58 "--cfg=feature=\"vec_array\"", 59 "--cfg=feature=\"btree_object\"", 60 "--cfg=feature=\"ascii_only\"", 61 ] 62} 63 64group("unittest") { 65 testonly = true 66 deps = [] 67 if (!use_clang_coverage) { 68 deps += [ ":rust_ylong_json_unit_test" ] 69 } 70} 71