| #!/usr/bin/env bash | |
| # | |
| # Copyright 2014 The ChromiumOS Authors | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| # | |
| # Generate version information | |
| if ghash=$(git rev-parse --short=12 --verify HEAD 2>/dev/null); then | |
| if gdesc=$(git describe --dirty --match='v*' 2>/dev/null); then | |
| IFS="-" fields=($gdesc) | |
| tag="${fields[0]}" | |
| IFS="." vernum=($tag) | |
| numcommits=$((${vernum[2]}+${fields[1]:-0})) | |
| ver_major="${vernum[0]}" | |
| ver_branch="${vernum[1]}" | |
| else | |
| numcommits=$(git rev-list HEAD | wc -l) | |
| ver_major="v0" | |
| ver_branch="0" | |
| fi | |
| # avoid putting the -dirty attribute if only the timestamp | |
| # changed | |
| dirty=$(sh -c "[ '$(git diff-index --name-only HEAD)' ] \ | |
| && echo '-dirty'") | |
| ver="${ver_major}.${ver_branch}.${numcommits}-${ghash}${dirty}" | |
| else | |
| ver="unknown" | |
| fi | |
| echo "const char futility_version[] = \"${ver}\";"; |