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 Gilbrideget_grafeas_code = """ 19*55e87721SMatt Gilbride /** 20*55e87721SMatt Gilbride * Returns a new GrafeasClient with the same configured settings. 21*55e87721SMatt Gilbride * 22*55e87721SMatt Gilbride * @throws IOException 23*55e87721SMatt Gilbride */ 24*55e87721SMatt Gilbride public GrafeasClient getGrafeasClient() throws IOException { 25*55e87721SMatt Gilbride return GrafeasClient.create(GrafeasUtils.transformSettings(settings)); 26*55e87721SMatt Gilbride } 27*55e87721SMatt Gilbride""" 28*55e87721SMatt Gilbride 29*55e87721SMatt Gilbridefor library in s.get_staging_dirs(): 30*55e87721SMatt Gilbride # put any special-case replacements here 31*55e87721SMatt Gilbride s.replace( 32*55e87721SMatt Gilbride f'owl-bot-staging/v1/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1/ContainerAnalysisClient.java', 33*55e87721SMatt Gilbride 'import com.google.iam.v1.TestIamPermissionsResponse;', 34*55e87721SMatt Gilbride 'import com.google.iam.v1.TestIamPermissionsResponse;\nimport io.grafeas.v1.GrafeasClient;' 35*55e87721SMatt Gilbride ) 36*55e87721SMatt Gilbride 37*55e87721SMatt Gilbride # add getGrafeasClient() 38*55e87721SMatt Gilbride s.replace( 39*55e87721SMatt Gilbride f'owl-bot-staging/v1/google-cloud-containeranalysis/src/main/java/com/google/cloud/devtools/containeranalysis/v1/ContainerAnalysisClient.java', 40*55e87721SMatt Gilbride r'(\s+private final ContainerAnalysisStub stub;.*)', 41*55e87721SMatt Gilbride f'\g<1>{get_grafeas_code}' 42*55e87721SMatt Gilbride ) 43*55e87721SMatt Gilbride s.move(library) 44*55e87721SMatt Gilbride 45*55e87721SMatt Gilbrides.remove_staging_dirs() 46*55e87721SMatt Gilbridejava.common_templates(monorepo=True, excludes=[ 47*55e87721SMatt Gilbride ".github/*", 48*55e87721SMatt Gilbride ".kokoro/*", 49*55e87721SMatt Gilbride "samples/*", 50*55e87721SMatt Gilbride "CODE_OF_CONDUCT.md", 51*55e87721SMatt Gilbride "CONTRIBUTING.md", 52*55e87721SMatt Gilbride "LICENSE", 53*55e87721SMatt Gilbride "SECURITY.md", 54*55e87721SMatt Gilbride "java.header", 55*55e87721SMatt Gilbride "license-checks.xml", 56*55e87721SMatt Gilbride "renovate.json", 57*55e87721SMatt Gilbride ".gitignore" 58*55e87721SMatt Gilbride]) 59