# 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
#
# 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

gapic = gcp.GAPICGenerator()
common = gcp.CommonTemplates()
version = 'v2'

library = gapic.py_library(
    'bigquery',
    version,
    config_path='/google/cloud/bigquery/'
                'artman_bigquery_v2.yaml',
    artman_output_name='bigquery-v2',
    include_protos=True,
)

s.move(
    [
        library / "google/cloud/bigquery_v2/gapic/enums.py",
        library / "google/cloud/bigquery_v2/types.py",
        library / "google/cloud/bigquery_v2/proto/location*",
        library / "google/cloud/bigquery_v2/proto/encryption_config*",
        library / "google/cloud/bigquery_v2/proto/model*",
        library / "google/cloud/bigquery_v2/proto/standard_sql*",
    ],
)

# Fix up proto docs that are missing summary line.
s.replace(
    "google/cloud/bigquery_v2/proto/model_pb2.py",
    '"""Attributes:',
    '"""Protocol buffer.\n\n  Attributes:',
)
s.replace(
    "google/cloud/bigquery_v2/proto/encryption_config_pb2.py",
    '"""Attributes:',
    '"""Encryption configuration.\n\n  Attributes:',
)

# Remove non-ascii characters from docstrings for Python 2.7.
# Format quoted strings as plain text.
s.replace("google/cloud/bigquery_v2/proto/*.py", "[“”]", '``')

# ----------------------------------------------------------------------------
# Add templated files
# ----------------------------------------------------------------------------
templated_files = common.py_library(cov_level=100)
s.move(templated_files, excludes=["noxfile.py"])

s.shell.run(["nox", "-s", "blacken"], hide_output=False)

@@ -712,17 +712,13 @@
 APIC
-Generator
+Bazel
 ()%0Ac
@@ -795,16 +795,24 @@
 ry(%0A    
+service=
 'bigquer
@@ -830,131 +830,93 @@
 sion
-,%0A    config_path='/google/cloud/bigquery/'%0A                'artman_bigquery_v2.yaml',%0A    artman_output_name='bigquery-v2'
+=version,%0A    bazel_target=f%22//google/cloud/bigquery/%7Bversion%7D:bigquery-%7Bversion%7D-py%22
 ,%0A  

migrate synth.py from artman to bazel (#80)