blob: 4a5ecff4ba1b3e25ccf3d2ce159e4b7e0b06fdb1 [file] [log] [blame]
# 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.
"""Shell (e.g. bash) linter."""
import functools
import os
from chromite.lib import cipd
@functools.lru_cache(maxsize=None)
def _find_shellcheck() -> str:
"""Find the `shellcheck` tool."""
path = cipd.InstallPackage(
cipd.GetCIPDFromCache(),
"infra/tricium/function/shellcheck",
"8ppDhV4xsnPdBwPwJ4ROIxRHT_J2jd8XCYY93ssqJaAC",
)
return os.path.join(path, "bin", "shellcheck", "shellcheck")