Commit Graph
98 Commits
Author SHA1 Message Date
Marek Fiala 87176bc17e docs(tools): Updated argument via file with quotations
Closes https://github.com/espressif/esp-idf/issues/18077
2026-01-19 16:27:13 +01:00
Marek Fiala ad3f29a103 change(tools): Updated argument files with quotations in README.md 2026-01-07 13:12:11 +01:00
Marek Fiala aebec71b03 feat(tools): Updated ccache 4.11.2 -> 4.12.1
Closes https://github.com/espressif/esp-idf/issues/17756
2025-11-20 14:16:03 +01:00
Marek Fiala ec76ac281b refactor(tools): test_idf_tools.py ruff changes 2025-11-20 14:16:00 +01:00
Marek Fiala 576ccaf394 feat(tools): Normalized detected shell names to lowercase on Windows
Closes https://github.com/espressif/esp-idf/issues/16868
2025-07-30 16:31:50 +02:00
Marek Fiala 5920a073a8 change(tools): shell_types.py ruff formatting 2025-07-30 16:31:50 +02:00
Marek Fiala 6cd12fe8dd feat(tools): Enforce pip 'user' option to no, when installing python env
Closes https://github.com/espressif/esp-idf/issues/16189
2025-07-18 13:03:09 +08:00
Marek Fiala 5fe513cd18 feat(tools): Added encoding when special characters used with username
Closes https://github.com/espressif/esp-idf/issues/16229
2025-07-14 13:16:35 +02:00
Marek Fiala cb649d7201 feat(tools): Update ccache 4.10.2 -> 4.11.2
Closes https://github.com/espressif/idf-installer/issues/305
2025-06-30 17:48:15 +08:00
Marek Fiala e7e7f8feb9 fix(tools): idf.py create-project works in read-only ESP-IDF
As the native copy function shutil.copyfile preserves directories metadata
such as file permissions, we need to ensure the copied destination
is writable for owner.

Closes https://github.com/espressif/esp-idf/issues/15964
Closes https://github.com/espressif/esp-idf/pull/16021
2025-06-20 15:26:14 +02:00
Marek Fiala 347748a6f8 fix(tools): idf_tools.py uninstall decide based on preferred tool version
idf_tools.py uninstall now doesn't take only recommended version, but
makes the decision based on preferred installed versions.
2025-06-20 13:25:14 +02:00
Marek Fiala 38354b9ecd test(tools): Added test for installing supported tool version
Added test_export_supported_version_cmake in `test_idf_tools.py`,
that installs and exports supported version of tool - cmake.
2025-06-20 13:05:05 +02:00
Marek Fiala 84760adf2d fix(tools): idf_tools.py install tool@version 2025-06-20 13:05:02 +02:00
Marek Fiala dcdd823263 feat(tools): adjusted create_ext.py by ruff formatter 2025-06-20 11:52:38 +02:00
Marek Fiala b148826269 fix(tools): Enabled removing requirements.* files 2025-06-11 11:14:47 +02:00
Marek Fiala 8180dd00ab feat(tools): Remove PATH duplicity from first call of tools/activate.py 2025-03-25 14:16:16 +01:00
Marek Fiala 0cace3827b feat(tools): Deactivate current ESP-IDF environment with every export run
Unix systems only
2025-03-25 14:16:16 +01:00
Marek Fiala 1fa9db53bd fix(tools): IDF_PATH_OLD not found in PowerShell
Closes https://github.com/espressif/esp-idf/issues/15396
2025-02-18 16:09:00 +01:00
Marek Fiala b37383f75b feat(tools): Enforce utf-8 encoding with open() function 2025-01-10 13:52:58 +08:00
Marek Fiala 524f44dfc3 fix(tools): fixed test_create_project_with_idf_readonly on Win 2025-01-02 12:37:24 +01:00
Marek Fiala 0c476d4361 fix(tools): Use ESP_PYTHON with activate.py in export.fish
Closes https://github.com/espressif/esp-idf/issues/15058
2025-01-02 11:10:55 +01:00
Marek Fiala d8296b1fda fix(tools): Enable to use IDF_PATH with export.sh 2024-12-19 13:00:47 +01:00
Marek Fiala 79031f1905 feat(tools): Inform user about IDF_PATH set/change in install/export scripts 2024-12-19 10:28:49 +01:00
Marek Fiala 2e2740d20b feat(tools): Imporve activate.py debug information 2024-11-25 10:13:02 +01:00
Marek Fiala 7de166e882 fix(tools): Enable multiuser/multiinstance use of activate script 2024-10-21 16:23:55 +02:00
Marek Fiala 6ec1e9107f feat(tools): Move sample_project from examples to tools
Extended example readme.md by further development options.
2024-09-16 09:12:50 +02:00
Marek Fiala f90b847cb1 Merge branch 'fix/correct_shell_detection' into 'master'
fix(tools): Corrected detect_shell

See merge request espressif/esp-idf!33365
2024-09-06 19:22:15 +08:00
Marek Fiala 24ae042bba fix(tools): Corrected detect_shell
When comparing process name with python,
lowercase the process name in condition.
2024-09-06 11:11:50 +02:00
Marek Fiala 7b417fc3f2 feat(tools): Add backup option to use legacy export script
This feature serves as an immediate fix in case
the new export approach causes issues.
The user can simply set the environment variable `ESP_IDF_LEGACY_EXPORT`,
and the old export script will be used.
2024-09-05 10:13:05 +02:00
Marek Fiala 88527faff8 feat(tools): Added Windows shells support + refactoring 2024-09-05 10:13:04 +02:00
Marek Fiala ccf5989505 feat(tools): Exclude modified folders by rebuild 2024-09-04 12:48:15 +02:00
Marek Fiala f0ca91b103 feat(tools): Update tools: cmake, ninja, ccache
cmake  v3.24.0 -> v3.30.2
ninja  v1.11.1 -> v1.12.1
ccache v4.8    -> v4.10.2

Closes https://github.com/espressif/esp-idf/pull/14376
2024-09-04 12:48:14 +02:00
Marek Fiala 46efcd09c7 Merge branch 'fix/ci_win_kconfig' into 'master'
fix(Tools): failing Win CI tests

Closes IDF-10514 and IDF-10764

See merge request espressif/esp-idf!32446
2024-08-22 00:28:48 +08:00
Marek Fiala 364f777f96 feat(tools): Allow test_spaces_bundle4 to fail on Win 2024-08-21 14:37:06 +02:00
Marek Fiala e95aff7ca9 feat(tools): sanitize all fixtures using test names
The parametrization include `[` and `]` in names. This is not
possible to use within path. Expand the sanitization into all
fixtures using request.node.name.
2024-08-21 14:37:06 +02:00
Marek Fiala ccbb415be8 feat(tools): add pytest mark idf_copy_with_space 2024-08-21 14:37:05 +02:00
Marek Fiala f0e8966ca5 feat(tools): Use custom directory in failing pytest 2024-08-21 14:37:05 +02:00
Marek Fiala 55112978fd feat(tools): json schema verifies that no additional properties are used
Closes https://github.com/espressif/esp-idf/issues/13853
Closes https://github.com/espressif/esp-idf/pull/13854
2024-05-27 16:24:56 +02:00
Marek Fiala e351a4407a fix(tools): fix failing create readonly project build system test
Changed the way of removing copied esp-idf folder.
2024-04-30 16:42:05 +02:00
Marek Fiala f2b75d81b3 fix(system): fix idf.py build ulp examples containing spaces in path on Win 2024-04-09 14:00:34 +02:00
Marek Fiala c21cdf0a1f feat(tools): produce correct err code in export/install .bat scripts
Plus unify labels to begin with underscore
2024-03-01 13:00:09 +01:00
Marek Fiala 54be450c4a feat(tools): detect linux platform only on linux systems
Closes https://github.com/espressif/esp-idf/issues/13148
2024-02-22 19:30:11 +08:00
Marek Fiala da43126f02 feat(tools): idf_tools.py unsupported platforms
Plus improved error messages about platform detection.

Closes https://github.com/espressif/esp-idf/issues/12959
Closes https://github.com/espressif/esp-idf/issues/12865
2024-02-22 19:30:11 +08:00
Marek Fiala 65db8bf7a9 refactor(tools): Split build pytest into multiple jobs 2024-02-08 13:49:28 +01:00
Marek Fiala 52da5b765f feat(tools): Run skipped build system pytests on Win 2024-02-08 11:23:51 +01:00
Marek Fiala 375c22ecdb feat(tools): Update Windows runners tags 2024-02-02 15:04:40 +01:00
Marek Fiala a97e355e74 feat(tools): Run Tools related host tests on Win 2024-02-02 14:58:04 +01:00
Marek Fiala c8e218c0ae docs(tools): Add example and resctriction note to setting IDF_TOOLS_PATH
Closes https://github.com/espressif/esp-idf/issues/12539
2023-12-15 11:50:38 +00:00
Marek Fiala 9757c8f7c9 docs(tools): Add idf.py file argument parsing to idf.py doc 2023-12-15 11:50:38 +00:00
Marek Fiala 04ade501aa feat(tools): Disable failing build system tests on Windows runner 2023-11-29 23:10:38 +01:00
Marek Fiala b535ec9a99 feat(tools): Fix some failing tests on Windows runner 2023-11-29 23:10:38 +01:00
Marek Fiala 0a3b57e48a feat(tools): Add pytest build system on Windows runner 2023-11-29 23:10:37 +01:00
Marek Fiala 56e3e8ce56 feat(tools): Option in tools.json to rename toolchanis being downloaded
- Implemented condition that version 1 of tools.json must not contain
  new rename_dist keyword in any of #/definitions/versionInfo properties.
2023-10-17 12:28:02 +02:00
Marek Fiala 562bb6783a feat(tools): Update ninja to v1.11.1 2023-10-17 11:52:22 +02:00
Marek Fiala addbc79ee7 refactor(tools): shellcheck pass modification
Closes https://github.com/espressif/esp-idf/pull/12247
2023-10-03 13:41:05 +02:00
Marek Fiala 37c7c5b58d feat(tools): Add shellcheck for shell scripts to CI
- shellcheck fixes in shell scripts
2023-10-03 10:57:29 +02:00
Marek Fiala b39e541652 feat(tools): Do not run test_create_project_with_idf_readonly on macOS
It corrupts environment on macOS runner because it uses shell, not docker-executor,
and makes all tree read-only for a non-root user.

+ Replace examples with real files in example README.md
2023-08-31 12:54:19 +02:00
Marek Fiala 8ad3c8ca1f refactor(tools): Run build system pytest on macos 2023-08-31 12:54:19 +02:00
Marek Fiala 7d2d8b7839 refactor(tools): Remove test_build_system_cmake.sh & test_build_system_spaces.py 2023-08-31 12:54:19 +02:00
Marek Fiala 608b6e5480 feat(tools): Add dl.espressif.cn IDF_GITHUB_ASSET to documentation 2023-08-31 07:46:36 +00:00
Marek Fiala 630b77094f feat(tools): Added Windows-ARM64 support
Closes https://github.com/espressif/esp-idf/issues/10345
2023-08-24 16:27:17 +02:00
Marek Fiala 13a26e56e1 feat(tools): idf.py adding arguments from file via @filename.txt - readme update 2023-08-09 13:47:25 +02:00
Marek Fiala 7943e01850 refactor(tools): Rewrite build system unit tests to python
Rewritten tests: test_build_system_spaces.py
2023-08-08 16:41:30 +02:00
Marek Fiala 076779f419 feat(tools): idf.py adding arguments from file via @filename.txt
- moved test inputs to one directory
- removed `-` from test arguments

Closes https://github.com/espressif/esp-idf/pull/11821
Closes https://github.com/espressif/esp-idf/issues/11783
2023-07-25 10:29:09 +02:00
Marek Fiala f4e3c9c03a refactor(tools): Rewrite build system unit tests to python
Rewritten parts:
 - git
 - version
 - build
2023-07-18 15:51:04 +02:00
Marek Fiala e8ee59f68b fix(tools): create-project with proper file permission - pre-commit fix
Closes https://github.com/espressif/esp-idf/pull/11836
2023-07-18 14:08:37 +02:00
Marek Fiala 206c46325a fix(tools): Tool curses import check
Verify that curses tool can be successfully imported on unix systems

When detected:
- installing esp-idf -> reinstall python environment
- using idf.py menuconfig -> raise error with hint message

Closes https://github.com/espressif/esp-idf/issues/11643
2023-07-12 13:23:06 +00:00
Marek Fiala 5033637899 Tools: Rewrite build system unit tests to python - partitions, components, docs 2023-06-14 12:17:53 +00:00
Marek Fiala ae99820399 Tools bugfix: Removed working directory when using idf.py
Added check for existence of current working directory when using idf.py

Closes https://github.com/espressif/esp-idf/issues/11476
2023-06-09 08:46:26 +00:00
Marek Fiala fb0dc46183 Tools: Rewrite build system unit tests to python - sdkconfig, bootloader, components 2023-05-23 09:47:39 +00:00
Marek Fiala b4446e1748 Tools: Rewrite build system unit tests to python - cmake libraries and Kconfig 2023-03-28 11:20:42 +02:00
Marek Fiala b65500fd63 Tools: update ccache 4.6.2 -> 4.8 2023-03-22 16:26:21 +01:00
Marek Fiala 165c0d852b Tools: Rewrite build system unit tests to python - other target tests 2023-02-09 16:08:04 +01:00
Marek Fiala a7a401eb28 Tools: dfu-util upgrade 0.9 -> 0.11
Closes https://github.com/espressif/esp-idf/issues/10558
2023-02-03 15:34:23 +01:00
Marek Fiala 9beb663f1a Tools: Rewrite build system unit tests to python - rebuild tests 2023-01-27 09:55:52 +00:00
Marek Fiala 22f1a87891 Tools: bugfix Export script offers cmake & ninja for removal on macOS 2022-11-18 17:31:49 +01:00
Marek Fiala c63ec6cf08 Tools: Support ESP-IDF installed in system-wide shared directory for all users
Closes: https://github.com/espressif/esp-idf/issues/9329
Closes: https://github.com/espressif/esp-idf/pull/9328
2022-09-16 09:15:19 +02:00
Marek Fiala 5974f495b6 Fix macOS compatibility
command "readlink -m" was not compatible with macOS.
2022-08-31 14:38:24 +02:00
Marek Fiala 24fc499b6c Tools: Added test_idf_tools_python_env output log file 2022-08-14 00:28:16 +02:00
Marek Fiala 2968b3b946 Tools: Resolve symlinks when installing ESP-IDF using install.sh
Closes: https://github.com/espressif/esp-idf/pull/9375
2022-07-19 21:13:00 +02:00
Marek Fiala 9c0969b512 Tools: Export selected target actions
Added option --json to action help, for export selected target actions
2022-07-19 20:02:55 +02:00
Marek Fiala e519915823 Merge branch 'feature/disable_option_install_script' into 'master'
Tools: --disable-* argument for removing features

Closes IDF-4398 and IDF-4342

See merge request espressif/esp-idf!18194
2022-07-01 17:18:50 +08:00
Marek Fiala 90a69c4490 Tools: --disable-* argument for removing features
Optional argument --disable-* for removing features in install scripts.
2022-06-30 12:31:59 +02:00
Marek Fiala d558b511da Tools: Auto-detect IDF_PATH in export.fish, fix setting environmental variables
Edited GitHub user's change to keep the echo message consistent with other export scripts
Fixed working with environmental variables in fish.

pull request sha: 5a646b8067
2022-06-23 14:42:35 +02:00
Marek Fiala 0bf264a948 tools: bugfix - broken export script while working with esp-idf file
+ bugfix IDF_PATH detection in sh and dash shells.
+ created Classes that represents idf-env.json file
2022-04-24 22:29:18 +02:00
Marek Fiala b5c374ae3e tools: Deprecated commands removed from idf.py
Remove deprecated commands from idf.py, but they are still kept working as cmake deprecated targets.
2022-03-25 09:08:53 +01:00
Marek Fiala 029de43db3 tools: bugfix export.sh change IDF_PATH only if file is esp-idf
Set the self_path where the export.sh script is located, not the sourcing directory.
2022-03-15 11:24:09 +01:00
Marek Fiala df16a45d7a tools: Switching between ESP-IDF versions
Support switching between ESP-IDF versions on UNIX systems.
2022-03-11 12:57:25 +01:00
Marek Fiala 3f6add5964 tools: set baudrate and port with otatool.
Bugfix: Allow setting options port -p and baudrate -b, with idf.py otatool commands.

Closes https://github.com/espressif/esp-idf/issues/8317
2022-03-11 12:27:58 +01:00
Marek Fiala a4b0560014 tools: Remove tools that are not used by active ESP-IDF version.
Or remove unused archives from tools - older version, or unused tool archive
2022-02-20 19:48:50 +01:00
Marek Fiala 5eb30c2a7c Merge branch 'bugfix/export_scripts_err_messages_and_returncodes' into 'master'
tools/echo and cleanup fix in export scripts

Closes IDFGH-3923 and IDFGH-3835

See merge request espressif/esp-idf!15411
2021-10-13 13:51:57 +00:00
Marek Fiala d8a8eceef4 Edited Jen Chitty's commit to keep ESP_IDF consistency 2021-10-13 21:28:35 +08:00
Marek Fiala 8dd6d9fa5f Edited Rob Walker's commit to keep ESP_IDF consistency 2021-10-13 21:28:35 +08:00
Marek Fiala 582a39126a Merge branch 'feature/idfpy_dashes_replace' into 'master'
tools: replace _ with - in idf.py

Closes IDFGH-3105

See merge request espressif/esp-idf!14752
2021-10-13 13:14:06 +00:00
Marek Fiala ff18a96f7d tools: replace _ with - in idf.py
Closes https://github.com/espressif/esp-idf/issues/5126
2021-10-13 17:30:38 +08:00
Marek Fiala f6c2198a21 tools: Installing tools for given IDF_TARGET
Allow user to select specific ESP_TARGET while setting up ESD_IDF.
Only necessary tools for given target will be downloaded and installed.

Closes https://github.com/espressif/esp-idf/issues/5113
2021-07-16 15:03:19 +02:00
Marek Fiala ae6f602b6b tools: Warning about tool beiing installed but failed to run.
idf_tool.py runs "<tool> --version" which returns the error message but it is not used
This improves the error printing.
2021-04-12 20:51:32 +02:00
Marek Fiala 6979433dbd Human-readable error if Git or Python are missing.
When user forgot to add git.exe or python to the PATH, there was a not
very helpful error message.
This improves the error with which tool is misssing and shows a link to
the espressif installer tool.
2021-04-08 13:02:42 +02:00