# Copyright 2020 The Pigweed Authors
#
# 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
#
#     https://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.

import("//build_overrides/pigweed.gni")

import("$dir_pw_build/python.gni")
import("$dir_pw_build/python_action_test.gni")

pw_python_package("py") {
  setup = [
    "pyproject.toml",
    "setup.cfg",
  ]
  sources = [
    "pw_cli/__init__.py",
    "pw_cli/__main__.py",
    "pw_cli/aliases.py",
    "pw_cli/allowed_caller.py",
    "pw_cli/argument_types.py",
    "pw_cli/arguments.py",
    "pw_cli/branding.py",
    "pw_cli/collect_files.py",
    "pw_cli/color.py",
    "pw_cli/decorators.py",
    "pw_cli/diff.py",
    "pw_cli/env.py",
    "pw_cli/envparse.py",
    "pw_cli/file_filter.py",
    "pw_cli/git_repo.py",
    "pw_cli/interactive_prompts.py",
    "pw_cli/log.py",
    "pw_cli/multitool.py",
    "pw_cli/pigweed_aliases.py",
    "pw_cli/plugins.py",
    "pw_cli/plural.py",
    "pw_cli/process.py",
    "pw_cli/pw_command_plugins.py",
    "pw_cli/requires.py",
    "pw_cli/shell_completion/__init__.py",
    "pw_cli/shell_completion/fish/__init__.py",
    "pw_cli/shell_completion/zsh/__init__.py",
    "pw_cli/shell_completion/zsh/pw/__init__.py",
    "pw_cli/shell_completion/zsh/pw_build/__init__.py",
    "pw_cli/status_reporter.py",
    "pw_cli/tool_runner.py",
  ]
  tests = [
    "collect_files_test.py",
    "decorators_test.py",
    "envparse_test.py",
    "git_repo_test.py",
    "file_filter_test.py",
    "plugins_test.py",
    "plural_test.py",
    "tool_runner_test.py",
  ]
  python_deps = [
    "$dir_pw_cli_analytics/py",
    "$dir_pw_env_setup/py",
  ]
  pylintrc = "$dir_pigweed/.pylintrc"
  mypy_ini = "$dir_pigweed/.mypy.ini"
  inputs = [
    "pw_cli/shell_completion/common.bash",
    "pw_cli/shell_completion/fish/pw.fish",
    "pw_cli/shell_completion/pw.bash",
    "pw_cli/shell_completion/pw.fish",
    "pw_cli/shell_completion/pw.zsh",
    "pw_cli/shell_completion/pw_build.bash",
    "pw_cli/shell_completion/pw_build.zsh",
    "pw_cli/shell_completion/zsh/pw/_pw",
    "pw_cli/shell_completion/zsh/pw_build/_pw_build",
  ]
  ruff_toml = "$dir_pigweed/.ruff.toml"
}

pw_python_action_test("process_integration_test") {
  sources = [ "process_integration_test.py" ]
  python_deps = [ ":py" ]
  tags = [ "integration" ]
}
