| # Copyright 2020 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. |
| |
| """This script is used to synthesize generated parts of this library.""" |
| |
| import synthtool as s |
| from synthtool import gcp |
| from synthtool.languages import python |
| |
| common = gcp.CommonTemplates() |
| |
| # ---------------------------------------------------------------------------- |
| # Add templated files |
| # ---------------------------------------------------------------------------- |
| excludes = [ |
| "noxfile.py", # pytype |
| "setup.cfg", # pytype |
| ".flake8", # flake8-import-order, layout |
| ".coveragerc", # layout |
| "CONTRIBUTING.rst", # no systests |
| ".github/workflows/unittest.yml", # exclude unittest gh action |
| ".github/workflows/lint.yml", # exclude lint gh action |
| "README.rst", |
| ] |
| templated_files = common.py_library(microgenerator=True, cov_level=100) |
| s.move(templated_files, excludes=excludes) |
| |
| # Add pytype support |
| s.replace( |
| ".gitignore", |
| """\ |
| .pytest_cache |
| """, |
| """\ |
| .pytest_cache |
| .pytype |
| """, |
| ) |
| |
| python.configure_previous_major_version_branches() |
| |
| s.shell.run(["nox", "-s", "blacken"], hide_output=False) |