wscript: fix git version generation for tarballs
This commit is contained in:
parent
ba3b50dcd2
commit
109b5372ea
37
wscript
37
wscript
|
@ -23,9 +23,11 @@ from __future__ import print_function
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
import re
|
||||||
|
|
||||||
from waflib import Logs, Options, TaskGen
|
from waflib import Logs, Options, TaskGen
|
||||||
from waflib import Context
|
from waflib import Context
|
||||||
|
from waflib import Scripting
|
||||||
from waflib.Build import BuildContext, CleanContext, InstallContext, UninstallContext
|
from waflib.Build import BuildContext, CleanContext, InstallContext, UninstallContext
|
||||||
from waftoolchainflags import WafToolchainFlags
|
from waftoolchainflags import WafToolchainFlags
|
||||||
|
|
||||||
|
@ -245,21 +247,25 @@ def configure(conf):
|
||||||
print()
|
print()
|
||||||
|
|
||||||
def git_ver(self):
|
def git_ver(self):
|
||||||
bld = self.generator.bld
|
if type(self) == Scripting.Dist:
|
||||||
header = self.outputs[0].abspath()
|
header = "./gitversion.h"
|
||||||
if os.access('./version.h', os.R_OK):
|
bld = self
|
||||||
header = os.path.join(os.getcwd(), out, "version.h")
|
else:
|
||||||
shutil.copy('./version.h', header)
|
bld = self.generator.bld
|
||||||
data = open(header).read()
|
header = self.outputs[0].abspath()
|
||||||
m = re.match(r'^#define GIT_VERSION "([^"]*)"$', data)
|
if os.access('./gitversion.h', os.R_OK):
|
||||||
if m != None:
|
#header = os.path.join(os.getcwd(), out, "version.h")
|
||||||
self.ver = m.group(1)
|
shutil.copy('./gitversion.h', header)
|
||||||
Logs.pprint('BLUE', "tarball from git revision " + self.ver)
|
data = open(header).read()
|
||||||
else:
|
m = re.match(r'^#define GIT_VERSION "([^"]*)"$', data)
|
||||||
self.ver = "tarball"
|
if m != None:
|
||||||
return
|
self.ver = m.group(1)
|
||||||
|
Logs.pprint('BLUE', "tarball from git revision " + self.ver)
|
||||||
|
else:
|
||||||
|
self.ver = "tarball"
|
||||||
|
return
|
||||||
|
|
||||||
if bld.srcnode.find_node('.git'):
|
if os.access('./.git', os.R_OK):
|
||||||
self.ver = bld.cmd_and_log("LANG= git rev-parse HEAD", quiet=Context.BOTH).splitlines()[0]
|
self.ver = bld.cmd_and_log("LANG= git rev-parse HEAD", quiet=Context.BOTH).splitlines()[0]
|
||||||
if bld.cmd_and_log("LANG= git diff-index --name-only HEAD", quiet=Context.BOTH).splitlines():
|
if bld.cmd_and_log("LANG= git diff-index --name-only HEAD", quiet=Context.BOTH).splitlines():
|
||||||
self.ver += "-dirty"
|
self.ver += "-dirty"
|
||||||
|
@ -340,3 +346,6 @@ def build(bld):
|
||||||
Logs.pprint('CYAN', 'Removing doxygen generated documentation...')
|
Logs.pprint('CYAN', 'Removing doxygen generated documentation...')
|
||||||
shutil.rmtree(html_build_dir)
|
shutil.rmtree(html_build_dir)
|
||||||
Logs.pprint('CYAN', 'Removing doxygen generated documentation done.')
|
Logs.pprint('CYAN', 'Removing doxygen generated documentation done.')
|
||||||
|
|
||||||
|
def dist(ctx):
|
||||||
|
git_ver(ctx)
|
||||||
|
|
Loading…
Reference in New Issue