From b5f9c8c834a56fe887528f1934837443c5f59db9 Mon Sep 17 00:00:00 2001
From: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Date: Wed, 19 Feb 2020 17:56:20 -0800
Subject: [PATCH] chore: add split repo templates (#4)
---
.../google-cloud-resource-manager/.coveragerc | 3 +
.../google-cloud-resource-manager/.flake8 | 1 +
.../.github/CONTRIBUTING.md | 28 ++
.../.github/ISSUE_TEMPLATE/bug_report.md | 44 +++
.../.github/ISSUE_TEMPLATE/feature_request.md | 18 ++
.../.github/ISSUE_TEMPLATE/support_request.md | 7 +
.../.github/PULL_REQUEST_TEMPLATE.md | 7 +
.../.github/release-please.yml | 1 +
.../google-cloud-resource-manager/.gitignore | 58 ++++
.../.kokoro/build.sh | 39 +++
.../.kokoro/continuous/common.cfg | 27 ++
.../.kokoro/continuous/continuous.cfg | 1 +
.../.kokoro/docs/common.cfg | 48 +++
.../.kokoro/docs/docs.cfg | 1 +
.../.kokoro/presubmit/common.cfg | 27 ++
.../.kokoro/presubmit/presubmit.cfg | 1 +
.../.kokoro/publish-docs.sh | 57 ++++
.../.kokoro/release.sh | 34 +++
.../.kokoro/release/common.cfg | 64 ++++
.../.kokoro/release/release.cfg | 1 +
.../.kokoro/trampoline.sh | 23 ++
.../.repo-metadata.json | 2 +-
.../CODE_OF_CONDUCT.md | 44 +++
.../CONTRIBUTING.rst | 279 ++++++++++++++++++
.../google-cloud-resource-manager/LICENSE | 7 +-
.../google-cloud-resource-manager/MANIFEST.in | 4 +-
.../docs/_static/custom.css | 2 +-
.../docs/_templates/layout.html | 1 +
.../docs/conf.py | 13 +-
.../google-cloud-resource-manager/noxfile.py | 130 ++++----
.../renovate.json | 5 +
.../google-cloud-resource-manager/setup.cfg | 1 +
.../google-cloud-resource-manager/setup.py | 63 ++--
.../synth.metadata | 12 +
.../google-cloud-resource-manager/synth.py | 30 ++
.../tests/unit/test__http.py | 2 +-
36 files changed, 984 insertions(+), 101 deletions(-)
create mode 100644 packages/google-cloud-resource-manager/.github/CONTRIBUTING.md
create mode 100644 packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/bug_report.md
create mode 100644 packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/feature_request.md
create mode 100644 packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/support_request.md
create mode 100644 packages/google-cloud-resource-manager/.github/PULL_REQUEST_TEMPLATE.md
create mode 100644 packages/google-cloud-resource-manager/.github/release-please.yml
create mode 100644 packages/google-cloud-resource-manager/.gitignore
create mode 100755 packages/google-cloud-resource-manager/.kokoro/build.sh
create mode 100644 packages/google-cloud-resource-manager/.kokoro/continuous/common.cfg
create mode 100644 packages/google-cloud-resource-manager/.kokoro/continuous/continuous.cfg
create mode 100644 packages/google-cloud-resource-manager/.kokoro/docs/common.cfg
create mode 100644 packages/google-cloud-resource-manager/.kokoro/docs/docs.cfg
create mode 100644 packages/google-cloud-resource-manager/.kokoro/presubmit/common.cfg
create mode 100644 packages/google-cloud-resource-manager/.kokoro/presubmit/presubmit.cfg
create mode 100755 packages/google-cloud-resource-manager/.kokoro/publish-docs.sh
create mode 100755 packages/google-cloud-resource-manager/.kokoro/release.sh
create mode 100644 packages/google-cloud-resource-manager/.kokoro/release/common.cfg
create mode 100644 packages/google-cloud-resource-manager/.kokoro/release/release.cfg
create mode 100755 packages/google-cloud-resource-manager/.kokoro/trampoline.sh
create mode 100644 packages/google-cloud-resource-manager/CODE_OF_CONDUCT.md
create mode 100644 packages/google-cloud-resource-manager/CONTRIBUTING.rst
create mode 100644 packages/google-cloud-resource-manager/renovate.json
create mode 100644 packages/google-cloud-resource-manager/synth.metadata
create mode 100644 packages/google-cloud-resource-manager/synth.py
diff --git a/packages/google-cloud-resource-manager/.coveragerc b/packages/google-cloud-resource-manager/.coveragerc
index 098720f672e1..b178b094aa1d 100644
--- a/packages/google-cloud-resource-manager/.coveragerc
+++ b/packages/google-cloud-resource-manager/.coveragerc
@@ -1,3 +1,4 @@
+# Generated by synthtool. DO NOT EDIT!
[run]
branch = True
@@ -14,3 +15,5 @@ exclude_lines =
omit =
*/gapic/*.py
*/proto/*.py
+ */core/*.py
+ */site-packages/*.py
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/.flake8 b/packages/google-cloud-resource-manager/.flake8
index 61766fa84d02..0268ecc9c55c 100644
--- a/packages/google-cloud-resource-manager/.flake8
+++ b/packages/google-cloud-resource-manager/.flake8
@@ -1,3 +1,4 @@
+# Generated by synthtool. DO NOT EDIT!
[flake8]
ignore = E203, E266, E501, W503
exclude =
diff --git a/packages/google-cloud-resource-manager/.github/CONTRIBUTING.md b/packages/google-cloud-resource-manager/.github/CONTRIBUTING.md
new file mode 100644
index 000000000000..939e5341e74d
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.github/CONTRIBUTING.md
@@ -0,0 +1,28 @@
+# How to Contribute
+
+We'd love to accept your patches and contributions to this project. There are
+just a few small guidelines you need to follow.
+
+## Contributor License Agreement
+
+Contributions to this project must be accompanied by a Contributor License
+Agreement. You (or your employer) retain the copyright to your contribution;
+this simply gives us permission to use and redistribute your contributions as
+part of the project. Head over to to see
+your current agreements on file or to sign a new one.
+
+You generally only need to submit a CLA once, so if you've already submitted one
+(even if it was for a different project), you probably don't need to do it
+again.
+
+## Code reviews
+
+All submissions, including submissions by project members, require review. We
+use GitHub pull requests for this purpose. Consult
+[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
+information on using pull requests.
+
+## Community Guidelines
+
+This project follows [Google's Open Source Community
+Guidelines](https://opensource.google.com/conduct/).
diff --git a/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/bug_report.md b/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 000000000000..6ddc7baf0ce4
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,44 @@
+---
+name: Bug report
+about: Create a report to help us improve
+
+---
+
+Thanks for stopping by to let us know something could be better!
+
+**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
+
+Please run down the following list and make sure you've tried the usual "quick fixes":
+
+ - Search the issues already opened: https://github.com/googleapis/python-resource-manager/issues
+ - Search the issues on our "catch-all" repository: https://github.com/googleapis/google-cloud-python
+ - Search StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform+python
+
+If you are still having issues, please be sure to include as much information as possible:
+
+#### Environment details
+
+ - OS type and version:
+ - Python version: `python --version`
+ - pip version: `pip --version`
+ - `google-cloud-resource-manager` version: `pip show google-cloud-resource-manager`
+
+#### Steps to reproduce
+
+ 1. ?
+ 2. ?
+
+#### Code example
+
+```python
+# example
+```
+
+#### Stack trace
+```
+# example
+```
+
+Making sure to follow these steps will guarantee the quickest resolution possible.
+
+Thanks!
diff --git a/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/feature_request.md b/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 000000000000..6365857f33c6
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,18 @@
+---
+name: Feature request
+about: Suggest an idea for this library
+
+---
+
+Thanks for stopping by to let us know something could be better!
+
+**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
+
+ **Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+ **Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+ **Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+ **Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/support_request.md b/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/support_request.md
new file mode 100644
index 000000000000..995869032125
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.github/ISSUE_TEMPLATE/support_request.md
@@ -0,0 +1,7 @@
+---
+name: Support request
+about: If you have a support contract with Google, please create an issue in the Google Cloud Support console.
+
+---
+
+**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
diff --git a/packages/google-cloud-resource-manager/.github/PULL_REQUEST_TEMPLATE.md b/packages/google-cloud-resource-manager/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 000000000000..06eff57ed4c5
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,7 @@
+Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
+- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-resource-manager/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
+- [ ] Ensure the tests and linter pass
+- [ ] Code coverage does not decrease (if any source code was changed)
+- [ ] Appropriate docs were updated (if necessary)
+
+Fixes # 🦕
diff --git a/packages/google-cloud-resource-manager/.github/release-please.yml b/packages/google-cloud-resource-manager/.github/release-please.yml
new file mode 100644
index 000000000000..4507ad0598a5
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.github/release-please.yml
@@ -0,0 +1 @@
+releaseType: python
diff --git a/packages/google-cloud-resource-manager/.gitignore b/packages/google-cloud-resource-manager/.gitignore
new file mode 100644
index 000000000000..3fb06e09ce74
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.gitignore
@@ -0,0 +1,58 @@
+*.py[cod]
+*.sw[op]
+
+# C extensions
+*.so
+
+# Packages
+*.egg
+*.egg-info
+dist
+build
+eggs
+parts
+bin
+var
+sdist
+develop-eggs
+.installed.cfg
+lib
+lib64
+__pycache__
+
+# Installer logs
+pip-log.txt
+
+# Unit test / coverage reports
+.coverage
+.nox
+.cache
+.pytest_cache
+
+
+# Mac
+.DS_Store
+
+# JetBrains
+.idea
+
+# VS Code
+.vscode
+
+# emacs
+*~
+
+# Built documentation
+docs/_build
+bigquery/docs/generated
+
+# Virtual environment
+env/
+coverage.xml
+
+# System test environment variables.
+system_tests/local_test_setup
+
+# Make sure a generated file isn't accidentally committed.
+pylintrc
+pylintrc.test
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/.kokoro/build.sh b/packages/google-cloud-resource-manager/.kokoro/build.sh
new file mode 100755
index 000000000000..ce4d57602f66
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/build.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+# Copyright 2018 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
+#
+# 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.
+
+set -eo pipefail
+
+cd github/python-resource-manager
+
+# Disable buffering, so that the logs stream through.
+export PYTHONUNBUFFERED=1
+
+# Debug: show build environment
+env | grep KOKORO
+
+# Setup service account credentials.
+export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/service-account.json
+
+# Setup project id.
+export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json")
+
+# Remove old nox
+python3.6 -m pip uninstall --yes --quiet nox-automation
+
+# Install nox
+python3.6 -m pip install --upgrade --quiet nox
+python3.6 -m nox --version
+
+python3.6 -m nox
diff --git a/packages/google-cloud-resource-manager/.kokoro/continuous/common.cfg b/packages/google-cloud-resource-manager/.kokoro/continuous/common.cfg
new file mode 100644
index 000000000000..5b5a1248cc70
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/continuous/common.cfg
@@ -0,0 +1,27 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
+# Build logs will be here
+action {
+ define_artifacts {
+ regex: "**/*sponge_log.xml"
+ }
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Download resources for system tests (service account key, etc.)
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python"
+
+# Use the trampoline script to run in docker.
+build_file: "python-resource-manager/.kokoro/trampoline.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/python-multi"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/python-resource-manager/.kokoro/build.sh"
+}
diff --git a/packages/google-cloud-resource-manager/.kokoro/continuous/continuous.cfg b/packages/google-cloud-resource-manager/.kokoro/continuous/continuous.cfg
new file mode 100644
index 000000000000..8f43917d92fe
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/continuous/continuous.cfg
@@ -0,0 +1 @@
+# Format: //devtools/kokoro/config/proto/build.proto
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/.kokoro/docs/common.cfg b/packages/google-cloud-resource-manager/.kokoro/docs/common.cfg
new file mode 100644
index 000000000000..f58b56c60d90
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/docs/common.cfg
@@ -0,0 +1,48 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
+# Build logs will be here
+action {
+ define_artifacts {
+ regex: "**/*sponge_log.xml"
+ }
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "python-resource-manager/.kokoro/trampoline.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/python-multi"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/python-resource-manager/.kokoro/publish-docs.sh"
+}
+
+env_vars: {
+ key: "STAGING_BUCKET"
+ value: "docs-staging"
+}
+
+# Fetch the token needed for reporting release status to GitHub
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "yoshi-automation-github-key"
+ }
+ }
+}
+
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "docuploader_service_account"
+ }
+ }
+}
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/.kokoro/docs/docs.cfg b/packages/google-cloud-resource-manager/.kokoro/docs/docs.cfg
new file mode 100644
index 000000000000..8f43917d92fe
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/docs/docs.cfg
@@ -0,0 +1 @@
+# Format: //devtools/kokoro/config/proto/build.proto
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/.kokoro/presubmit/common.cfg b/packages/google-cloud-resource-manager/.kokoro/presubmit/common.cfg
new file mode 100644
index 000000000000..5b5a1248cc70
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/presubmit/common.cfg
@@ -0,0 +1,27 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
+# Build logs will be here
+action {
+ define_artifacts {
+ regex: "**/*sponge_log.xml"
+ }
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Download resources for system tests (service account key, etc.)
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python"
+
+# Use the trampoline script to run in docker.
+build_file: "python-resource-manager/.kokoro/trampoline.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/python-multi"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/python-resource-manager/.kokoro/build.sh"
+}
diff --git a/packages/google-cloud-resource-manager/.kokoro/presubmit/presubmit.cfg b/packages/google-cloud-resource-manager/.kokoro/presubmit/presubmit.cfg
new file mode 100644
index 000000000000..8f43917d92fe
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/presubmit/presubmit.cfg
@@ -0,0 +1 @@
+# Format: //devtools/kokoro/config/proto/build.proto
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/.kokoro/publish-docs.sh b/packages/google-cloud-resource-manager/.kokoro/publish-docs.sh
new file mode 100755
index 000000000000..1ee600212965
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/publish-docs.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+# 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
+#
+# 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.
+
+#!/bin/bash
+
+set -eo pipefail
+
+# Disable buffering, so that the logs stream through.
+export PYTHONUNBUFFERED=1
+
+cd github/python-resource-manager
+
+# Remove old nox
+python3.6 -m pip uninstall --yes --quiet nox-automation
+
+# Install nox
+python3.6 -m pip install --upgrade --quiet nox
+python3.6 -m nox --version
+
+# build docs
+nox -s docs
+
+python3 -m pip install gcp-docuploader
+
+# install a json parser
+sudo apt-get update
+sudo apt-get -y install software-properties-common
+sudo add-apt-repository universe
+sudo apt-get update
+sudo apt-get -y install jq
+
+# create metadata
+python3 -m docuploader create-metadata \
+ --name=$(jq --raw-output '.name // empty' .repo-metadata.json) \
+ --version=$(python3 setup.py --version) \
+ --language=$(jq --raw-output '.language // empty' .repo-metadata.json) \
+ --distribution-name=$(python3 setup.py --name) \
+ --product-page=$(jq --raw-output '.product_documentation // empty' .repo-metadata.json) \
+ --github-repository=$(jq --raw-output '.repo // empty' .repo-metadata.json) \
+ --issue-tracker=$(jq --raw-output '.issue_tracker // empty' .repo-metadata.json)
+
+cat docs.metadata
+
+# upload docs
+python3 -m docuploader upload docs/_build/html --metadata-file docs.metadata --staging-bucket docs-staging
diff --git a/packages/google-cloud-resource-manager/.kokoro/release.sh b/packages/google-cloud-resource-manager/.kokoro/release.sh
new file mode 100755
index 000000000000..fb08bd90b4ce
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/release.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+# 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
+#
+# 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.
+
+#!/bin/bash
+
+set -eo pipefail
+
+# Start the releasetool reporter
+python3 -m pip install gcp-releasetool
+python3 -m releasetool publish-reporter-script > /tmp/publisher-script; source /tmp/publisher-script
+
+# Ensure that we have the latest versions of Twine, Wheel, and Setuptools.
+python3 -m pip install --upgrade twine wheel setuptools
+
+# Disable buffering, so that the logs stream through.
+export PYTHONUNBUFFERED=1
+
+# Move into the package, build the distribution and upload.
+TWINE_PASSWORD=$(cat "${KOKORO_KEYSTORE_DIR}/73713_google_cloud_pypi_password")
+cd github/python-resource-manager
+python3 setup.py sdist bdist_wheel
+twine upload --username gcloudpypi --password "${TWINE_PASSWORD}" dist/*
diff --git a/packages/google-cloud-resource-manager/.kokoro/release/common.cfg b/packages/google-cloud-resource-manager/.kokoro/release/common.cfg
new file mode 100644
index 000000000000..8cfa46fb06ab
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/release/common.cfg
@@ -0,0 +1,64 @@
+# Format: //devtools/kokoro/config/proto/build.proto
+
+# Build logs will be here
+action {
+ define_artifacts {
+ regex: "**/*sponge_log.xml"
+ }
+}
+
+# Download trampoline resources.
+gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
+
+# Use the trampoline script to run in docker.
+build_file: "python-resource-manager/.kokoro/trampoline.sh"
+
+# Configure the docker image for kokoro-trampoline.
+env_vars: {
+ key: "TRAMPOLINE_IMAGE"
+ value: "gcr.io/cloud-devrel-kokoro-resources/python-multi"
+}
+env_vars: {
+ key: "TRAMPOLINE_BUILD_FILE"
+ value: "github/python-resource-manager/.kokoro/release.sh"
+}
+
+# Fetch the token needed for reporting release status to GitHub
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "yoshi-automation-github-key"
+ }
+ }
+}
+
+# Fetch PyPI password
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "google_cloud_pypi_password"
+ }
+ }
+}
+
+# Fetch magictoken to use with Magic Github Proxy
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "releasetool-magictoken"
+ }
+ }
+}
+
+# Fetch api key to use with Magic Github Proxy
+before_action {
+ fetch_keystore {
+ keystore_resource {
+ keystore_config_id: 73713
+ keyname: "magic-github-proxy-api-key"
+ }
+ }
+}
diff --git a/packages/google-cloud-resource-manager/.kokoro/release/release.cfg b/packages/google-cloud-resource-manager/.kokoro/release/release.cfg
new file mode 100644
index 000000000000..8f43917d92fe
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/release/release.cfg
@@ -0,0 +1 @@
+# Format: //devtools/kokoro/config/proto/build.proto
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/.kokoro/trampoline.sh b/packages/google-cloud-resource-manager/.kokoro/trampoline.sh
new file mode 100755
index 000000000000..e8c4251f3ed4
--- /dev/null
+++ b/packages/google-cloud-resource-manager/.kokoro/trampoline.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+# Copyright 2017 Google Inc.
+#
+# 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.
+
+set -eo pipefail
+
+python3 "${KOKORO_GFILE_DIR}/trampoline_v1.py" || ret_code=$?
+
+chmod +x ${KOKORO_GFILE_DIR}/trampoline_cleanup.sh
+${KOKORO_GFILE_DIR}/trampoline_cleanup.sh || true
+
+exit ${ret_code}
diff --git a/packages/google-cloud-resource-manager/.repo-metadata.json b/packages/google-cloud-resource-manager/.repo-metadata.json
index 6986af7d7a09..5e462298e432 100644
--- a/packages/google-cloud-resource-manager/.repo-metadata.json
+++ b/packages/google-cloud-resource-manager/.repo-metadata.json
@@ -6,7 +6,7 @@
"issue_tracker": "https://issuetracker.google.com/savedsearches/559757",
"release_level": "alpha",
"language": "python",
- "repo": "googleapis/google-cloud-python",
+ "repo": "googleapis/python-resource-manager",
"distribution_name": "google-cloud-resource-manager",
"api_id": "cloudresourcemanager.googleapis.com",
"requires_billing": true
diff --git a/packages/google-cloud-resource-manager/CODE_OF_CONDUCT.md b/packages/google-cloud-resource-manager/CODE_OF_CONDUCT.md
new file mode 100644
index 000000000000..b3d1f6029849
--- /dev/null
+++ b/packages/google-cloud-resource-manager/CODE_OF_CONDUCT.md
@@ -0,0 +1,44 @@
+
+# Contributor Code of Conduct
+
+As contributors and maintainers of this project,
+and in the interest of fostering an open and welcoming community,
+we pledge to respect all people who contribute through reporting issues,
+posting feature requests, updating documentation,
+submitting pull requests or patches, and other activities.
+
+We are committed to making participation in this project
+a harassment-free experience for everyone,
+regardless of level of experience, gender, gender identity and expression,
+sexual orientation, disability, personal appearance,
+body size, race, ethnicity, age, religion, or nationality.
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery
+* Personal attacks
+* Trolling or insulting/derogatory comments
+* Public or private harassment
+* Publishing other's private information,
+such as physical or electronic
+addresses, without explicit permission
+* Other unethical or unprofessional conduct.
+
+Project maintainers have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct.
+By adopting this Code of Conduct,
+project maintainers commit themselves to fairly and consistently
+applying these principles to every aspect of managing this project.
+Project maintainers who do not follow or enforce the Code of Conduct
+may be permanently removed from the project team.
+
+This code of conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community.
+
+Instances of abusive, harassing, or otherwise unacceptable behavior
+may be reported by opening an issue
+or contacting one or more of the project maintainers.
+
+This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0,
+available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
diff --git a/packages/google-cloud-resource-manager/CONTRIBUTING.rst b/packages/google-cloud-resource-manager/CONTRIBUTING.rst
new file mode 100644
index 000000000000..4361e8d9b73c
--- /dev/null
+++ b/packages/google-cloud-resource-manager/CONTRIBUTING.rst
@@ -0,0 +1,279 @@
+.. Generated by synthtool. DO NOT EDIT!
+############
+Contributing
+############
+
+#. **Please sign one of the contributor license agreements below.**
+#. Fork the repo, develop and test your code changes, add docs.
+#. Make sure that your commit messages clearly describe the changes.
+#. Send a pull request. (Please Read: `Faster Pull Request Reviews`_)
+
+.. _Faster Pull Request Reviews: https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews
+
+.. contents:: Here are some guidelines for hacking on the Google Cloud Client libraries.
+
+***************
+Adding Features
+***************
+
+In order to add a feature:
+
+- The feature must be documented in both the API and narrative
+ documentation.
+
+- The feature must work fully on the following CPython versions: 2.7,
+ 3.5, 3.6, and 3.7 on both UNIX and Windows.
+
+- The feature must not add unnecessary dependencies (where
+ "unnecessary" is of course subjective, but new dependencies should
+ be discussed).
+
+****************************
+Using a Development Checkout
+****************************
+
+You'll have to create a development environment using a Git checkout:
+
+- While logged into your GitHub account, navigate to the
+ ``python-resource-manager`` `repo`_ on GitHub.
+
+- Fork and clone the ``python-resource-manager`` repository to your GitHub account by
+ clicking the "Fork" button.
+
+- Clone your fork of ``python-resource-manager`` from your GitHub account to your local
+ computer, substituting your account username and specifying the destination
+ as ``hack-on-python-resource-manager``. E.g.::
+
+ $ cd ${HOME}
+ $ git clone git@github.com:USERNAME/python-resource-manager.git hack-on-python-resource-manager
+ $ cd hack-on-python-resource-manager
+ # Configure remotes such that you can pull changes from the googleapis/python-resource-manager
+ # repository into your local repository.
+ $ git remote add upstream git@github.com:googleapis/python-resource-manager.git
+ # fetch and merge changes from upstream into master
+ $ git fetch upstream
+ $ git merge upstream/master
+
+Now your local repo is set up such that you will push changes to your GitHub
+repo, from which you can submit a pull request.
+
+To work on the codebase and run the tests, we recommend using ``nox``,
+but you can also use a ``virtualenv`` of your own creation.
+
+.. _repo: https://github.com/googleapis/python-resource-manager
+
+Using ``nox``
+=============
+
+We use `nox `__ to instrument our tests.
+
+- To test your changes, run unit tests with ``nox``::
+
+ $ nox -s unit-2.7
+ $ nox -s unit-3.7
+ $ ...
+
+ .. note::
+
+ The unit tests and system tests are described in the
+ ``noxfile.py`` files in each directory.
+
+.. nox: https://pypi.org/project/nox/
+
+Note on Editable Installs / Develop Mode
+========================================
+
+- As mentioned previously, using ``setuptools`` in `develop mode`_
+ or a ``pip`` `editable install`_ is not possible with this
+ library. This is because this library uses `namespace packages`_.
+ For context see `Issue #2316`_ and the relevant `PyPA issue`_.
+
+ Since ``editable`` / ``develop`` mode can't be used, packages
+ need to be installed directly. Hence your changes to the source
+ tree don't get incorporated into the **already installed**
+ package.
+
+.. _namespace packages: https://www.python.org/dev/peps/pep-0420/
+.. _Issue #2316: https://github.com/GoogleCloudPlatform/google-cloud-python/issues/2316
+.. _PyPA issue: https://github.com/pypa/packaging-problems/issues/12
+.. _develop mode: https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode
+.. _editable install: https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
+
+*****************************************
+I'm getting weird errors... Can you help?
+*****************************************
+
+If the error mentions ``Python.h`` not being found,
+install ``python-dev`` and try again.
+On Debian/Ubuntu::
+
+ $ sudo apt-get install python-dev
+
+************
+Coding Style
+************
+
+- PEP8 compliance, with exceptions defined in the linter configuration.
+ If you have ``nox`` installed, you can test that you have not introduced
+ any non-compliant code via::
+
+ $ nox -s lint
+
+- In order to make ``nox -s lint`` run faster, you can set some environment
+ variables::
+
+ export GOOGLE_CLOUD_TESTING_REMOTE="upstream"
+ export GOOGLE_CLOUD_TESTING_BRANCH="master"
+
+ By doing this, you are specifying the location of the most up-to-date
+ version of ``python-resource-manager``. The the suggested remote name ``upstream``
+ should point to the official ``googleapis`` checkout and the
+ the branch should be the main branch on that remote (``master``).
+
+Exceptions to PEP8:
+
+- Many unit tests use a helper method, ``_call_fut`` ("FUT" is short for
+ "Function-Under-Test"), which is PEP8-incompliant, but more readable.
+ Some also use a local variable, ``MUT`` (short for "Module-Under-Test").
+
+********************
+Running System Tests
+********************
+
+- To run system tests, you can execute::
+
+ $ nox -s system-3.7
+ $ nox -s system-2.7
+
+ .. note::
+
+ System tests are only configured to run under Python 2.7 and
+ Python 3.7. For expediency, we do not run them in older versions
+ of Python 3.
+
+ This alone will not run the tests. You'll need to change some local
+ auth settings and change some configuration in your project to
+ run all the tests.
+
+- System tests will be run against an actual project and
+ so you'll need to provide some environment variables to facilitate
+ authentication to your project:
+
+ - ``GOOGLE_APPLICATION_CREDENTIALS``: The path to a JSON key file;
+ Such a file can be downloaded directly from the developer's console by clicking
+ "Generate new JSON key". See private key
+ `docs `__
+ for more details.
+
+- Once you have downloaded your json keys, set the environment variable
+ ``GOOGLE_APPLICATION_CREDENTIALS`` to the absolute path of the json file::
+
+ $ export GOOGLE_APPLICATION_CREDENTIALS="/Users//path/to/app_credentials.json"
+
+
+*************
+Test Coverage
+*************
+
+- The codebase *must* have 100% test statement coverage after each commit.
+ You can test coverage via ``nox -s cover``.
+
+******************************************************
+Documentation Coverage and Building HTML Documentation
+******************************************************
+
+If you fix a bug, and the bug requires an API or behavior modification, all
+documentation in this package which references that API or behavior must be
+changed to reflect the bug fix, ideally in the same commit that fixes the bug
+or adds the feature.
+
+Build the docs via:
+
+ $ nox -s docs
+
+********************************************
+Note About ``README`` as it pertains to PyPI
+********************************************
+
+The `description on PyPI`_ for the project comes directly from the
+``README``. Due to the reStructuredText (``rst``) parser used by
+PyPI, relative links which will work on GitHub (e.g. ``CONTRIBUTING.rst``
+instead of
+``https://github.com/googleapis/python-resource-manager/blob/master/CONTRIBUTING.rst``)
+may cause problems creating links or rendering the description.
+
+.. _description on PyPI: https://pypi.org/project/google-cloud-resource-manager
+
+
+*************************
+Supported Python Versions
+*************************
+
+We support:
+
+- `Python 3.5`_
+- `Python 3.6`_
+- `Python 3.7`_
+
+.. _Python 3.5: https://docs.python.org/3.5/
+.. _Python 3.6: https://docs.python.org/3.6/
+.. _Python 3.7: https://docs.python.org/3.7/
+
+
+Supported versions can be found in our ``noxfile.py`` `config`_.
+
+.. _config: https://github.com/googleapis/python-resource-manager/blob/master/noxfile.py
+
+We explicitly decided not to support `Python 2.5`_ due to `decreased usage`_
+and lack of continuous integration `support`_.
+
+.. _Python 2.5: https://docs.python.org/2.5/
+.. _decreased usage: https://caremad.io/2013/10/a-look-at-pypi-downloads/
+.. _support: https://blog.travis-ci.com/2013-11-18-upcoming-build-environment-updates/
+
+We have `dropped 2.6`_ as a supported version as well since Python 2.6 is no
+longer supported by the core development team.
+
+Python 2.7 support is deprecated. All code changes should maintain Python 2.7 compatibility until January 1, 2020.
+
+We also explicitly decided to support Python 3 beginning with version
+3.5. Reasons for this include:
+
+- Encouraging use of newest versions of Python 3
+- Taking the lead of `prominent`_ open-source `projects`_
+- `Unicode literal support`_ which allows for a cleaner codebase that
+ works in both Python 2 and Python 3
+
+.. _prominent: https://docs.djangoproject.com/en/1.9/faq/install/#what-python-version-can-i-use-with-django
+.. _projects: http://flask.pocoo.org/docs/0.10/python3/
+.. _Unicode literal support: https://www.python.org/dev/peps/pep-0414/
+.. _dropped 2.6: https://github.com/googleapis/google-cloud-python/issues/995
+
+**********
+Versioning
+**********
+
+This library follows `Semantic Versioning`_.
+
+.. _Semantic Versioning: http://semver.org/
+
+Some packages are currently in major version zero (``0.y.z``), which means that
+anything may change at any time and the public API should not be considered
+stable.
+
+******************************
+Contributor License Agreements
+******************************
+
+Before we can accept your pull requests you'll need to sign a Contributor
+License Agreement (CLA):
+
+- **If you are an individual writing original source code** and **you own the
+ intellectual property**, then you'll need to sign an
+ `individual CLA `__.
+- **If you work for a company that wants to allow you to contribute your work**,
+ then you'll need to sign a
+ `corporate CLA `__.
+
+You can sign these electronically (just scroll to the bottom). After that,
+we'll be able to accept your pull requests.
diff --git a/packages/google-cloud-resource-manager/LICENSE b/packages/google-cloud-resource-manager/LICENSE
index d64569567334..a8ee855de2aa 100644
--- a/packages/google-cloud-resource-manager/LICENSE
+++ b/packages/google-cloud-resource-manager/LICENSE
@@ -1,7 +1,6 @@
-
- Apache License
+ Apache License
Version 2.0, January 2004
- http://www.apache.org/licenses/
+ https://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
@@ -193,7 +192,7 @@
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
+ 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,
diff --git a/packages/google-cloud-resource-manager/MANIFEST.in b/packages/google-cloud-resource-manager/MANIFEST.in
index fc77f8c82ff0..cd011be27a0e 100644
--- a/packages/google-cloud-resource-manager/MANIFEST.in
+++ b/packages/google-cloud-resource-manager/MANIFEST.in
@@ -1,4 +1,6 @@
+# Generated by synthtool. DO NOT EDIT!
include README.rst LICENSE
recursive-include google *.json *.proto
recursive-include tests *
-global-exclude *.pyc __pycache__
+global-exclude *.py[co]
+global-exclude __pycache__
diff --git a/packages/google-cloud-resource-manager/docs/_static/custom.css b/packages/google-cloud-resource-manager/docs/_static/custom.css
index 9a6f9f8ddc3a..0abaf229fce3 100644
--- a/packages/google-cloud-resource-manager/docs/_static/custom.css
+++ b/packages/google-cloud-resource-manager/docs/_static/custom.css
@@ -1,4 +1,4 @@
div#python2-eol {
border-color: red;
border-width: medium;
-}
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/docs/_templates/layout.html b/packages/google-cloud-resource-manager/docs/_templates/layout.html
index de457b2c2767..228529efe2d2 100644
--- a/packages/google-cloud-resource-manager/docs/_templates/layout.html
+++ b/packages/google-cloud-resource-manager/docs/_templates/layout.html
@@ -1,3 +1,4 @@
+
{% extends "!layout.html" %}
{%- block content %}
{%- if theme_fixed_sidebar|lower == 'true' %}
diff --git a/packages/google-cloud-resource-manager/docs/conf.py b/packages/google-cloud-resource-manager/docs/conf.py
index 03c55baf2147..9794dc5e32ac 100644
--- a/packages/google-cloud-resource-manager/docs/conf.py
+++ b/packages/google-cloud-resource-manager/docs/conf.py
@@ -20,7 +20,7 @@
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath(".."))
-__version__ = "0.1.0"
+__version__ = ""
# -- General configuration ------------------------------------------------
@@ -66,7 +66,7 @@
# General information about the project.
project = u"google-cloud-resource-manager"
-copyright = u"2017, Google"
+copyright = u"2019, Google"
author = u"Google APIs"
# The version info for the project you're documenting, acts as replacement for
@@ -133,9 +133,9 @@
# further. For a list of options available for each theme, see the
# documentation.
html_theme_options = {
- "description": "Google Cloud Client Libraries for Python",
+ "description": "Google Cloud Client Libraries for google-cloud-resource-manager",
"github_user": "googleapis",
- "github_repo": "google-cloud-python",
+ "github_repo": "python-resource-manager",
"github_banner": True,
"font_family": "'Roboto', Georgia, sans",
"head_font_family": "'Roboto', Georgia, serif",
@@ -318,7 +318,7 @@
u"google-cloud-resource-manager Documentation",
author,
"google-cloud-resource-manager",
- "GAPIC library for the Resource Manager API",
+ "google-cloud-resource-manager Library",
"APIs",
)
]
@@ -340,9 +340,8 @@
intersphinx_mapping = {
"python": ("http://python.readthedocs.org/en/latest/", None),
"google-auth": ("https://google-auth.readthedocs.io/en/stable", None),
- "google.api_core": ("https://googleapis.dev/python/google-api-core/latest", None),
+ "google.api_core": ("https://googleapis.dev/python/google-api-core/latest/", None),
"grpc": ("https://grpc.io/grpc/python/", None),
- "requests": ("https://requests.kennethreitz.org/en/stable/", None),
}
diff --git a/packages/google-cloud-resource-manager/noxfile.py b/packages/google-cloud-resource-manager/noxfile.py
index 5d245ca88440..e461b895dee7 100644
--- a/packages/google-cloud-resource-manager/noxfile.py
+++ b/packages/google-cloud-resource-manager/noxfile.py
@@ -1,10 +1,12 @@
-# Copyright 2016 Google LLC
+# -*- coding: utf-8 -*-
+#
+# Copyright 2018 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
+# 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,
@@ -12,102 +14,124 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from __future__ import absolute_import
+# Generated by synthtool. DO NOT EDIT!
+from __future__ import absolute_import
import os
import shutil
import nox
-LOCAL_DEPS = (
- os.path.join('..', 'api_core'),
- os.path.join('..', 'core'),
-)
+BLACK_VERSION = "black==19.3b0"
+BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"]
+
+if os.path.exists("samples"):
+ BLACK_PATHS.append("samples")
@nox.session(python="3.7")
def lint(session):
"""Run linters.
+
Returns a failure if the linters find linting errors or sufficiently
serious code quality issues.
"""
- session.install("flake8", "black", *LOCAL_DEPS)
- session.run(
- "black",
- "--check",
- "google",
- "tests",
- "docs",
- )
+ session.install("flake8", BLACK_VERSION)
+ session.run("black", "--check", *BLACK_PATHS)
session.run("flake8", "google", "tests")
@nox.session(python="3.6")
def blacken(session):
"""Run black.
+
Format code to uniform standard.
+
+ This currently uses Python 3.6 due to the automated Kokoro run of synthtool.
+ That run uses an image that doesn't have 3.6 installed. Before updating this
+ check the state of the `gcp_ubuntu_config` we use for that Kokoro run.
"""
- session.install("black")
- session.run(
- "black",
- "google",
- "tests",
- "docs",
- )
+ session.install(BLACK_VERSION)
+ session.run("black", *BLACK_PATHS)
-@nox.session(python='3.6')
+@nox.session(python="3.7")
def lint_setup_py(session):
"""Verify that setup.py is valid (including RST check)."""
- session.install('docutils', 'Pygments')
- session.run(
- 'python', 'setup.py', 'check', '--restructuredtext', '--strict')
+ session.install("docutils", "pygments")
+ session.run("python", "setup.py", "check", "--restructuredtext", "--strict")
def default(session):
- """Default unit test session.
-
- This is intended to be run **without** an interpreter set, so
- that the current ``python`` (on the ``PATH``) or the version of
- Python corresponding to the ``nox`` binary the ``PATH`` can
- run the tests.
- """
- # Install all test dependencies, then install local packages in-place.
- session.install('mock', 'pytest', 'pytest-cov')
- for local_dep in LOCAL_DEPS:
- session.install('-e', local_dep)
- session.install('-e', '.')
+ # Install all test dependencies, then install this package in-place.
+ session.install("mock", "pytest", "pytest-cov")
+ session.install("-e", ".")
# Run py.test against the unit tests.
session.run(
- 'py.test',
- '--quiet',
- '--cov=google.cloud.resource_manager',
- '--cov=tests.unit',
- '--cov-append',
- '--cov-config=.coveragerc',
- '--cov-report=',
- '--cov-fail-under=97',
- 'tests/unit',
+ "py.test",
+ "--quiet",
+ "--cov=google.cloud",
+ "--cov=tests.unit",
+ "--cov-append",
+ "--cov-config=.coveragerc",
+ "--cov-report=",
+ "--cov-fail-under=0",
+ os.path.join("tests", "unit"),
+ *session.posargs,
)
-@nox.session(python=['2.7', '3.5', '3.6', '3.7'])
+@nox.session(python=["2.7", "3.5", "3.6", "3.7", "3.8"])
def unit(session):
+ """Run the unit test suite."""
default(session)
-@nox.session(python='3.6')
+@nox.session(python=["2.7", "3.7"])
+def system(session):
+ """Run the system test suite."""
+ system_test_path = os.path.join("tests", "system.py")
+ system_test_folder_path = os.path.join("tests", "system")
+ # Sanity check: Only run tests if the environment variable is set.
+ if not os.environ.get("GOOGLE_APPLICATION_CREDENTIALS", ""):
+ session.skip("Credentials must be set via environment variable")
+
+ system_test_exists = os.path.exists(system_test_path)
+ system_test_folder_exists = os.path.exists(system_test_folder_path)
+ # Sanity check: only run tests if found.
+ if not system_test_exists and not system_test_folder_exists:
+ session.skip("System tests were not found")
+
+ # Use pre-release gRPC for system tests.
+ session.install("--pre", "grpcio")
+
+ # Install all test dependencies, then install this package into the
+ # virtualenv's dist-packages.
+ session.install("mock", "pytest")
+
+ session.install("-e", ".")
+
+ # Run py.test against the system tests.
+ if system_test_exists:
+ session.run("py.test", "--quiet", system_test_path, *session.posargs)
+ if system_test_folder_exists:
+ session.run("py.test", "--quiet", system_test_folder_path, *session.posargs)
+
+
+@nox.session(python="3.7")
def cover(session):
"""Run the final coverage report.
This outputs the coverage report aggregating coverage from the unit
test runs (not system test runs), and then erases coverage data.
"""
- session.install('coverage', 'pytest-cov')
- session.run('coverage', 'report', '--show-missing', '--fail-under=100')
- session.run('coverage', 'erase')
+ session.install("coverage", "pytest-cov")
+ session.run("coverage", "report", "--show-missing", "--fail-under=99")
+
+ session.run("coverage", "erase")
+
@nox.session(python="3.7")
def docs(session):
@@ -128,4 +152,4 @@ def docs(session):
os.path.join("docs", "_build", "doctrees", ""),
os.path.join("docs", ""),
os.path.join("docs", "_build", "html", ""),
- )
\ No newline at end of file
+ )
diff --git a/packages/google-cloud-resource-manager/renovate.json b/packages/google-cloud-resource-manager/renovate.json
new file mode 100644
index 000000000000..4fa949311b20
--- /dev/null
+++ b/packages/google-cloud-resource-manager/renovate.json
@@ -0,0 +1,5 @@
+{
+ "extends": [
+ "config:base", ":preserveSemverRanges"
+ ]
+}
diff --git a/packages/google-cloud-resource-manager/setup.cfg b/packages/google-cloud-resource-manager/setup.cfg
index 2a9acf13daa9..3bd555500e37 100644
--- a/packages/google-cloud-resource-manager/setup.cfg
+++ b/packages/google-cloud-resource-manager/setup.cfg
@@ -1,2 +1,3 @@
+# Generated by synthtool. DO NOT EDIT!
[bdist_wheel]
universal = 1
diff --git a/packages/google-cloud-resource-manager/setup.py b/packages/google-cloud-resource-manager/setup.py
index f207d743e9e5..663cbd6b8b66 100644
--- a/packages/google-cloud-resource-manager/setup.py
+++ b/packages/google-cloud-resource-manager/setup.py
@@ -20,39 +20,36 @@
# Package metadata.
-name = 'google-cloud-resource-manager'
-description = 'Google Cloud Resource Manager API client library'
-version = '0.30.0'
+name = "google-cloud-resource-manager"
+description = "Google Cloud Resource Manager API client library"
+version = "0.30.0"
# Should be one of:
# 'Development Status :: 3 - Alpha'
# 'Development Status :: 4 - Beta'
# 'Development Status :: 5 - Production/Stable'
-release_status = 'Development Status :: 3 - Alpha'
-dependencies = [
- "google-cloud-core >= 1.1.0, < 2.0dev",
-]
-extras = {
-}
+release_status = "Development Status :: 3 - Alpha"
+dependencies = ["google-cloud-core >= 1.1.0, < 2.0dev"]
+extras = {}
# Setup boilerplate below this line.
package_root = os.path.abspath(os.path.dirname(__file__))
-readme_filename = os.path.join(package_root, 'README.rst')
-with io.open(readme_filename, encoding='utf-8') as readme_file:
+readme_filename = os.path.join(package_root, "README.rst")
+with io.open(readme_filename, encoding="utf-8") as readme_file:
readme = readme_file.read()
# Only include packages under the 'google' namespace. Do not include tests,
# benchmarks, etc.
packages = [
- package for package in setuptools.find_packages()
- if package.startswith('google')]
+ package for package in setuptools.find_packages() if package.startswith("google")
+]
# Determine which namespaces are needed.
-namespaces = ['google']
-if 'google.cloud' in packages:
- namespaces.append('google.cloud')
+namespaces = ["google"]
+if "google.cloud" in packages:
+ namespaces.append("google.cloud")
setuptools.setup(
@@ -60,30 +57,30 @@
version=version,
description=description,
long_description=readme,
- author='Google LLC',
- author_email='googleapis-packages@google.com',
- license='Apache 2.0',
- url='https://github.com/GoogleCloudPlatform/google-cloud-python',
+ author="Google LLC",
+ author_email="googleapis-packages@google.com",
+ license="Apache 2.0",
+ url="https://github.com/googleapis/python-resource-manager",
classifiers=[
release_status,
- 'Intended Audience :: Developers',
- 'License :: OSI Approved :: Apache Software License',
- 'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Operating System :: OS Independent',
- 'Topic :: Internet',
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: Apache Software License",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 2",
+ "Programming Language :: Python :: 2.7",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.5",
+ "Programming Language :: Python :: 3.6",
+ "Programming Language :: Python :: 3.7",
+ "Operating System :: OS Independent",
+ "Topic :: Internet",
],
- platforms='Posix; MacOS X; Windows',
+ platforms="Posix; MacOS X; Windows",
packages=packages,
namespace_packages=namespaces,
install_requires=dependencies,
extras_require=extras,
- python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
+ python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*",
include_package_data=True,
zip_safe=False,
)
diff --git a/packages/google-cloud-resource-manager/synth.metadata b/packages/google-cloud-resource-manager/synth.metadata
new file mode 100644
index 000000000000..9b848bf53512
--- /dev/null
+++ b/packages/google-cloud-resource-manager/synth.metadata
@@ -0,0 +1,12 @@
+{
+ "updateTime": "2020-02-04T22:26:28.122324Z",
+ "sources": [
+ {
+ "template": {
+ "name": "python_split_library",
+ "origin": "synthtool.gcp",
+ "version": "2019.10.17"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/synth.py b/packages/google-cloud-resource-manager/synth.py
new file mode 100644
index 000000000000..7822c8334fa8
--- /dev/null
+++ b/packages/google-cloud-resource-manager/synth.py
@@ -0,0 +1,30 @@
+# 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 re
+
+import synthtool as s
+from synthtool import gcp
+
+common = gcp.CommonTemplates()
+
+# ----------------------------------------------------------------------------
+# Add templated files
+# ----------------------------------------------------------------------------
+templated_files = common.py_library(cov_level=99)
+s.move(templated_files)
+
+s.shell.run(["nox", "-s", "blacken"], hide_output=False)
\ No newline at end of file
diff --git a/packages/google-cloud-resource-manager/tests/unit/test__http.py b/packages/google-cloud-resource-manager/tests/unit/test__http.py
index 291dab1036cb..38d09dcd780f 100644
--- a/packages/google-cloud-resource-manager/tests/unit/test__http.py
+++ b/packages/google-cloud-resource-manager/tests/unit/test__http.py
@@ -78,5 +78,5 @@ def test_extra_headers(self):
headers=expected_headers,
method="GET",
url=expected_uri,
- timeout=None,
+ timeout=60,
)