check_license•1.94 kB
#!/usr/bin/env bash
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# Checks that all files have a license header.
# set -x # Uncomment to enable tracing.
set -euo pipefail
TOP_DIR=$(git rev-parse --show-toplevel)
PY_DIR="${TOP_DIR}/py"
if ! command -v addlicense &>/dev/null; then
if ! command -v go &>/dev/null; then
echo "Please install go"
exit 1
fi
echo "Installing addlicense..."
go install github.com/google/addlicense@latest
fi
export PATH=$(go env GOPATH):$PATH
# NOTE: If you edit the ignore patterns, make sure to update the ignore patterns
# in the corresponding add_license script.
$HOME/go/bin/addlicense \
-check \
-c "Google LLC" \
-s \
-l apache \
-ignore '**/.dist/**/*' \
-ignore '**/.eggs/**/*' \
-ignore '**/.idea/**/*' \
-ignore '**/.mypy_cache/**/*' \
-ignore '**/.next/**/*' \
-ignore '**/.output/**/*' \
-ignore '**/.pytest_cache/**/*' \
-ignore '**/.ruff_cache/**/*' \
-ignore '**/.venv/**/*' \
-ignore '**/.wxt/**/*' \
-ignore '**/__pycache__/**/*' \
-ignore '**/bazel-*/**/*' \
-ignore '**/coverage/**/*' \
-ignore '**/develop-eggs/**/*' \
-ignore '**/dist/**/*' \
-ignore '**/node_modules/**/*' \
-ignore '**/pnpm-lock.yaml' \
-ignore '.nx/**/*' \
-ignore '.trunk/**/*' \
-ignore '**/*.toml' \
-ignore '**/*.nix' \
"$TOP_DIR"
uv run --directory "${PY_DIR}" liccheck