xref: /aosp_15_r20/external/angle/build/config/siso/proto_linux.star (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# -*- bazel-starlark -*-
2*8975f5c5SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors
3*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
4*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
5*8975f5c5SAndroid Build Coastguard Worker"""Siso configuration for proto/linux."""
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Workerload("@builtin//path.star", "path")
8*8975f5c5SAndroid Build Coastguard Workerload("@builtin//struct.star", "module")
9*8975f5c5SAndroid Build Coastguard Workerload("./config.star", "config")
10*8975f5c5SAndroid Build Coastguard Worker
11*8975f5c5SAndroid Build Coastguard Workerdef __filegroups(ctx):
12*8975f5c5SAndroid Build Coastguard Worker    return {}
13*8975f5c5SAndroid Build Coastguard Worker
14*8975f5c5SAndroid Build Coastguard Workerdef __step_config(ctx, step_config):
15*8975f5c5SAndroid Build Coastguard Worker    remote_run = True  # Turn this to False when you do file access trace.
16*8975f5c5SAndroid Build Coastguard Worker    step_config["rules"].extend([
17*8975f5c5SAndroid Build Coastguard Worker        {
18*8975f5c5SAndroid Build Coastguard Worker            "name": "proto/protoc_wrapper",
19*8975f5c5SAndroid Build Coastguard Worker            "command_prefix": "python3 ../../tools/protoc_wrapper/protoc_wrapper.py",
20*8975f5c5SAndroid Build Coastguard Worker            "exclude_input_patterns": [
21*8975f5c5SAndroid Build Coastguard Worker                "*.o",
22*8975f5c5SAndroid Build Coastguard Worker                "*.a",
23*8975f5c5SAndroid Build Coastguard Worker                "*.h",
24*8975f5c5SAndroid Build Coastguard Worker                "*.cc",
25*8975f5c5SAndroid Build Coastguard Worker                # "*_pb2.py",
26*8975f5c5SAndroid Build Coastguard Worker            ],
27*8975f5c5SAndroid Build Coastguard Worker            # TODO(https://crrev.com/c/6057248): remove this after
28*8975f5c5SAndroid Build Coastguard Worker            # proto_library.gni change.
29*8975f5c5SAndroid Build Coastguard Worker            "inputs": [
30*8975f5c5SAndroid Build Coastguard Worker                "third_party/protobuf/src/google/protobuf/descriptor.proto",
31*8975f5c5SAndroid Build Coastguard Worker            ],
32*8975f5c5SAndroid Build Coastguard Worker            "remote": remote_run,
33*8975f5c5SAndroid Build Coastguard Worker            # chromeos generates default.profraw?
34*8975f5c5SAndroid Build Coastguard Worker            "ignore_extra_output_pattern": ".*default.profraw",
35*8975f5c5SAndroid Build Coastguard Worker            # "deps": "depfile",
36*8975f5c5SAndroid Build Coastguard Worker            "output_local": True,
37*8975f5c5SAndroid Build Coastguard Worker            "timeout": "2m",
38*8975f5c5SAndroid Build Coastguard Worker        },
39*8975f5c5SAndroid Build Coastguard Worker    ])
40*8975f5c5SAndroid Build Coastguard Worker    return step_config
41*8975f5c5SAndroid Build Coastguard Worker
42*8975f5c5SAndroid Build Coastguard Workerproto = module(
43*8975f5c5SAndroid Build Coastguard Worker    "proto",
44*8975f5c5SAndroid Build Coastguard Worker    step_config = __step_config,
45*8975f5c5SAndroid Build Coastguard Worker    filegroups = __filegroups,
46*8975f5c5SAndroid Build Coastguard Worker    handlers = {},
47*8975f5c5SAndroid Build Coastguard Worker)
48