|
14 | 14 | #env.Replace (MKSPIFFSTOOL = "mklittlefs") |
15 | 15 |
|
16 | 16 | # Disable automatic versioning |
17 | | -if 0: |
| 17 | +if 1: |
18 | 18 | print("Automatic versioning disabled") |
19 | 19 |
|
20 | 20 | # Don't do anything if nothing has changed |
|
23 | 23 |
|
24 | 24 | else: |
25 | 25 | try: |
26 | | - ver_commit = subprocess.check_output(["git", "rev-parse", "--short", "HEAD"], universal_newlines=True).strip() |
27 | | - ver_build = subprocess.check_output(["git", "describe", "HEAD"], universal_newlines=True).strip() |
| 26 | + ver_build = subprocess.check_output(["git", "rev-parse", "--short", "HEAD"], universal_newlines=True).strip() |
28 | 27 | except subprocess.CalledProcessError as e: |
29 | 28 | ver_build = "NOGIT" |
30 | 29 |
|
31 | 30 | header_file = "include/version.h" |
32 | 31 |
|
33 | | - # FIXME - only use current date if there are uncommitted changes |
34 | 32 | ver_date = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") |
35 | 33 |
|
36 | | - rxs = { |
37 | | - 'MAJOR': r'^#define FN_VERSION_MAJOR (\w)', |
38 | | - 'MINOR': r'^#define FN_VERSION_MINOR (\w)', |
39 | | - 'BUILD': r'^(#define FN_VERSION_BUILD)', |
40 | | - 'DATE': r'^(#define FN_VERSION_DATE)', |
41 | | - 'FULL': r'^(#define FN_VERSION_FULL)', |
42 | | - } |
| 34 | + rxs = ['^#define FN_VERSION_MAJOR (\\w)', '^#define FN_VERSION_MINOR (\\w)', |
| 35 | + '^(#define FN_VERSION_BUILD)', '^(#define FN_VERSION_DATE)', '^(#define FN_VERSION_FULL)'] |
43 | 36 |
|
44 | 37 | ver_maj = "" |
45 | 38 | ver_min = "" |
46 | | - m = re.match(r"^v([0-9]+)[.]([0-9]+)[.]", ver_build) |
47 | | - if m: |
48 | | - ver_maj = m.group(1) |
49 | | - ver_min = m.group(2) |
50 | 39 |
|
51 | 40 | txt = [line for line in open(header_file)] |
52 | 41 |
|
53 | 42 | fout = open(header_file, "w") |
54 | 43 |
|
55 | 44 | for line in txt: |
56 | 45 |
|
57 | | - for key in rxs: |
58 | | - m = re.match(rxs[key], line) |
| 46 | + for i in range(len(rxs)): |
| 47 | + m = re.match(rxs[i], line) |
59 | 48 | if m is not None: |
60 | 49 | break |
61 | 50 |
|
62 | 51 | if m is not None: |
63 | | - if key == 'MAJOR': |
64 | | - if not ver_maj: |
65 | | - ver_maj = m.groups(0)[0] |
66 | | - line = line[:m.span(1)[0]] + ver_maj + "\n" |
67 | | - elif key == 'MINOR': |
68 | | - if not ver_min: |
69 | | - ver_min = m.groups(0)[0] |
70 | | - line = line[:m.span(1)[0]] + ver_min + "\n" |
71 | | - elif key == 'BUILD': |
72 | | - line = m.groups(0)[0] + " \"" + ver_commit + "\"\n" |
73 | | - elif key == 'DATE': |
74 | | - line = m.groups(0)[0] + " \"" + ver_date + "\"\n" |
75 | | - elif key == 'FULL': |
| 52 | + if i == 0: |
| 53 | + ver_maj = m.groups(0)[0] |
| 54 | + fout.write(line) |
| 55 | + elif i == 1: |
| 56 | + ver_min = m.groups(0)[0] |
| 57 | + fout.write(line) |
| 58 | + elif i == 2: |
76 | 59 | line = m.groups(0)[0] + " \"" + ver_build + "\"\n" |
77 | | - |
78 | | - fout.write(line) |
| 60 | + fout.write(line) |
| 61 | + elif i == 3: |
| 62 | + line = m.groups(0)[0] + " \"" + ver_date + "\"\n" |
| 63 | + fout.write(line) |
| 64 | + elif i == 4: |
| 65 | + line = m.groups(0)[0] + " \"" + ver_maj + "." + \ |
| 66 | + ver_min + "." + ver_build + "\"\n" |
| 67 | + fout.write(line) |
| 68 | + else: |
| 69 | + fout.write(line) |
79 | 70 |
|
80 | 71 | fout.close() |
0 commit comments