# Copyright 2023 The Bazel Authors. All rights reserved.
#
# 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.

# See CONTRIBUTING.md for instructions.
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0  # Use the ref you want to point at
    hooks:
      - id: check-merge-conflict
  - repo: https://github.com/keith/pre-commit-buildifier
    rev: 8.2.1
    hooks:
      - id: buildifier
        args: &args
          # Keep this argument in sync with .bazelci/presubmit.yaml
          - --warnings=all
      - id: buildifier-lint
        args: *args
  - repo: https://github.com/astral-sh/ruff-pre-commit
    # Keep in sync with .github/workflows/ruff.yaml
    rev: v0.15.14
    hooks:
      - id: ruff-check
        args: [--fix]
        exclude: testdata
      - id: ruff-format
        exclude: testdata
  - repo: local
    hooks:
      - id: update-deleted-packages
        name: Update deleted packages
        language: system
        # 7.x is necessary until https://github.com/bazel-contrib/rules_bazel_integration_test/pull/414
        # is merged and released
        entry: ./tools/update_deleted_packages.sh
        files: ^((examples|tests)/.*/(MODULE.bazel|WORKSPACE|WORKSPACE.bzlmod|BUILD.bazel)|.bazelrc)$
        pass_filenames: false
      - id: sort-runtimes-manifest
        name: Sort runtimes manifest
        language: system
        entry: ./python/private/tools/sort_manifest.py
        files: ^python/private/runtimes_manifest\.txt$
      - id: sync-runtimes-manifest
        name: Sync runtimes manifest workspace
        language: system
        entry: ./python/private/tools/sync_runtimes_manifest_workspace.py
        files: ^python/private/runtimes_manifest\.txt$
        pass_filenames: false
      - id: sync-downloader-configs
        name: Sync downloader configs
        language: system
        entry: ./tools/private/sync_downloader_configs.py
        files: downloader_config\.cfg$
        pass_filenames: false
      - id: gazelle
        name: Run Gazelle
        language: system
        entry: bazel run //tools/private/gazelle
        files: (\.bzl|\.bazel|BUILD|WORKSPACE(\.bzlmod)?)$
        pass_filenames: false
