Browse Source
Include implementation version in jgit library. This version is used by other products that depend on JGit, and built using Bazel and not consume officially released artifact from Central or Eclipse own Maven repository. Most notably, in Gerrit Code Review JGit agent that was previously reported as "unknown", is now reported as: JGit/v5.8.0.202006091008-r-16-g14c43828d using this change [1]. [1] https://gerrit-review.googlesource.com/c/gerrit/+/272505 Change-Id: Ia50de9ac35b8dbe9e92d8ad7d0d14cd00f057863 Signed-off-by: David Ostrovsky <david@ostrovsky.org>master
David Ostrovsky
4 years ago
committed by
Matthias Sohn
3 changed files with 68 additions and 1 deletions
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python |
||||
# Copyright (C) 2020, David Ostrovsky <david@ostrovsky.org> and others |
||||
# |
||||
# This program and the accompanying materials are made available under the |
||||
# terms of the Eclipse Distribution License v. 1.0 which is available at |
||||
# http://www.eclipse.org/org/documents/edl-v10.php. |
||||
# |
||||
# SPDX-License-Identifier: BSD-3-Clause |
||||
|
||||
# This script will be run by bazel when the build process starts to |
||||
# generate key-value information that represents the status of the |
||||
# workspace. The output should be like |
||||
# |
||||
# KEY1 VALUE1 |
||||
# KEY2 VALUE2 |
||||
# |
||||
# If the script exits with non-zero code, it's considered as a failure |
||||
# and the output will be discarded. |
||||
|
||||
from __future__ import print_function |
||||
import os |
||||
import subprocess |
||||
import sys |
||||
|
||||
ROOT = os.path.abspath(__file__) |
||||
while not os.path.exists(os.path.join(ROOT, 'WORKSPACE')): |
||||
ROOT = os.path.dirname(ROOT) |
||||
CMD = ['git', 'describe', '--always', '--match', 'v[0-9].*', '--dirty'] |
||||
|
||||
|
||||
def revision(directory, parent): |
||||
try: |
||||
os.chdir(directory) |
||||
return subprocess.check_output(CMD).strip().decode("utf-8") |
||||
except OSError as err: |
||||
print('could not invoke git: %s' % err, file=sys.stderr) |
||||
sys.exit(1) |
||||
except subprocess.CalledProcessError as err: |
||||
# ignore "not a git repository error" to report unknown version |
||||
return None |
||||
finally: |
||||
os.chdir(parent) |
||||
|
||||
|
||||
print("STABLE_BUILD_JGIT_LABEL %s" % revision(ROOT, ROOT)) |
Loading…
Reference in new issue