build system: Also get IDF version from annotated tags only

Builds on previous commit.

Note: Getting the project version still pases --tags so still works with plain
tags, to keep compatibility for existing projects
This commit is contained in:
Angus Gratton 2020-10-07 09:36:40 +11:00
parent ac545ce97c
commit 3350a108c3
6 changed files with 6 additions and 6 deletions

View File

@ -79,7 +79,7 @@ Checking the Current Version
The local ESP-IDF version can be checked by using git:: The local ESP-IDF version can be checked by using git::
cd $IDF_PATH cd $IDF_PATH
git describe --tags --dirty git describe --dirty
The ESP-IDF version is also compiled into the firmware and can be accessed (as a string) via the macro ``IDF_VER``. The default ESP-IDF bootloader will print the version on boot (the version information is not always updated in code, it only changes if that particular source file is recompiled). The ESP-IDF version is also compiled into the firmware and can be accessed (as a string) via the macro ``IDF_VER``. The default ESP-IDF bootloader will print the version on boot (the version information is not always updated in code, it only changes if that particular source file is recompiled).

View File

@ -198,7 +198,7 @@ def get_version():
# Otherwise, use git to look for a tag # Otherwise, use git to look for a tag
try: try:
tag = subprocess.check_output(["git", "describe", "--tags", "--exact-match"]).strip() tag = subprocess.check_output(["git", "describe", "--exact-match"]).strip()
is_stable = re.match(r"v[0-9\.]+$", tag) is not None is_stable = re.match(r"v[0-9\.]+$", tag) is not None
return (tag, "tag", is_stable) return (tag, "tag", is_stable)
except subprocess.CalledProcessError: except subprocess.CalledProcessError:

View File

@ -27,7 +27,7 @@ If the issue cannot be solved after the steps before, please follow these instru
- Development Kit: [ESP32-Wrover-Kit|ESP32-DevKitC|ESP32-PICO-Kit|ESP32-LyraT|ESP32-LyraTD-MSC|none] - Development Kit: [ESP32-Wrover-Kit|ESP32-DevKitC|ESP32-PICO-Kit|ESP32-LyraT|ESP32-LyraTD-MSC|none]
- Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4] - Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4]
- Module or chip used: [ESP32-WROOM-32|ESP32-WROOM-32D|ESP32-WROOM-32U|ESP32-WROVER|ESP32-WROVER-I|ESP32-WROVER-B|ESP32-WROVER-IB|ESP32-SOLO-1|ESP32-PICO-D4|ESP32] - Module or chip used: [ESP32-WROOM-32|ESP32-WROOM-32D|ESP32-WROOM-32U|ESP32-WROVER|ESP32-WROVER-I|ESP32-WROVER-B|ESP32-WROVER-IB|ESP32-SOLO-1|ESP32-PICO-D4|ESP32]
- IDF version (run ``git describe --tags`` to find it): - IDF version (run ``git describe`` to find it):
// v3.2-dev-1148-g96cd3b75c // v3.2-dev-1148-g96cd3b75c
- Build System: [Make|CMake] - Build System: [Make|CMake]
- Compiler version (run ``xtensa-esp32-elf-gcc --version`` to find it): - Compiler version (run ``xtensa-esp32-elf-gcc --version`` to find it):

View File

@ -60,7 +60,7 @@ ESP-IDF 采用了 `语义版本管理方法 <http://semver.org/>`_即您可
查看 ESP-IDF 本地副本的版本,请使用 git 命令:: 查看 ESP-IDF 本地副本的版本,请使用 git 命令::
cd $IDF_PATH cd $IDF_PATH
git describe --tags --dirty git describe --dirty
此外,由于 ESP-IDF 的版本也已编译至固件中,因此您也可以使用宏 ``IDF_VER`` 查看 ESP-IDF 的版本以字符串的格式。ESP-IDF 默认引导程序可以在设备启动时打印 ESP-IDF 的版本,但注意代码中的版本信息仅会在源代码重新编译时才会更新,因此打印出来的版本可能并不是最新的。 此外,由于 ESP-IDF 的版本也已编译至固件中,因此您也可以使用宏 ``IDF_VER`` 查看 ESP-IDF 的版本以字符串的格式。ESP-IDF 默认引导程序可以在设备启动时打印 ESP-IDF 的版本,但注意代码中的版本信息仅会在源代码重新编译时才会更新,因此打印出来的版本可能并不是最新的。

View File

@ -327,7 +327,7 @@ endif
# If we have `version.txt` then prefer that for extracting IDF version # If we have `version.txt` then prefer that for extracting IDF version
ifeq ("$(wildcard ${IDF_PATH}/version.txt)","") ifeq ("$(wildcard ${IDF_PATH}/version.txt)","")
IDF_VER_T := $(shell cd ${IDF_PATH} && git describe --always --tags --dirty) IDF_VER_T := $(shell cd ${IDF_PATH} && git describe --always --dirty)
else else
IDF_VER_T := $(shell cat ${IDF_PATH}/version.txt) IDF_VER_T := $(shell cat ${IDF_PATH}/version.txt)
endif endif

View File

@ -843,7 +843,7 @@ def get_python_env_path():
idf_version_str = version_file.read() idf_version_str = version_file.read()
else: else:
try: try:
idf_version_str = subprocess.check_output(['git', 'describe', '--tags'], idf_version_str = subprocess.check_output(['git', 'describe'],
cwd=global_idf_path, env=os.environ).decode() cwd=global_idf_path, env=os.environ).decode()
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
warn('Git describe was unsuccessul: {}'.format(e)) warn('Git describe was unsuccessul: {}'.format(e))