Viewing file: synth.py (3 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# Copyright 2019 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 import synthtool.gcp as gcp import logging
logging.basicConfig(level=logging.DEBUG)
gapic = gcp.GAPICBazel() common = gcp.CommonTemplates()
v1_library = gapic.php_library( service='translate', version='v3', bazel_target='//google/cloud/translate/v3:google-cloud-translation-v3-php', )
# copy all src except partial veneer classes s.move(v1_library / f'src/')
# copy proto files to src also s.move(v1_library / f'proto/src/Google/Cloud/Translate', f'src/') s.move(v1_library / f'tests/')
# copy GPBMetadata file to metadata s.move(v1_library / f'proto/src/GPBMetadata/Google/Cloud/Translate', f'metadata/')
# document and utilize apiEndpoint instead of serviceAddress s.replace( "**/Gapic/*GapicClient.php", r"'serviceAddress' =>", r"'apiEndpoint' =>") s.replace( "**/Gapic/*GapicClient.php", r"@type string \$serviceAddress\n\s+\*\s+The address", r"""@type string $serviceAddress * **Deprecated**. This option will be removed in a future major release. Please * utilize the `$apiEndpoint` option instead. * @type string $apiEndpoint * The address""") s.replace( "**/Gapic/*GapicClient.php", r"\$transportConfig, and any \$serviceAddress", r"$transportConfig, and any `$apiEndpoint`")
# fix year s.replace( 'src/V3/**/*.php', r'Copyright \d{4}', r'Copyright 2019') s.replace( 'tests/**/V3/*Test.php', r'Copyright \d{4}', r'Copyright 2019')
# Change the wording for the deprecation warning. s.replace( 'src/*/*_*.php', r'will be removed in the next major release', 'will be removed in a future release')
### [START] protoc backwards compatibility fixes
# roll back to private properties. s.replace( "src/**/V*/**/*.php", r"Generated from protobuf field ([^\n]{0,})\n\s{5}\*/\n\s{4}protected \$", r"""Generated from protobuf field \1 */ private $""")
# prevent proto messages from being marked final s.replace( "src/**/V*/**/*.php", r"final class", r"class")
# Replace "Unwrapped" with "Value" for method names. s.replace( "src/**/V*/**/*.php", r"public function ([s|g]\w{3,})Unwrapped", r"public function \1Value" )
### [END] protoc backwards compatibility fixes
# fix relative cloud.google.com links s.replace( "src/**/V*/**/*.php", r"(.{0,})\]\((/.{0,})\)", r"\1](https://cloud.google.com\2)" )
|