| # 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 | |
| # | |
| # https://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. | |
| import synthtool as s | |
| from synthtool.languages import java | |
| import glob | |
| # License header | |
| license = """/* | |
| * Copyright 2019 The Grafeas Authors. All rights reserved. | |
| * | |
| * 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 | |
| * | |
| * https://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. | |
| */ | |
| """ | |
| protobuf_header = "// Generated by the protocol buffer compiler. DO NOT EDIT!" | |
| # put any special-case replacements here | |
| for file in glob.glob('owl-bot-staging/v1/src/**/*.java', recursive=True): | |
| if " * Copyright 2021 Google LLC" not in open(file).read() \ | |
| and protobuf_header in open(file).read() \ | |
| and license not in open(file).read(): | |
| s.replace( | |
| f'owl-bot-staging/v1/src/**/*.java', | |
| protobuf_header, | |
| f"{license}\n{protobuf_header}" | |
| ) | |
| # strip out Google-specific parts | |
| # Remove default scope | |
| s.replace( | |
| f'owl-bot-staging/v1/src/main/java/io/grafeas/v1/GrafeasGrpc.java', | |
| f"package io.grafeas.v1;", | |
| f"{license}\npackage io.grafeas.v1;" | |
| ) | |
| s.replace( | |
| f'owl-bot-staging/v1/src/**/GrafeasStubSettings.java', | |
| r'^(.*)ImmutableList\.<String>builder\(\).add\(".*"\)\.build\(\);', | |
| '\g<1>ImmutableList.of();' | |
| ) | |
| # Remove default service endpoint | |
| s.replace( | |
| f'owl-bot-staging/v1/src/**/GrafeasStubSettings.java', | |
| ' return "containeranalysis.googleapis.com:443";', | |
| ' return null;' | |
| ) | |
| # Remove default service endpoint javadoc | |
| s.replace( | |
| f'owl-bot-staging/v1/src/**/GrafeasStubSettings.java', | |
| '\s+\*.*default service address.*\n\s+\*.*', | |
| '' | |
| ) | |
| for library in s.get_staging_dirs(): | |
| # put any special-case replacements here | |
| s.move(library) | |
| s.remove_staging_dirs() | |
| java.common_templates(monorepo=True, excludes=[ | |
| ".github/*", | |
| ".kokoro/*", | |
| "samples/*", | |
| "CODE_OF_CONDUCT.md", | |
| "CONTRIBUTING.md", | |
| "LICENSE", | |
| "SECURITY.md", | |
| "java.header", | |
| "license-checks.xml", | |
| "renovate.json", | |
| ".gitignore" | |
| ]) |