blob: e50b3acf86f59a1cf4d6e0d38f36f70981c75e2c [file] [log] [blame]
# -*- bazel-starlark -*-
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Siso configuration for macOS."""
load("@builtin//struct.star", "module")
load("./clang_mac.star", "clang")
load("./config.star", "config")
load("./typescript_unix.star", "typescript")
def __filegroups(ctx):
fg = {}
fg.update(clang.filegroups(ctx))
fg.update(typescript.filegroups(ctx))
return fg
# to reduce unnecessary local process and
# unnecessary digest calculation of output file.
def __copy_bundle_data(ctx, cmd):
input = cmd.inputs[0]
out = cmd.outputs[0]
ctx.actions.copy(input, out, recursive = ctx.fs.is_dir(input))
ctx.actions.exit(exit_status = 0)
__handlers = {
"copy_bundle_data": __copy_bundle_data,
}
__handlers.update(clang.handlers)
__handlers.update(typescript.handlers)
def __step_config(ctx, step_config):
config.check(ctx)
step_config["rules"].extend([
{
"name": "mac/copy_bundle_data",
"action": "(.*)?copy_bundle_data",
"handler": "copy_bundle_data",
},
])
step_config = clang.step_config(ctx, step_config)
step_config = typescript.step_config(ctx, step_config)
return step_config
chromium = module(
"chromium",
step_config = __step_config,
filegroups = __filegroups,
handlers = __handlers,
)