16dbb5987Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
26dbb5987Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
36dbb5987Sopenharmony_ci# you may not use this file except in compliance with the License.
46dbb5987Sopenharmony_ci# You may obtain a copy of the License at
56dbb5987Sopenharmony_ci#
66dbb5987Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
76dbb5987Sopenharmony_ci#
86dbb5987Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
96dbb5987Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
106dbb5987Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
116dbb5987Sopenharmony_ci# See the License for the specific language governing permissions and
126dbb5987Sopenharmony_ci# limitations under the License.
136dbb5987Sopenharmony_ci
146dbb5987Sopenharmony_ciimport("//build/ohos.gni")
156dbb5987Sopenharmony_ciimport("//build/test.gni")
166dbb5987Sopenharmony_ci
176dbb5987Sopenharmony_ciohos_rust_shared_library("ylong_http_client_inner") {
186dbb5987Sopenharmony_ci  part_name = "ylong_http"
196dbb5987Sopenharmony_ci  subsystem_name = "commonlibrary"
206dbb5987Sopenharmony_ci
216dbb5987Sopenharmony_ci  crate_name = "ylong_http_client_inner"
226dbb5987Sopenharmony_ci  edition = "2021"
236dbb5987Sopenharmony_ci
246dbb5987Sopenharmony_ci  features = [
256dbb5987Sopenharmony_ci    "async",
266dbb5987Sopenharmony_ci    "c_openssl_3_0",
276dbb5987Sopenharmony_ci    "http1_1",
286dbb5987Sopenharmony_ci    "http2",
296dbb5987Sopenharmony_ci    "ylong_base",
306dbb5987Sopenharmony_ci    "__c_openssl",
316dbb5987Sopenharmony_ci    "__tls",
326dbb5987Sopenharmony_ci  ]
336dbb5987Sopenharmony_ci
346dbb5987Sopenharmony_ci  sources = [ "src/lib.rs" ]
356dbb5987Sopenharmony_ci  deps = [
366dbb5987Sopenharmony_ci    "../ylong_http:ylong_http",
376dbb5987Sopenharmony_ci    "//third_party/rust/crates/libc:lib",
386dbb5987Sopenharmony_ci  ]
396dbb5987Sopenharmony_ci  external_deps = [
406dbb5987Sopenharmony_ci    "openssl:libcrypto_shared",
416dbb5987Sopenharmony_ci    "openssl:libssl_shared",
426dbb5987Sopenharmony_ci    "ylong_runtime:ylong_runtime",
436dbb5987Sopenharmony_ci  ]
446dbb5987Sopenharmony_ci}
456dbb5987Sopenharmony_ci
466dbb5987Sopenharmony_ciohos_rust_unittest("rust_ylong_http_client_test_ut") {
476dbb5987Sopenharmony_ci  module_out_path = "ylong_http/ylong_http_client"
486dbb5987Sopenharmony_ci
496dbb5987Sopenharmony_ci  rustflags = [
506dbb5987Sopenharmony_ci    "--cfg=feature=\"async\"",
516dbb5987Sopenharmony_ci    "--cfg=feature=\"http1_1\"",
526dbb5987Sopenharmony_ci    "--cfg=feature=\"http2\"",
536dbb5987Sopenharmony_ci    "--cfg=feature=\"c_openssl_3_0\"",
546dbb5987Sopenharmony_ci    "--cfg=feature=\"__tls\"",
556dbb5987Sopenharmony_ci    "--cfg=feature=\"__c_openssl\"",
566dbb5987Sopenharmony_ci    "--cfg=feature=\"ylong_base\"",
576dbb5987Sopenharmony_ci  ]
586dbb5987Sopenharmony_ci
596dbb5987Sopenharmony_ci  sources = [ "src/lib.rs" ]
606dbb5987Sopenharmony_ci  deps = [
616dbb5987Sopenharmony_ci    "../ylong_http:ylong_http",
626dbb5987Sopenharmony_ci    "//third_party/rust/crates/libc:lib",
636dbb5987Sopenharmony_ci  ]
646dbb5987Sopenharmony_ci  external_deps = [
656dbb5987Sopenharmony_ci    "openssl:libcrypto_shared",
666dbb5987Sopenharmony_ci    "openssl:libssl_shared",
676dbb5987Sopenharmony_ci    "ylong_runtime:ylong_runtime",
686dbb5987Sopenharmony_ci  ]
696dbb5987Sopenharmony_ci}
706dbb5987Sopenharmony_ci
716dbb5987Sopenharmony_cigroup("unittest") {
726dbb5987Sopenharmony_ci  testonly = true
736dbb5987Sopenharmony_ci  deps = []
746dbb5987Sopenharmony_ci  if (!use_clang_coverage) {
756dbb5987Sopenharmony_ci    deps += [
766dbb5987Sopenharmony_ci      ":rust_ylong_http_client_test_ut",
776dbb5987Sopenharmony_ci      "../ylong_http:rust_ylong_http_test_ut",
786dbb5987Sopenharmony_ci    ]
796dbb5987Sopenharmony_ci  }
806dbb5987Sopenharmony_ci}
81