| # Copyright 2016 The Bazel 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 | |
| # | |
| # 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. | |
| """A set of utility functions.""" | |
| import datetime | |
| import subprocess | |
| def get_git_root(): | |
| """Returns the root directory of current git repository.""" | |
| return subprocess.check_output(["git", "rev-parse", | |
| "--show-toplevel"]).strip() | |
| def get_date(): | |
| """Returns the current date in YYYY.MM.DD format.""" | |
| now = datetime.datetime.now() | |
| return "%s.%s.%s" % (now.year, now.month, now.day) | |
| def get_autoconfig_target_name(config_type, distro, config_version, | |
| bazel_version): | |
| """Generates the docker_toolchain_autoconfig target name. | |
| Args: | |
| config_type: string, the type of the configs, e.g. default, msan. | |
| distro: string, base distro of container used to generate configs. | |
| config_version: string, the version of the configs. | |
| bazel_version: string, the version of Bazel used to generate the configs. | |
| Returns: | |
| The docker_toolchain_autoconfig target to generate the configs. | |
| """ | |
| return ("{type}-{distro}-clang-{config_version}-" | |
| "bazel_{bazel_version}-autoconfig").format( | |
| type=config_type, | |
| distro=distro, | |
| config_version=config_version, | |
| bazel_version=bazel_version) |