1*55e87721SMatt Gilbride# Copyright 2021 Google LLC 2*55e87721SMatt Gilbride# 3*55e87721SMatt Gilbride# Licensed under the Apache License, Version 2.0 (the "License"); 4*55e87721SMatt Gilbride# you may not use this file except in compliance with the License. 5*55e87721SMatt Gilbride# You may obtain a copy of the License at 6*55e87721SMatt Gilbride# 7*55e87721SMatt Gilbride# https://www.apache.org/licenses/LICENSE-2.0 8*55e87721SMatt Gilbride# 9*55e87721SMatt Gilbride# Unless required by applicable law or agreed to in writing, software 10*55e87721SMatt Gilbride# distributed under the License is distributed on an "AS IS" BASIS, 11*55e87721SMatt Gilbride# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*55e87721SMatt Gilbride# See the License for the specific language governing permissions and 13*55e87721SMatt Gilbride# limitations under the License. 14*55e87721SMatt Gilbride 15*55e87721SMatt Gilbrideimport synthtool as s 16*55e87721SMatt Gilbridefrom synthtool.languages import java 17*55e87721SMatt Gilbride 18*55e87721SMatt Gilbride 19*55e87721SMatt GilbrideGET_IAM_POLICY = """ 20*55e87721SMatt Gilbride public final Policy getIamPolicy(QueueName queueName) { 21*55e87721SMatt Gilbride return getIamPolicy((ResourceName) queueName); 22*55e87721SMatt Gilbride } 23*55e87721SMatt Gilbride""" 24*55e87721SMatt GilbrideGET_IAM_POLICY_PREVIOUS = r'(\s+public final Policy getIamPolicy\(GetIamPolicyRequest request\) {\n\s+return .*\n\s+})' 25*55e87721SMatt Gilbride 26*55e87721SMatt GilbrideSET_IAM_POLICY = """ 27*55e87721SMatt Gilbride public final Policy setIamPolicy(QueueName queue, Policy policy) { 28*55e87721SMatt Gilbride return setIamPolicy((ResourceName) queue, policy); 29*55e87721SMatt Gilbride } 30*55e87721SMatt Gilbride""" 31*55e87721SMatt GilbrideSET_IAM_POLICY_PREVIOUS = r'(\s+public final Policy setIamPolicy\(SetIamPolicyRequest request\) {\n\s+return .*\n\s+})' 32*55e87721SMatt Gilbride 33*55e87721SMatt GilbrideTEST_IAM_POLICY = """ 34*55e87721SMatt Gilbride public final TestIamPermissionsResponse testIamPermissions( 35*55e87721SMatt Gilbride QueueName queue, List<String> permissions) { 36*55e87721SMatt Gilbride return testIamPermissions((ResourceName) queue, permissions); 37*55e87721SMatt Gilbride } 38*55e87721SMatt Gilbride""" 39*55e87721SMatt GilbrideTEST_IAM_POLICY_PREVIOUS = r'(\spublic final TestIamPermissionsResponse testIamPermissions\(TestIamPermissionsRequest request\) {\n\s+return .*\n\s+})' 40*55e87721SMatt Gilbride 41*55e87721SMatt Gilbridefor library in s.get_staging_dirs(): 42*55e87721SMatt Gilbride # put any special-case replacements here 43*55e87721SMatt Gilbride version = library.parts[len(library.parts) - 1] 44*55e87721SMatt Gilbride service = 'tasks' 45*55e87721SMatt Gilbride s.replace( 46*55e87721SMatt Gilbride f'owl-bot-staging/{version}/google-cloud-{service}/src/main/java/com/google/cloud/tasks/{version}/CloudTasksClient.java', 47*55e87721SMatt Gilbride GET_IAM_POLICY_PREVIOUS, 48*55e87721SMatt Gilbride "\g<1>\n\n" + GET_IAM_POLICY 49*55e87721SMatt Gilbride ) 50*55e87721SMatt Gilbride s.replace( 51*55e87721SMatt Gilbride f'owl-bot-staging/{version}/google-cloud-{service}/src/main/java/com/google/cloud/tasks/{version}/CloudTasksClient.java', 52*55e87721SMatt Gilbride SET_IAM_POLICY_PREVIOUS, 53*55e87721SMatt Gilbride "\g<1>\n\n" + SET_IAM_POLICY 54*55e87721SMatt Gilbride ) 55*55e87721SMatt Gilbride s.replace( 56*55e87721SMatt Gilbride f'owl-bot-staging/{version}/google-cloud-{service}/src/main/java/com/google/cloud/tasks/{version}/CloudTasksClient.java', 57*55e87721SMatt Gilbride TEST_IAM_POLICY_PREVIOUS, 58*55e87721SMatt Gilbride "\g<1>\n\n" + TEST_IAM_POLICY 59*55e87721SMatt Gilbride ) 60*55e87721SMatt Gilbride s.move(library) 61*55e87721SMatt Gilbride 62*55e87721SMatt Gilbrides.remove_staging_dirs() 63*55e87721SMatt Gilbridejava.common_templates(monorepo=True, excludes=[ 64*55e87721SMatt Gilbride ".github/*", 65*55e87721SMatt Gilbride ".kokoro/*", 66*55e87721SMatt Gilbride "samples/*", 67*55e87721SMatt Gilbride "CODE_OF_CONDUCT.md", 68*55e87721SMatt Gilbride "CONTRIBUTING.md", 69*55e87721SMatt Gilbride "LICENSE", 70*55e87721SMatt Gilbride "SECURITY.md", 71*55e87721SMatt Gilbride "java.header", 72*55e87721SMatt Gilbride "license-checks.xml", 73*55e87721SMatt Gilbride "renovate.json", 74*55e87721SMatt Gilbride ".gitignore" 75*55e87721SMatt Gilbride]) 76