Commit Graph

3 Commits

Author SHA1 Message Date
Wyatt Hepler
438caa0ddb pw_build: Make GN Python installation more robust
- Since protobuf Python packages are generated and installed from the
  build directory now, add dependencies on package installs in the
  build. This ensures packages are properly installed before tests or
  linting.
- Instantiate all Python actions in the default toolchain. This prevents
  duplicate instantiations of Python actions for each toolchain, which
  causes flakiness as packages are reinstalled for each toolchain.
- Add python_deps to pw_python_action that Python actions can depend on
  Python package installations.
- Add various missing dependencies between Python packages.

Change-Id: I4ec34f06c04014b3552cc1b60aa506ac9a89b329
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/30000
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Reviewed-by: Rob Mohr <mohrr@google.com>
2021-01-22 04:42:12 +00:00
Wyatt Hepler
8ce9013bfd pw_build: Support specifying mypy/pylint config
- Add pylintrc and mypy_ini options to the pw_python_package template.
  These can be used to specify configuration files to use for Pylint and
  Mypy.
- Run pylint and mypy from the setup directory. This allows tools to
  find per-package configuration files (if they aren't specified by the
  pylintrc or mypy_ini arguments).
- Fix some incorrect import ordering that Pylint detects now that it
  runs from package directories. PEP8 states imports should be grouped
  by standard library, third party, and local package imports.

Change-Id: I8017341178ac5920d623ebbed4535432d69527c3
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/26700
Reviewed-by: Keir Mierle <keir@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
2020-12-04 17:59:45 +00:00
Wyatt Hepler
01a85d6b0e Python: Generate BUILD.gn files for Python packages
- Generate BUILD.gn files with pw_python_packages using
  pw_build.generate_python_package_gn.
- Add the new pw_python_package targets to the default build.
- Remove the unncecessary "python_packages" group.
- Fix some Windows path issues in Python tests.

Change-Id: I50c9b1f650652554f0836cbdc1781a00ec7e8e56
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/22203
Commit-Queue: Wyatt Hepler <hepler@google.com>
Reviewed-by: Rob Mohr <mohrr@google.com>
2020-10-22 21:12:11 +00:00