代码拉取完成,页面将自动刷新
同步操作将从 dengly/depot_tools 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/env vpython3
# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# [VPYTHON:BEGIN]
# python_version: "3.8"
# [VPYTHON:END]
"""Bazel launcher wrapper.
This script starts Bazel appropriate for the project you're working in. It's
currently used by ChromiumOS, but is intended for use and to be updated by any
depot_tools users who are using Bazel.
In the case this script is not able to detect which project you're working in,
it will fall back to using the next "bazel" executable in your PATH.
"""
import itertools
import os
from pathlib import Path
import shutil
import sys
from typing import List, Optional
def _find_bazel_cros() -> Optional[Path]:
"""Find the bazel launcher for ChromiumOS."""
cwd = Path.cwd()
for parent in itertools.chain([cwd], cwd.parents):
bazel_launcher = parent / "chromite" / "bin" / "bazel"
if bazel_launcher.exists():
return bazel_launcher
return None
def _find_next_bazel_in_path() -> Optional[Path]:
"""The fallback method: search the remainder of PATH for bazel."""
# Remove depot_tools from PATH if present.
depot_tools = Path(__file__).resolve().parent
path_env = os.environ.get("PATH", os.defpath)
search_paths = []
for path in path_env.split(os.pathsep):
if Path(path).resolve() != depot_tools:
search_paths.append(path)
new_path_env = os.pathsep.join(search_paths)
bazel = shutil.which("bazel", path=new_path_env)
if bazel:
return Path(bazel)
return None
# All functions used to search for Bazel (in order of search).
_SEARCH_FUNCTIONS = (
_find_bazel_cros,
_find_next_bazel_in_path,
)
_FIND_FAILURE_MSG = """\
ERROR: The depot_tools bazel launcher was unable to find an appropriate bazel
executable to use.
For ChromiumOS developers:
Make sure your current directory is inside a ChromiumOS checkout (e.g.,
~/chromiumos). If you're already in a ChromiumOS checkout, it may be because
you're working on a branch that's too old (i.e., prior to Bazel).
If you're not working on any of the above listed projects, this launcher assumes
that you have Bazel installed on your system somewhere else in PATH. Check that
it's actually installed."""
def main(argv: List[str]) -> int:
"""Main."""
for search_func in _SEARCH_FUNCTIONS:
bazel = search_func()
if bazel:
os.execv(bazel, [str(bazel), *argv])
print(_FIND_FAILURE_MSG, file=sys.stderr)
return 1
if __name__ == "__main__":
sys.exit(main(sys.argv[1:]))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。