tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

config.star (2015B)


      1 # -*- bazel-starlark -*-
      2 # Copyright 2023 The Chromium Authors
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 """Config module for checking siso -config flags."""
      6 
      7 load("@builtin//struct.star", "module")
      8 
      9 __KNOWN_CONFIG_OPTIONS = [
     10     # Indicates that the build runs on a builder.
     11     "builder",
     12 
     13     # Indicate that it runs on Cog (automatically set on Cog).
     14     "cog",
     15 
     16     # Force disable additional remote on cog.
     17     # TODO: b/333033551 - check performance with/without remote on cog.
     18     "disable-remote-on-cog",
     19 
     20     # TODO: b/308405411 - Enable this config for all builders.
     21     "remote-devtools-frontend-typescript",
     22 
     23     # TODO: b/370860664 - Enable remote link by default after supporting
     24     # all platforms and target OSes.
     25     # For developers, we can't simply enable remote link without bytes
     26     # because developers need objects and tests locally for debugging
     27     # and testing.
     28     "remote-link",
     29 ]
     30 
     31 def __check(ctx):
     32     if "config" in ctx.flags:
     33         for cfg in ctx.flags["config"].split(","):
     34             if cfg not in __KNOWN_CONFIG_OPTIONS:
     35                 print("unknown config: %s" % cfg)
     36 
     37 def __get(ctx, key):
     38     onCog = ctx.fs.exists("../.citc")
     39     disableRemoteOnCog = False
     40     if "config" in ctx.flags:
     41         for cfg in ctx.flags["config"].split(","):
     42             if cfg == key:
     43                 return True
     44             if cfg == "disable-remote-on-cog":
     45                 disableRemoteOnCog = True
     46             if cfg == "cog":
     47                 onCog = True
     48     if onCog:
     49         if disableRemoteOnCog:
     50             return False
     51 
     52         # on cog, .citc directory exist in parent directory of exec root.
     53         # disable race strategy as "builder".
     54         # enable "remote-*" on cog
     55         # TODO: b/308405411 - enable "remote-devtools-frontend-typescript"
     56         if key in ("builder", "cog", "remote-link"):
     57             return True
     58     return False
     59 
     60 config = module(
     61     "config",
     62     check = __check,
     63     get = __get,
     64 )