| # Copyright 2015 gRPC authors. |
| # |
| # 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. |
| """Buildgen expand binary attributes plugin. |
| |
| This fills in any optional attributes. |
| |
| """ |
| |
| |
| def mako_plugin(dictionary): |
| """The exported plugin code for expand_filegroups. |
| |
| The list of libs in the build.yaml file can contain "filegroups" tags. |
| These refer to the filegroups in the root object. We will expand and |
| merge filegroups on the src, headers and public_headers properties. |
| |
| """ |
| |
| targets = dictionary.get("targets") |
| default_platforms = ["windows", "posix", "linux", "mac"] |
| |
| for tgt in targets: |
| tgt["flaky"] = tgt.get("flaky", False) |
| tgt["platforms"] = sorted(tgt.get("platforms", default_platforms)) |
| tgt["ci_platforms"] = sorted(tgt.get("ci_platforms", tgt["platforms"])) |
| tgt["boringssl"] = tgt.get("boringssl", False) |
| tgt["zlib"] = tgt.get("zlib", False) |
| tgt["ares"] = tgt.get("ares", False) |
| tgt["gtest"] = tgt.get("gtest", False) |
| |
| libs = dictionary.get("libs") |
| for lib in libs: |
| lib["boringssl"] = lib.get("boringssl", False) |
| lib["zlib"] = lib.get("zlib", False) |
| lib["ares"] = lib.get("ares", False) |