blob: dcd516920e0061811636ad7494195dd94f4964c2 [file] [log] [blame]
# -*- bazel-starlark -*-
# Copyright 2023 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Siso configuration for remote exec wrapper."""
load("@builtin//lib/gn.star", "gn")
load("@builtin//struct.star", "module")
__filegroups = {}
__handlers = {}
def __enabled(ctx):
if "args.gn" in ctx.metadata:
gn_args = gn.parse_args(ctx.metadata["args.gn"])
if gn_args.get("use_goma") == "true":
return True
if gn_args.get("use_remoteexec") == "true":
return True
return False
def __step_config(ctx, step_config):
step_config["rules"].extend([
{
"name": "clang/cxx",
"action": "(.*_)?cxx",
"use_remote_exec_wrapper": True,
},
{
"name": "clang/cc",
"action": "(.*_)?cc",
"use_remote_exec_wrapper": True,
},
{
"name": "clang/objcxx",
"action": "(.*_)?objcxx",
"use_remote_exec_wrapper": True,
},
{
"name": "clang/objc",
"action": "(.*_)?objc",
"use_remote_exec_wrapper": True,
},
{
"name": "action_remote",
"command_prefix": "python3 ../../build/util/action_remote.py",
"use_remote_exec_wrapper": True,
},
])
return step_config
remote_exec_wrapper = module(
"remote_exec_wrapper",
enabled = __enabled,
step_config = __step_config,
filegroups = __filegroups,
handlers = __handlers,
)