# Copyright 2022 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.


deep-remove-regex:
- "/java-maps-addressvalidation/grpc-google-.*/src"
- "/java-maps-addressvalidation/proto-google-.*/src"
- "/java-maps-addressvalidation/google-.*/src"
- "/java-maps-addressvalidation/samples/snippets/generated"

deep-preserve-regex:
- "/java-maps-addressvalidation/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java"

deep-copy-regex:
- source: "/google/maps/addressvalidation/(v.*)/.*-java/proto-google-.*/src"
  dest: "/owl-bot-staging/java-maps-addressvalidation/$1/proto-google-maps-addressvalidation-$1/src"
- source: "/google/maps/addressvalidation/(v.*)/.*-java/grpc-google-.*/src"
  dest: "/owl-bot-staging/java-maps-addressvalidation/$1/grpc-google-maps-addressvalidation-$1/src"
- source: "/google/maps/addressvalidation/(v.*)/.*-java/gapic-google-.*/src"
  dest: "/owl-bot-staging/java-maps-addressvalidation/$1/google-maps-addressvalidation/src"
- source: "/google/maps/addressvalidation/(v.*)/.*-java/samples/snippets/generated"
  dest: "/owl-bot-staging/java-maps-addressvalidation/$1/samples/snippets/generated"

api-name: maps-addressvalidation
