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 macOS.""" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Workerload("@builtin//struct.star", "module") 8*6777b538SAndroid Build Coastguard Workerload("./clang_mac.star", "clang") 9*6777b538SAndroid Build Coastguard Workerload("./config.star", "config") 10*6777b538SAndroid Build Coastguard Workerload("./typescript_unix.star", "typescript") 11*6777b538SAndroid Build Coastguard Worker 12*6777b538SAndroid Build Coastguard Workerdef __filegroups(ctx): 13*6777b538SAndroid Build Coastguard Worker fg = {} 14*6777b538SAndroid Build Coastguard Worker fg.update(clang.filegroups(ctx)) 15*6777b538SAndroid Build Coastguard Worker fg.update(typescript.filegroups(ctx)) 16*6777b538SAndroid Build Coastguard Worker return fg 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker# to reduce unnecessary local process and 19*6777b538SAndroid Build Coastguard Worker# unnecessary digest calculation of output file. 20*6777b538SAndroid Build Coastguard Workerdef __copy_bundle_data(ctx, cmd): 21*6777b538SAndroid Build Coastguard Worker input = cmd.inputs[0] 22*6777b538SAndroid Build Coastguard Worker out = cmd.outputs[0] 23*6777b538SAndroid Build Coastguard Worker ctx.actions.copy(input, out, recursive = ctx.fs.is_dir(input)) 24*6777b538SAndroid Build Coastguard Worker ctx.actions.exit(exit_status = 0) 25*6777b538SAndroid Build Coastguard Worker 26*6777b538SAndroid Build Coastguard Worker__handlers = { 27*6777b538SAndroid Build Coastguard Worker "copy_bundle_data": __copy_bundle_data, 28*6777b538SAndroid Build Coastguard Worker} 29*6777b538SAndroid Build Coastguard Worker__handlers.update(clang.handlers) 30*6777b538SAndroid Build Coastguard Worker__handlers.update(typescript.handlers) 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Workerdef __step_config(ctx, step_config): 33*6777b538SAndroid Build Coastguard Worker config.check(ctx) 34*6777b538SAndroid Build Coastguard Worker step_config["rules"].extend([ 35*6777b538SAndroid Build Coastguard Worker { 36*6777b538SAndroid Build Coastguard Worker "name": "mac/copy_bundle_data", 37*6777b538SAndroid Build Coastguard Worker "action": "(.*)?copy_bundle_data", 38*6777b538SAndroid Build Coastguard Worker "handler": "copy_bundle_data", 39*6777b538SAndroid Build Coastguard Worker }, 40*6777b538SAndroid Build Coastguard Worker ]) 41*6777b538SAndroid Build Coastguard Worker step_config = clang.step_config(ctx, step_config) 42*6777b538SAndroid Build Coastguard Worker step_config = typescript.step_config(ctx, step_config) 43*6777b538SAndroid Build Coastguard Worker return step_config 44*6777b538SAndroid Build Coastguard Worker 45*6777b538SAndroid Build Coastguard Workerchromium = module( 46*6777b538SAndroid Build Coastguard Worker "chromium", 47*6777b538SAndroid Build Coastguard Worker step_config = __step_config, 48*6777b538SAndroid Build Coastguard Worker filegroups = __filegroups, 49*6777b538SAndroid Build Coastguard Worker handlers = __handlers, 50*6777b538SAndroid Build Coastguard Worker) 51