# Copyright 2021 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-certificate-manager/samples/snippets/generated"
- "/java-certificate-manager/grpc-google-.*/src"
- "/java-certificate-manager/proto-google-.*/src"
- "/java-certificate-manager/google-.*/src"

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

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

api-name: certificatemanager
