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 mojo.""" 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Workerload("@builtin//runtime.star", "runtime") 8*8975f5c5SAndroid Build Coastguard Workerload("@builtin//struct.star", "module") 9*8975f5c5SAndroid Build Coastguard Workerload("./platform.star", "platform") 10*8975f5c5SAndroid Build Coastguard Worker 11*8975f5c5SAndroid Build Coastguard Workerdef __step_config(ctx, step_config): 12*8975f5c5SAndroid Build Coastguard Worker # mojom_bindings_generator.py will run faster on n2-highmem-8 than 13*8975f5c5SAndroid Build Coastguard Worker # n2-custom-2-3840 14*8975f5c5SAndroid Build Coastguard Worker # e.g. 15*8975f5c5SAndroid Build Coastguard Worker # n2-highmem-8: exec: 880.202978ms 16*8975f5c5SAndroid Build Coastguard Worker # n2-custom-2-3840: exec: 2.42808488s 17*8975f5c5SAndroid Build Coastguard Worker platform_ref = "large" 18*8975f5c5SAndroid Build Coastguard Worker step_config["rules"].extend([ 19*8975f5c5SAndroid Build Coastguard Worker { 20*8975f5c5SAndroid Build Coastguard Worker "name": "mojo/mojom_bindings_generator", 21*8975f5c5SAndroid Build Coastguard Worker "command_prefix": platform.python_bin + " ../../mojo/public/tools/bindings/mojom_bindings_generator.py", 22*8975f5c5SAndroid Build Coastguard Worker "exclude_input_patterns": [ 23*8975f5c5SAndroid Build Coastguard Worker "*.stamp", 24*8975f5c5SAndroid Build Coastguard Worker ], 25*8975f5c5SAndroid Build Coastguard Worker "restat": True, 26*8975f5c5SAndroid Build Coastguard Worker "remote": True, 27*8975f5c5SAndroid Build Coastguard Worker "canonicalize_dir": True, 28*8975f5c5SAndroid Build Coastguard Worker "timeout": "2m", 29*8975f5c5SAndroid Build Coastguard Worker "output_local": True, 30*8975f5c5SAndroid Build Coastguard Worker "platform_ref": platform_ref, 31*8975f5c5SAndroid Build Coastguard Worker }, 32*8975f5c5SAndroid Build Coastguard Worker { 33*8975f5c5SAndroid Build Coastguard Worker "name": "mojo/mojom_parser", 34*8975f5c5SAndroid Build Coastguard Worker "command_prefix": platform.python_bin + " ../../mojo/public/tools/mojom/mojom_parser.py", 35*8975f5c5SAndroid Build Coastguard Worker "exclude_input_patterns": [ 36*8975f5c5SAndroid Build Coastguard Worker "*.stamp", 37*8975f5c5SAndroid Build Coastguard Worker ], 38*8975f5c5SAndroid Build Coastguard Worker # TODO: b/285078792 - Win cross compile on Linux worker doesn't work with input_root_absolute_path=true. 39*8975f5c5SAndroid Build Coastguard Worker "remote": runtime.os != "windows", 40*8975f5c5SAndroid Build Coastguard Worker "canonicalize_dir": True, 41*8975f5c5SAndroid Build Coastguard Worker "input_root_absolute_path": True, 42*8975f5c5SAndroid Build Coastguard Worker "timeout": "2m", 43*8975f5c5SAndroid Build Coastguard Worker "output_local": True, 44*8975f5c5SAndroid Build Coastguard Worker "platform_ref": platform_ref, 45*8975f5c5SAndroid Build Coastguard Worker }, 46*8975f5c5SAndroid Build Coastguard Worker { 47*8975f5c5SAndroid Build Coastguard Worker "name": "mojo/validate_typemap_config", 48*8975f5c5SAndroid Build Coastguard Worker "command_prefix": platform.python_bin + " ../../mojo/public/tools/bindings/validate_typemap_config.py", 49*8975f5c5SAndroid Build Coastguard Worker "remote": True, 50*8975f5c5SAndroid Build Coastguard Worker "canonicalize_dir": True, 51*8975f5c5SAndroid Build Coastguard Worker "timeout": "2m", 52*8975f5c5SAndroid Build Coastguard Worker "output_local": True, 53*8975f5c5SAndroid Build Coastguard Worker "platform_ref": platform_ref, 54*8975f5c5SAndroid Build Coastguard Worker }, 55*8975f5c5SAndroid Build Coastguard Worker { 56*8975f5c5SAndroid Build Coastguard Worker "name": "mojo/generate_type_mappings", 57*8975f5c5SAndroid Build Coastguard Worker "command_prefix": platform.python_bin + " ../../mojo/public/tools/bindings/generate_type_mappings.py", 58*8975f5c5SAndroid Build Coastguard Worker "remote": True, 59*8975f5c5SAndroid Build Coastguard Worker "canonicalize_dir": True, 60*8975f5c5SAndroid Build Coastguard Worker "timeout": "2m", 61*8975f5c5SAndroid Build Coastguard Worker "output_local": True, 62*8975f5c5SAndroid Build Coastguard Worker "platform_ref": platform_ref, 63*8975f5c5SAndroid Build Coastguard Worker }, 64*8975f5c5SAndroid Build Coastguard Worker ]) 65*8975f5c5SAndroid Build Coastguard Worker return step_config 66*8975f5c5SAndroid Build Coastguard Worker 67*8975f5c5SAndroid Build Coastguard Workermojo = module( 68*8975f5c5SAndroid Build Coastguard Worker "mojo", 69*8975f5c5SAndroid Build Coastguard Worker step_config = __step_config, 70*8975f5c5SAndroid Build Coastguard Worker) 71