123b3eb3cSopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 223b3eb3cSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 323b3eb3cSopenharmony_ci# you may not use this file except in compliance with the License. 423b3eb3cSopenharmony_ci# You may obtain a copy of the License at 523b3eb3cSopenharmony_ci# 623b3eb3cSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 723b3eb3cSopenharmony_ci# 823b3eb3cSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 923b3eb3cSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1023b3eb3cSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1123b3eb3cSopenharmony_ci# See the License for the specific language governing permissions and 1223b3eb3cSopenharmony_ci# limitations under the License. 1323b3eb3cSopenharmony_ci 1423b3eb3cSopenharmony_ciimport("//build/ohos.gni") 1523b3eb3cSopenharmony_ciimport("//foundation/arkui/ace_engine/ace_config.gni") 1623b3eb3cSopenharmony_ci 1723b3eb3cSopenharmony_citemplate("bridge_common") { 1823b3eb3cSopenharmony_ci forward_variables_from(invoker, "*") 1923b3eb3cSopenharmony_ci 2023b3eb3cSopenharmony_ci ohos_source_set(target_name) { 2123b3eb3cSopenharmony_ci subsystem_name = ace_engine_subsystem 2223b3eb3cSopenharmony_ci part_name = ace_engine_part 2323b3eb3cSopenharmony_ci defines += invoker.defines 2423b3eb3cSopenharmony_ci 2523b3eb3cSopenharmony_ci configs = [ "$ace_root:ace_config" ] 2623b3eb3cSopenharmony_ci 2723b3eb3cSopenharmony_ci sources = [ 2823b3eb3cSopenharmony_ci # dom 2923b3eb3cSopenharmony_ci "dom/dom_badge.cpp", 3023b3eb3cSopenharmony_ci "dom/dom_button.cpp", 3123b3eb3cSopenharmony_ci "dom/dom_calendar.cpp", 3223b3eb3cSopenharmony_ci "dom/dom_canvas.cpp", 3323b3eb3cSopenharmony_ci "dom/dom_chart.cpp", 3423b3eb3cSopenharmony_ci "dom/dom_clock.cpp", 3523b3eb3cSopenharmony_ci "dom/dom_dialog.cpp", 3623b3eb3cSopenharmony_ci "dom/dom_div.cpp", 3723b3eb3cSopenharmony_ci "dom/dom_divider.cpp", 3823b3eb3cSopenharmony_ci "dom/dom_document.cpp", 3923b3eb3cSopenharmony_ci "dom/dom_form.cpp", 4023b3eb3cSopenharmony_ci "dom/dom_grid_column.cpp", 4123b3eb3cSopenharmony_ci "dom/dom_grid_container.cpp", 4223b3eb3cSopenharmony_ci "dom/dom_grid_row.cpp", 4323b3eb3cSopenharmony_ci "dom/dom_image.cpp", 4423b3eb3cSopenharmony_ci "dom/dom_image_animator.cpp", 4523b3eb3cSopenharmony_ci "dom/dom_input.cpp", 4623b3eb3cSopenharmony_ci "dom/dom_label.cpp", 4723b3eb3cSopenharmony_ci "dom/dom_list.cpp", 4823b3eb3cSopenharmony_ci "dom/dom_list_item.cpp", 4923b3eb3cSopenharmony_ci "dom/dom_list_item_group.cpp", 5023b3eb3cSopenharmony_ci "dom/dom_marquee.cpp", 5123b3eb3cSopenharmony_ci "dom/dom_navigation_bar.cpp", 5223b3eb3cSopenharmony_ci "dom/dom_node.cpp", 5323b3eb3cSopenharmony_ci "dom/dom_panel.cpp", 5423b3eb3cSopenharmony_ci "dom/dom_picker_base.cpp", 5523b3eb3cSopenharmony_ci "dom/dom_picker_view.cpp", 5623b3eb3cSopenharmony_ci "dom/dom_progress.cpp", 5723b3eb3cSopenharmony_ci "dom/dom_proxy.cpp", 5823b3eb3cSopenharmony_ci "dom/dom_qrcode.cpp", 5923b3eb3cSopenharmony_ci "dom/dom_refresh.cpp", 6023b3eb3cSopenharmony_ci "dom/dom_search.cpp", 6123b3eb3cSopenharmony_ci "dom/dom_slider.cpp", 6223b3eb3cSopenharmony_ci "dom/dom_span.cpp", 6323b3eb3cSopenharmony_ci "dom/dom_stack.cpp", 6423b3eb3cSopenharmony_ci "dom/dom_svg.cpp", 6523b3eb3cSopenharmony_ci "dom/dom_svg_animate.cpp", 6623b3eb3cSopenharmony_ci "dom/dom_svg_animate_motion.cpp", 6723b3eb3cSopenharmony_ci "dom/dom_svg_animate_transform.cpp", 6823b3eb3cSopenharmony_ci "dom/dom_svg_base.cpp", 6923b3eb3cSopenharmony_ci "dom/dom_svg_circle.cpp", 7023b3eb3cSopenharmony_ci "dom/dom_svg_defs.cpp", 7123b3eb3cSopenharmony_ci "dom/dom_svg_ellipse.cpp", 7223b3eb3cSopenharmony_ci "dom/dom_svg_fe_colormatrix.cpp", 7323b3eb3cSopenharmony_ci "dom/dom_svg_fe_composite.cpp", 7423b3eb3cSopenharmony_ci "dom/dom_svg_fe_gaussianblur.cpp", 7523b3eb3cSopenharmony_ci "dom/dom_svg_fe_offset.cpp", 7623b3eb3cSopenharmony_ci "dom/dom_svg_filter.cpp", 7723b3eb3cSopenharmony_ci "dom/dom_svg_g.cpp", 7823b3eb3cSopenharmony_ci "dom/dom_svg_line.cpp", 7923b3eb3cSopenharmony_ci "dom/dom_svg_mask.cpp", 8023b3eb3cSopenharmony_ci "dom/dom_svg_path.cpp", 8123b3eb3cSopenharmony_ci "dom/dom_svg_polygon.cpp", 8223b3eb3cSopenharmony_ci "dom/dom_svg_polyline.cpp", 8323b3eb3cSopenharmony_ci "dom/dom_svg_rect.cpp", 8423b3eb3cSopenharmony_ci "dom/dom_svg_text.cpp", 8523b3eb3cSopenharmony_ci "dom/dom_svg_text_path.cpp", 8623b3eb3cSopenharmony_ci "dom/dom_svg_tspan.cpp", 8723b3eb3cSopenharmony_ci "dom/dom_svg_use.cpp", 8823b3eb3cSopenharmony_ci "dom/dom_swiper.cpp", 8923b3eb3cSopenharmony_ci "dom/dom_switch.cpp", 9023b3eb3cSopenharmony_ci "dom/dom_tab_bar.cpp", 9123b3eb3cSopenharmony_ci "dom/dom_tab_content.cpp", 9223b3eb3cSopenharmony_ci "dom/dom_tabs.cpp", 9323b3eb3cSopenharmony_ci "dom/dom_text.cpp", 9423b3eb3cSopenharmony_ci "dom/dom_textarea.cpp", 9523b3eb3cSopenharmony_ci "dom/dom_toggle.cpp", 9623b3eb3cSopenharmony_ci "dom/dom_type.cpp", 9723b3eb3cSopenharmony_ci "dom/input/dom_button_util.cpp", 9823b3eb3cSopenharmony_ci "dom/input/dom_checkbox_util.cpp", 9923b3eb3cSopenharmony_ci "dom/input/dom_radio_util.cpp", 10023b3eb3cSopenharmony_ci "dom/input/dom_textfield_util.cpp", 10123b3eb3cSopenharmony_ci 10223b3eb3cSopenharmony_ci # manifest 10323b3eb3cSopenharmony_ci "manifest/manifest_appinfo.cpp", 10423b3eb3cSopenharmony_ci "manifest/manifest_parser.cpp", 10523b3eb3cSopenharmony_ci "manifest/manifest_router.cpp", 10623b3eb3cSopenharmony_ci "manifest/manifest_widget.cpp", 10723b3eb3cSopenharmony_ci "manifest/manifest_window.cpp", 10823b3eb3cSopenharmony_ci 10923b3eb3cSopenharmony_ci # media query 11023b3eb3cSopenharmony_ci "media_query/media_query_info.cpp", 11123b3eb3cSopenharmony_ci "media_query/media_queryer.cpp", 11223b3eb3cSopenharmony_ci 11323b3eb3cSopenharmony_ci # plugin adapter 11423b3eb3cSopenharmony_ci "plugin_adapter/plugin_bridge.cpp", 11523b3eb3cSopenharmony_ci 11623b3eb3cSopenharmony_ci # utils 11723b3eb3cSopenharmony_ci "utils/engine_helper.cpp", 11823b3eb3cSopenharmony_ci "utils/source_map.cpp", 11923b3eb3cSopenharmony_ci "utils/transform_convertor.cpp", 12023b3eb3cSopenharmony_ci "utils/utils.cpp", 12123b3eb3cSopenharmony_ci ] 12223b3eb3cSopenharmony_ci 12323b3eb3cSopenharmony_ci # rich components needed by phone and TV. wearable like watch do not need them 12423b3eb3cSopenharmony_ci if (defined(config.rich_components_support) && 12523b3eb3cSopenharmony_ci config.rich_components_support) { 12623b3eb3cSopenharmony_ci sources += [ 12723b3eb3cSopenharmony_ci "dom/dom_camera.cpp", 12823b3eb3cSopenharmony_ci "dom/dom_menu.cpp", 12923b3eb3cSopenharmony_ci "dom/dom_navigation_menu.cpp", 13023b3eb3cSopenharmony_ci "dom/dom_option.cpp", 13123b3eb3cSopenharmony_ci "dom/dom_picker_dialog.cpp", 13223b3eb3cSopenharmony_ci "dom/dom_piece.cpp", 13323b3eb3cSopenharmony_ci "dom/dom_popup.cpp", 13423b3eb3cSopenharmony_ci "dom/dom_rating.cpp", 13523b3eb3cSopenharmony_ci "dom/dom_select.cpp", 13623b3eb3cSopenharmony_ci "dom/dom_stepper.cpp", 13723b3eb3cSopenharmony_ci "dom/dom_stepper_item.cpp", 13823b3eb3cSopenharmony_ci "dom/dom_tool_bar.cpp", 13923b3eb3cSopenharmony_ci "dom/dom_tool_bar_item.cpp", 14023b3eb3cSopenharmony_ci ] 14123b3eb3cSopenharmony_ci } 14223b3eb3cSopenharmony_ci 14323b3eb3cSopenharmony_ci if (defined(config.video_components_support) && 14423b3eb3cSopenharmony_ci config.video_components_support) { 14523b3eb3cSopenharmony_ci sources += [ "dom/dom_video.cpp" ] 14623b3eb3cSopenharmony_ci } 14723b3eb3cSopenharmony_ci 14823b3eb3cSopenharmony_ci # xcomponent components supports phone, TV and wearable except PC Preview 14923b3eb3cSopenharmony_ci if (defined(config.xcomponent_components_support) && 15023b3eb3cSopenharmony_ci config.xcomponent_components_support) { 15123b3eb3cSopenharmony_ci sources += [ "dom/dom_xcomponent.cpp" ] 15223b3eb3cSopenharmony_ci } 15323b3eb3cSopenharmony_ci 15423b3eb3cSopenharmony_ci # advance components using web or native plugins 15523b3eb3cSopenharmony_ci if (defined(config.advance_components_support) && 15623b3eb3cSopenharmony_ci config.advance_components_support && !is_arkui_x) { 15723b3eb3cSopenharmony_ci sources += [ 15823b3eb3cSopenharmony_ci "dom/dom_rich_text.cpp", 15923b3eb3cSopenharmony_ci "dom/dom_web.cpp", 16023b3eb3cSopenharmony_ci ] 16123b3eb3cSopenharmony_ci } 16223b3eb3cSopenharmony_ci 16323b3eb3cSopenharmony_ci if (defined(config.web_components_support) && 16423b3eb3cSopenharmony_ci config.web_components_support && !is_arkui_x) { 16523b3eb3cSopenharmony_ci sources += [ 16623b3eb3cSopenharmony_ci "dom/dom_rich_text.cpp", 16723b3eb3cSopenharmony_ci "dom/dom_web.cpp", 16823b3eb3cSopenharmony_ci ] 16923b3eb3cSopenharmony_ci } 17023b3eb3cSopenharmony_ci 17123b3eb3cSopenharmony_ci deps = [ "$ace_root/frameworks/core/components/theme:build_theme_code" ] 17223b3eb3cSopenharmony_ci if (use_hilog) { 17323b3eb3cSopenharmony_ci external_deps = [ "hilog:libhilog" ] 17423b3eb3cSopenharmony_ci } 17523b3eb3cSopenharmony_ci } 17623b3eb3cSopenharmony_ci} 17723b3eb3cSopenharmony_ci 17823b3eb3cSopenharmony_citemplate("bridge_common_ng") { 17923b3eb3cSopenharmony_ci forward_variables_from(invoker, "*") 18023b3eb3cSopenharmony_ci 18123b3eb3cSopenharmony_ci ohos_source_set(target_name) { 18223b3eb3cSopenharmony_ci subsystem_name = ace_engine_subsystem 18323b3eb3cSopenharmony_ci part_name = ace_engine_part 18423b3eb3cSopenharmony_ci defines += invoker.defines 18523b3eb3cSopenharmony_ci 18623b3eb3cSopenharmony_ci configs = [ "$ace_root:ace_config" ] 18723b3eb3cSopenharmony_ci 18823b3eb3cSopenharmony_ci sources = [ 18923b3eb3cSopenharmony_ci # manifest 19023b3eb3cSopenharmony_ci "dom/dom_type.cpp", 19123b3eb3cSopenharmony_ci "manifest/manifest_appinfo.cpp", 19223b3eb3cSopenharmony_ci "manifest/manifest_parser.cpp", 19323b3eb3cSopenharmony_ci "manifest/manifest_router.cpp", 19423b3eb3cSopenharmony_ci "manifest/manifest_widget.cpp", 19523b3eb3cSopenharmony_ci "manifest/manifest_window.cpp", 19623b3eb3cSopenharmony_ci 19723b3eb3cSopenharmony_ci # media query 19823b3eb3cSopenharmony_ci "media_query/media_query_info.cpp", 19923b3eb3cSopenharmony_ci "media_query/media_queryer.cpp", 20023b3eb3cSopenharmony_ci 20123b3eb3cSopenharmony_ci # plugin adapter 20223b3eb3cSopenharmony_ci "plugin_adapter/plugin_bridge.cpp", 20323b3eb3cSopenharmony_ci 20423b3eb3cSopenharmony_ci # utils 20523b3eb3cSopenharmony_ci "../js_frontend/engine/common/js_constants.cpp", 20623b3eb3cSopenharmony_ci "../js_frontend/frontend_delegate.cpp", 20723b3eb3cSopenharmony_ci "../js_frontend/js_ace_page.cpp", 20823b3eb3cSopenharmony_ci "utils/engine_helper.cpp", 20923b3eb3cSopenharmony_ci "utils/source_map.cpp", 21023b3eb3cSopenharmony_ci "utils/utils.cpp", 21123b3eb3cSopenharmony_ci ] 21223b3eb3cSopenharmony_ci 21323b3eb3cSopenharmony_ci deps = [ "$ace_root/frameworks/core/components/theme:build_theme_code" ] 21423b3eb3cSopenharmony_ci if (use_hilog) { 21523b3eb3cSopenharmony_ci external_deps = [ "hilog:libhilog" ] 21623b3eb3cSopenharmony_ci } 21723b3eb3cSopenharmony_ci } 21823b3eb3cSopenharmony_ci} 21923b3eb3cSopenharmony_ci 22023b3eb3cSopenharmony_ciforeach(item, ace_platforms) { 22123b3eb3cSopenharmony_ci bridge_common("bridge_common_" + item.name) { 22223b3eb3cSopenharmony_ci defines = [] 22323b3eb3cSopenharmony_ci config = { 22423b3eb3cSopenharmony_ci } 22523b3eb3cSopenharmony_ci 22623b3eb3cSopenharmony_ci if (defined(item.config)) { 22723b3eb3cSopenharmony_ci config = item.config 22823b3eb3cSopenharmony_ci } 22923b3eb3cSopenharmony_ci 23023b3eb3cSopenharmony_ci if (defined(config.defines)) { 23123b3eb3cSopenharmony_ci defines = config.defines 23223b3eb3cSopenharmony_ci } 23323b3eb3cSopenharmony_ci } 23423b3eb3cSopenharmony_ci 23523b3eb3cSopenharmony_ci bridge_common_ng("bridge_common_ng_" + item.name) { 23623b3eb3cSopenharmony_ci defines = [] 23723b3eb3cSopenharmony_ci config = { 23823b3eb3cSopenharmony_ci } 23923b3eb3cSopenharmony_ci 24023b3eb3cSopenharmony_ci if (defined(item.config)) { 24123b3eb3cSopenharmony_ci config = item.config 24223b3eb3cSopenharmony_ci } 24323b3eb3cSopenharmony_ci 24423b3eb3cSopenharmony_ci if (defined(config.defines)) { 24523b3eb3cSopenharmony_ci defines = config.defines 24623b3eb3cSopenharmony_ci } 24723b3eb3cSopenharmony_ci } 24823b3eb3cSopenharmony_ci} 249