xref: /aosp_15_r20/external/angle/build/config/siso/mojo.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 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