blob: d8d836c1d3e7e82d6ea173612228c8b1aeb45c55 [file] [log] [blame]
# Copyright 2019 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.
import("//build/config.gni")
import("//build/json/validate_json.gni")
# Validates a factory store provider configuration file against a schema.
#
# Parameters
# config (required)
# This is a factory store provider config file that needs to be validated.
template("factory_store_provider_config_validate") {
validate_json(target_name) {
forward_variables_from(invoker,
[
"deps",
"public_deps",
"testonly",
"visibility",
])
data = invoker.config
schema = "//src/factory/factory_store_provider_config_schema.json"
}
}
# Packages a factory store provider configuration after validating it.
#
# Parameters
# config (required)
# A file containing a configuration for their a factory store provider.
# It will be schema-validated.
# provider (required)
# The factory store provider protocol that the given config maps to.
# Must be one of the following:
# fuchsia.factory.CastCredentialsFactoryStoreProvider
# fuchsia.factory.MiscFactoryStoreProvider
# fuchsia.factory.PlayReadyFactoryStoreProvider
# fuchsia.factory.WidevineFactoryStoreProvider
template("factory_store_provider_config") {
validate_target = target_name + "_${invoker.provider}_validate"
factory_store_provider_config_validate(validate_target) {
forward_variables_from(invoker,
[
"deps",
"testonly",
"visibility",
])
config = invoker.config
}
config_data(target_name) {
for_pkg = "factory_store_providers"
sources = [
rebase_path(invoker.config),
]
outputs = [
"${invoker.provider}.config",
]
deps = [
":${validate_target}",
]
}
}