|
20 | 20 | import argparse |
21 | 21 | import os |
22 | 22 | import subprocess |
| 23 | +import re |
23 | 24 |
|
24 | 25 |
|
25 | | -def generate(path, platform_path, git_ver="ffffffff", git_desc="unspecified"): |
| 26 | +def generate(path, platform_path, git_ver="ffffffff", platform_version="unspecified"): |
26 | 27 | def git(*args): |
27 | 28 | cmd = ["git", "-C", platform_path] |
28 | 29 | cmd.extend(args) |
29 | 30 | proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True, stderr=subprocess.DEVNULL) |
30 | 31 | return proc.stdout.readlines()[0].strip() |
31 | 32 |
|
| 33 | + git_desc = platform_version; |
32 | 34 | try: |
33 | 35 | git_ver = git("rev-parse", "--short=8", "HEAD") |
34 | 36 | git_desc = git("describe", "--tags") |
35 | 37 | except Exception: |
36 | 38 | pass |
37 | 39 |
|
38 | | - text = "#define ARDUINO_ESP8266_GIT_VER 0x{}\n".format(git_ver) |
39 | | - text += "#define ARDUINO_ESP8266_GIT_DESC {}\n".format(git_desc) |
| 40 | + text = "#define ARDUINO_ESP8266_GIT_VER 0x{}\n".format(git_ver) |
| 41 | + text += "#define ARDUINO_ESP8266_GIT_DESC {}\n".format(git_desc) |
| 42 | + text += "#define ARDUINO_ESP8266_GIT_DESC2 {}\n\n".format(re.sub("[-\.]", "_", git_desc)) |
| 43 | + |
| 44 | + version = re.split("\.", platform_version) |
| 45 | + # major: if present, skip "unix-" in "unix-3" |
| 46 | + text += "#define ARDUINO_ESP8266_MAJOR {}\n".format(re.split("-", version[0])[-1]) |
| 47 | + text += "#define ARDUINO_ESP8266_MINOR {}\n".format(version[1]) |
| 48 | + # revision can be ".x" or ".x-dev" |
| 49 | + revision = re.split("-", version[2]) |
| 50 | + text += "#define ARDUINO_ESP8266_REVISION {}\n\n".format(revision[0]) |
| 51 | + if len(revision) > 1: |
| 52 | + text += "#define ARDUINO_ESP8266_DEV 1 // developpment version\n" |
| 53 | + else: |
| 54 | + text += "#define ARDUINO_ESP8266_RELEASE 1 // release version\n" |
40 | 55 |
|
41 | 56 | try: |
42 | 57 | with open(path, "r") as inp: |
@@ -79,5 +94,5 @@ def git(*args): |
79 | 94 | generate( |
80 | 95 | os.path.join(include_dir, "core_version.h"), |
81 | 96 | args.platform_path, |
82 | | - git_desc=args.version, |
| 97 | + platform_version=args.version, |
83 | 98 | ) |
0 commit comments