# 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/arkui/ace_engine/ace_config.gni")

if (!is_arkui_x) {
  ohos_ndk_headers("ace_header") {
    dest_dir = "$ndk_headers_out_dir/ace/xcomponent/"
    sources = [
      "native_interface_xcomponent.h",
      "native_xcomponent_key_event.h",
    ]
  }

  ohos_ndk_headers("arkui_header") {
    dest_dir = "$ndk_headers_out_dir/arkui/"
    sources = [
      "drag_and_drop.h",
      "drawable_descriptor.h",
      "error_code.h",
      "native_animate.h",
      "native_dialog.h",
      "native_gesture.h",
      "native_interface.h",
      "native_interface_accessibility.h",
      "native_interface_focus.h",
      "native_key_event.h",
      "native_material.h",
      "native_node.h",
      "native_node_ani.h",
      "native_node_napi.h",
      "native_render.h",
      "native_type.h",
      "native_type_visual.h",
      "node_attributes",
      "styled_string.h",
      "ui_input_event.h",
    ]
  }

  ohos_ndk_library("libace_ndk") {
    ndk_description_file = "./libace.ndk.json"
    min_compact_version = "7"
    output_name = "ace_ndk"
    system_capability = "SystemCapability.ArkUI.ArkUI.Full"
    system_capability_headers = [
      "arkui/drag_and_drop.h",
      "arkui/drawable_descriptor.h",
      "arkui/error_code.h",
      "arkui/native_animate.h",
      "arkui/native_dialog.h",
      "arkui/native_gesture.h",
      "arkui/native_interface.h",
      "arkui/native_interface_accessibility.h",
      "arkui/native_interface_focus.h",
      "arkui/native_key_event.h",
      "arkui/native_material.h",
      "arkui/native_node.h",
      "arkui/native_node_napi.h",
      "arkui/native_render.h",
      "arkui/native_type.h",
      "arkui/native_type_visual.h",
      "arkui/node_attributes/layout.h",
      "arkui/node_attributes/button.h",
      "arkui/node_attributes/checkbox.h",
      "arkui/node_attributes/slider.h",
      "arkui/node_attributes/navigation_router.h",
      "arkui/node_attributes/image.h",
      "arkui/node_attributes/image_animator.h",
      "arkui/node_attributes/custom_attributes.h",
      "arkui/node_attributes/picker.h",
      "arkui/node_attributes/grid.h",
      "arkui/node_attributes/list.h",
      "arkui/node_attributes/scroll.h",
      "arkui/node_attributes/swiper.h",
      "arkui/node_attributes/common_attributes.h",
      "arkui/node_attributes/water_flow.h",
      "arkui/node_attributes/embedded_component.h",
      "arkui/node_attributes/custom_span.h",
      "arkui/node_attributes/image_span.h",
      "arkui/node_attributes/progress.h",
      "arkui/node_attributes/rich_editor.h",
      "arkui/node_attributes/text.h",
      "arkui/node_attributes/text_area.h",
      "arkui/node_attributes/text_common.h",
      "arkui/node_attributes/text_input.h",
      "arkui/node_attributes/xcomponent.h",
      "arkui/styled_string.h",
      "arkui/ui_input_event.h",
      "ace/xcomponent/native_interface_xcomponent.h",
      "ace/xcomponent/native_xcomponent_key_event.h",
    ]
  }
}