esp-idf/tools
Frantisek Hrbata 18334588bc feat(tools): esp_idf_size.ng integration
This integrates esp_idf_size.ng, refactored esp-idf-size version, into
esp-idf and enables it by default. The esp_idf_size.ng may be enabled
by using the --ng option, but also via ESP_IDF_SIZE_NG env. variable,
which is used in this integration.

New -l/--legacy option is added, which enforces usage of the old version.
This option can be also set via "ESP_IDF_SIZE_LEGACY" env. variable.
This should allow to easily switch back to old version if there is any
problem.

The new version is used by default for all formats, except for the "json".

Examples:
$ idf.py size                           # uses refactored version
$ idf.py size --legacy                  # uses legacy version
$ idf.py size --l                       # uses legacy version
$ idf.py size --format json             # uses legacy version
$ idf.py size --format json2            # uses refactored version
$ export ESP_IDF_SIZE_LEGACY="1"        # use legacy version only from now on

ESP_IDF_SIZE_FORCE_TERMINAL, which forces terminal control codes(colors), is also set
when running from idf.py, so the colors are propagated even if stdout
for esp_idf_size.ng is not attached to tty.

The same changes are applied also to the idf_size.py wrapper.

There is an import check if esp_idf_size.ng is available. If not,
we switch into the legacy mode. This should cover situation when the
esp-idf has support for refactored version, but it's not installed.
This should also allow users to bind to a legacy version(<1.0.0) and the
idf.py size and idf_size.py should still work. This also allow us to
restring the version in constraints file if we need to switch back to
legacy version globally.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-11-30 09:26:51 +01:00
..
ble feat: add requirements.ttfw.txt 2022-08-01 15:52:21 +08:00
catch Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
ci ci(nimble): Cleanup sdkconfig files 2023-11-21 11:52:11 +05:30
cmake docs: Added C documentation page 2023-11-13 10:47:15 +08:00
docker fix(tools/docker): set esp-idf repo as safe directory 2023-10-31 16:13:27 +01:00
esp_app_trace fix: Replace deprecated flushregs alias with full gdb command 2023-07-13 09:26:47 +02:00
esp_prov ci: remove ttfw related files 2023-10-16 10:23:09 +02:00
gen_soc_caps_kconfig docs(soc): improved soc caps generation documentation 2023-11-17 10:43:59 +08:00
idf_py_actions feat(tools): esp_idf_size.ng integration 2023-11-30 09:26:51 +01:00
kconfig_new feat(tools/kconfig): add initial and current versions of IDF to kconfig 2023-07-10 17:01:51 +02:00
ldgen fix(ldgen): duplicate entries in the generated .ld file 2023-09-12 11:20:12 +08:00
mass_mfg docs: Update CN for nvs_flash.rst and flash-encryption.rst 2023-07-14 04:05:53 +00:00
mocks feat(rmt): move the driver to a new component 2023-11-25 00:29:53 +00:00
requirements feat(ci): Merge tool test jobs and produce jUnit reports 2023-11-27 09:11:35 +01:00
templates/sample_component add new command to idf 2020-09-21 23:38:52 +02:00
test_apps Merge branch 'feature/remove_esp_spi_g1' into 'master' 2023-11-21 10:26:55 +08:00
test_build_system feat(ci): add test for custom cmake CMAKE_EXECUTABLE_SUFFIX 2023-11-16 08:14:19 +01:00
test_idf_py Merge branch 'feat/all_components' into 'master' 2023-10-16 17:40:12 +08:00
test_idf_tools feat(tools): Add QEMU 8.0.0_20230522 to tools.json 2023-10-10 09:59:38 +07:00
test_mkdfu mkdfu.py: Support setting flash parameters 2022-05-27 15:44:56 +02:00
test_sbom fix(test_submodules.py): don't rely on submodule init 2023-06-29 10:47:24 +02:00
unit-test-app feat(rmt): move the driver to a new component 2023-11-25 00:29:53 +00:00
check_python_dependencies.py bug(tools): dependency check catch exception when package not installed 2023-08-28 16:03:15 +02:00
check_term.py check_term: allow alacritty term 2022-05-19 11:10:59 +08:00
detect_python.fish feat: Drop Python 3.7 support 2023-08-08 08:37:29 +02:00
detect_python.sh feat: Drop Python 3.7 support 2023-08-08 08:37:29 +02:00
eclipse-code-style.xml
format.sh ci: add astyle pre-commit check 2023-09-27 08:43:45 +02:00
gdb_panic_server.py feat(tools): remove gdb_panic_server and use just a wrapper for script 2023-08-24 15:20:29 +02:00
gen_esp_err_to_name.py tool: skip test folder when generating esp_err_t table 2022-11-10 10:37:59 +08:00
generate_debug_prefix_map.py build: create BUILD_DIR/prefix_map_gdbinit when enable reproducible build 2021-10-26 10:55:00 +08:00
idf_monitor.py feat(idf_monitor): move idf_monitor to separate repo 2023-02-03 11:20:15 +01:00
idf_size.py feat(tools): esp_idf_size.ng integration 2023-11-30 09:26:51 +01:00
idf_tools.py feat(tools): Added IDF path order check for Windows platform 2023-10-24 15:34:41 +02:00
idf.py feat(tools): Added IDF path order check for Windows platform 2023-10-24 15:34:41 +02:00
install_util.py ci: remove ttfw related files 2023-10-16 10:23:09 +02:00
mkdfu.py tools: remove the dependency on the future package 2022-08-09 16:46:58 +02:00
mkuf2.py feat(tools): move uf2 generation to esptool 2023-10-09 15:38:30 +02:00
python_version_checker.py feat: Drop Python 3.7 support 2023-08-08 08:37:29 +02:00
requirements_schema.json Tools: Make easier the detection of the list of Python features 2022-02-03 19:02:14 +01:00
requirements.json ci: remove ttfw related files 2023-10-16 10:23:09 +02:00
set-submodules-to-github.sh global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs 2020-04-03 01:10:02 +02:00
split_paths_by_spaces.py tools: fixup version references related to paths with spaces 2022-05-02 19:05:47 +02:00
tools_schema.json feat(tools): Option in tools.json to rename toolchanis being downloaded 2023-10-17 12:28:02 +02:00
tools.json feat(tools): update gdb version to 12.1_20231023 2023-11-10 06:37:33 +00:00