blob: 60182cbb254c3acafad8097d8480718b6fbc71e5 [file] [log] [blame]
# 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.
import argparse
import pathlib
import subprocess
import sys
def main():
parser = argparse.ArgumentParser(
description=
"Wrap configc's package validator and provide in-tree-specific suggestions on failure."
)
parser.add_argument(
"--configc-bin",
type=pathlib.Path,
required=True,
help="Path to configc binary.")
parser.add_argument(
"--package",
type=pathlib.Path,
required=True,
help="Path to package manifest.")
parser.add_argument(
"--stamp",
type=pathlib.Path,
required=True,
help="Path to stamp file to write when complete.")
args = parser.parse_args()
output = subprocess.run(
[
args.configc_bin,
"validate-package",
args.package,
"--stamp",
"/dev/null",
])
if output.returncode != 0:
print(
"""
Validating structured configuration failed!
If this is a fuchsia_test_package() and you are using
RealmBuilder to provide all values, consider setting
`validate_structured_config=false` on this target to
disable this check.
""")
sys.exit(output.returncode)
with open(args.stamp, 'w') as f:
f.write('')