1*6777b538SAndroid Build Coastguard Worker# -*- bazel-starlark -*- 2*6777b538SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors 3*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 5*6777b538SAndroid Build Coastguard Worker"""Siso configuration for proto/linux.""" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Workerload("@builtin//path.star", "path") 8*6777b538SAndroid Build Coastguard Workerload("@builtin//struct.star", "module") 9*6777b538SAndroid Build Coastguard Workerload("./config.star", "config") 10*6777b538SAndroid Build Coastguard Workerload("./protoc_wrapper.star", "protoc_wrapper") 11*6777b538SAndroid Build Coastguard Worker 12*6777b538SAndroid Build Coastguard Workerdef __filegroups(ctx): 13*6777b538SAndroid Build Coastguard Worker return { 14*6777b538SAndroid Build Coastguard Worker "third_party/protobuf/python/google:pyprotolib": { 15*6777b538SAndroid Build Coastguard Worker "type": "glob", 16*6777b538SAndroid Build Coastguard Worker "includes": ["*.py"], 17*6777b538SAndroid Build Coastguard Worker }, 18*6777b538SAndroid Build Coastguard Worker } 19*6777b538SAndroid Build Coastguard Worker 20*6777b538SAndroid Build Coastguard Workerdef __protoc_wrapper(ctx, cmd): 21*6777b538SAndroid Build Coastguard Worker inputs = protoc_wrapper.scandeps(ctx, cmd.args) 22*6777b538SAndroid Build Coastguard Worker ctx.actions.fix(inputs = cmd.expanded_inputs() + inputs) 23*6777b538SAndroid Build Coastguard Worker 24*6777b538SAndroid Build Coastguard Worker__handlers = { 25*6777b538SAndroid Build Coastguard Worker "protoc_wrapper": __protoc_wrapper, 26*6777b538SAndroid Build Coastguard Worker} 27*6777b538SAndroid Build Coastguard Worker 28*6777b538SAndroid Build Coastguard Workerdef __step_config(ctx, step_config): 29*6777b538SAndroid Build Coastguard Worker remote_run = True # Turn this to False when you do file access trace. 30*6777b538SAndroid Build Coastguard Worker step_config["input_deps"].update({ 31*6777b538SAndroid Build Coastguard Worker "third_party/dom_distiller_js/protoc_plugins/util/plugin_protos.py": [ 32*6777b538SAndroid Build Coastguard Worker "third_party/protobuf/python/google:pyprotolib", 33*6777b538SAndroid Build Coastguard Worker ], 34*6777b538SAndroid Build Coastguard Worker }) 35*6777b538SAndroid Build Coastguard Worker step_config["rules"].extend([ 36*6777b538SAndroid Build Coastguard Worker { 37*6777b538SAndroid Build Coastguard Worker "name": "proto/protoc_wrapper", 38*6777b538SAndroid Build Coastguard Worker "command_prefix": "python3 ../../tools/protoc_wrapper/protoc_wrapper.py", 39*6777b538SAndroid Build Coastguard Worker "indirect_inputs": { 40*6777b538SAndroid Build Coastguard Worker "includes": ["*.proto"], 41*6777b538SAndroid Build Coastguard Worker }, 42*6777b538SAndroid Build Coastguard Worker "exclude_input_patterns": [ 43*6777b538SAndroid Build Coastguard Worker "*.o", 44*6777b538SAndroid Build Coastguard Worker "*.a", 45*6777b538SAndroid Build Coastguard Worker "*.h", 46*6777b538SAndroid Build Coastguard Worker "*.cc", 47*6777b538SAndroid Build Coastguard Worker # "*_pb2.py", 48*6777b538SAndroid Build Coastguard Worker ], 49*6777b538SAndroid Build Coastguard Worker "handler": "protoc_wrapper", 50*6777b538SAndroid Build Coastguard Worker "remote": remote_run, 51*6777b538SAndroid Build Coastguard Worker # chromeos generates default.profraw? 52*6777b538SAndroid Build Coastguard Worker "ignore_extra_output_pattern": ".*default.profraw", 53*6777b538SAndroid Build Coastguard Worker # "deps": "depfile", 54*6777b538SAndroid Build Coastguard Worker "output_local": True, 55*6777b538SAndroid Build Coastguard Worker }, 56*6777b538SAndroid Build Coastguard Worker ]) 57*6777b538SAndroid Build Coastguard Worker return step_config 58*6777b538SAndroid Build Coastguard Worker 59*6777b538SAndroid Build Coastguard Workerproto = module( 60*6777b538SAndroid Build Coastguard Worker "proto", 61*6777b538SAndroid Build Coastguard Worker step_config = __step_config, 62*6777b538SAndroid Build Coastguard Worker filegroups = __filegroups, 63*6777b538SAndroid Build Coastguard Worker handlers = __handlers, 64*6777b538SAndroid Build Coastguard Worker) 65