| # Copyright 2023 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # See README.md for details. |
| |
| import("//build/bazel/export_fuchsia_package_to_bazel.gni") |
| import("//build/components.gni") |
| import("//src/fonts/build/font_asset_provider.gni") |
| import("//src/fonts/build/fonts.gni") |
| |
| group("asset_providers") { |
| testonly = true |
| deps = [ |
| ":common", |
| ":open-fonts-collection", |
| ":small-open-fonts-collection", |
| ] |
| } |
| |
| # Hermetic font server. |
| |
| fuchsia_component_manifest("server.manifest") { |
| manifest = "meta/font-server.cml" |
| component_name = "font-server" |
| } |
| |
| fuchsia_component("server.component") { |
| cm_label = ":server.manifest" |
| component_name = "font-server" |
| deps = [ "//src/fonts:font_provider" ] |
| } |
| |
| fuchsia_package("server.package") { |
| package_name = "font-server" |
| deps = [ ":server.component" ] |
| } |
| |
| # Hermetic asset provider. |
| |
| fuchsia_component_manifest("asset-provider.manifest") { |
| manifest = "meta/asset-provider.cml" |
| component_name = "asset-provider" |
| } |
| |
| # Common font asset provider components. |
| # |
| # Used by font_asset_provider.gni. |
| group("common") { |
| public_deps = [ |
| # Package and component for the asset provider are font collection |
| # dependent. |
| ":asset-provider.manifest", |
| ":provider.package", |
| ":server.package", |
| ] |
| } |
| |
| # Top level fonts provider component. |
| |
| fuchsia_component_manifest("provider.manifest") { |
| manifest = "meta/fonts.cml" |
| component_name = "fonts" |
| } |
| |
| fuchsia_component("provider.component") { |
| cm_label = ":provider.manifest" |
| component_name = "fonts" |
| } |
| |
| fuchsia_package("provider.package") { |
| package_name = "fonts" |
| deps = [ ":provider.component" ] |
| } |
| |
| # Generate bazel inputs for the font asset provider packages above. |
| group("bazel_inputs") { |
| public_deps = [ |
| ":open-fonts-collection-bazel", |
| ":small-open-fonts-collection-bazel", |
| ] |
| } |
| |
| # Font asset provider definitions. |
| # Expect to have one for each font collection in //src/fonts/collections. |
| font_asset_provider("open-fonts-collection") { |
| deps = [ "//src/fonts/collections:open-fonts-collection" ] |
| } |
| |
| export_fuchsia_package_to_bazel("open-fonts-collection-bazel") { |
| package = ":open-fonts-collection.asset-provider.package" |
| } |
| |
| font_asset_provider("small-open-fonts-collection") { |
| deps = [ "//src/fonts/collections:small-open-fonts-collection" ] |
| } |
| |
| export_fuchsia_package_to_bazel("small-open-fonts-collection-bazel") { |
| package = ":small-open-fonts-collection.asset-provider.package" |
| } |