blob: 859f1730cb21d3c927781c06ded989ff1a1615ce [file] [log] [blame]
Yuxuan 'fishy' Wange6cbae92013-09-03 18:26:54 -07001# Copyright (C) 2013 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
Christian Aistleitnereb8da512015-07-29 15:01:31 +020015def git_describe(directory = None):
Yuxuan 'fishy' Wange6cbae92013-09-03 18:26:54 -070016 import subprocess
David Pursehousece96b3f2015-04-14 17:49:21 +090017 cmd = ['git', 'describe', '--always', '--match', 'v[0-9].*', '--dirty']
Christian Aistleitnereb8da512015-07-29 15:01:31 +020018 if not directory:
Sven Selbergaab703f2015-04-13 15:34:38 +020019 p = subprocess.Popen(cmd, stdout = subprocess.PIPE)
20 else:
Christian Aistleitnereb8da512015-07-29 15:01:31 +020021 p = subprocess.Popen(cmd, stdout = subprocess.PIPE, cwd = directory)
Yuxuan 'fishy' Wange6cbae92013-09-03 18:26:54 -070022 v = p.communicate()[0].strip()
23 r = p.returncode
24 if r != 0:
25 raise subprocess.CalledProcessError(r, ' '.join(cmd))
26 return v