Commit Graph
100 Commits
Author SHA1 Message Date
Marek FialaandCursor 57365fdfb4 docs(tools): update mcp-server docs for project_dir and create-project
- Server can now start from any directory, not just a valid project dir
- Document project_dir argument available on all tools
- Add create-project tool to the list of available tools

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-25 09:14:01 +02:00
Marek Fiala 56fb3657a2 feat(tools): Improved verification of ESP-IDF project
Closes https://github.com/espressif/esp-idf/issues/18675
2026-06-25 09:14:01 +02:00
Marek Fiala 14d3b3cbc0 feat(tools): mcp-server added create-project tool 2026-06-25 09:14:01 +02:00
Marek Fiala a2adc0ab1e feat(tools): mcp-server accepts project_dir from chat
At the same time, it's possible to start idf.py mcp-server
outside ESP-IDF project directory.

Added ESP-IDF mcp server tests
2026-06-25 09:14:01 +02:00
Marek Fiala e5322213a9 fix(tools): Patch rich-click version < 1.9.5 2026-05-29 10:52:17 +02:00
Marek Fiala ab20f29305 fix(tools): Patch rich-click version < 1.9.0 2026-05-29 10:52:17 +02:00
Marek Fiala b6872d32a0 feat(tools): Visibly grouped custom extension actions in idf.py --help 2026-05-29 10:52:17 +02:00
Marek Fiala 007e0139d7 feat(tools): Replaced click with rich_click 2026-05-29 10:52:09 +02:00
Marek Fiala 46cc126c50 feat(tools): Restrict loading extension components to trusted sources 2026-04-27 22:04:34 +08:00
Marek Fiala b4fd738389 feat(tools): Added cmake and ninja arm binaries
Closes https://github.com/espressif/esp-idf/issues/18272
2026-03-19 19:11:22 +08:00
Marek Fiala e7e8c09a33 docs(tools): Adjusted mcp server documentation 2026-03-11 09:36:01 +01:00
Marek Fiala 72a8d690de feat(tools): mcp_ext.py commands adjustments 2026-03-11 09:36:00 +01:00
Marek Fiala dfabcbb822 change: Moved esp-tls hint to component specific hints.yml file 2026-02-18 13:54:59 +01:00
Marek Fiala 16c766097c test(tools): Added test for coponent hints loading 2026-02-18 13:54:58 +01:00
Marek Fiala dc7ae3352a feat(tools): Extended hints.yml loading from components 2026-02-18 13:54:58 +01:00
Marek Fiala 28dbaeb210 docs(tools): Made static link for config profile files
Made the reference link to v5.5 to reflect the correct example,
as in later version the example was changed.
2026-01-19 16:15:32 +01:00
Marek Fiala 471c2f8f74 docs(tools): Updated argument via file with quotations
Closes https://github.com/espressif/esp-idf/issues/18077
2026-01-19 16:15:32 +01:00
Marek Fiala 20faecf847 feat(tools): Clean up esp-idf-size new generation 2026-01-06 00:01:17 +08:00
Marek Fiala 063eebb046 feat(tools): Updated ccache 4.11.2 -> 4.12.1
Closes https://github.com/espressif/esp-idf/issues/17756
2025-11-20 14:11:26 +01:00
Marek Fiala 7a8389b6c8 refactor(tools): test_idf_tools.py ruff changes 2025-11-20 14:11:26 +01:00
Marek Fiala 4591a6f29b Revert "fix: Updated locale handling to prevent issues with build tools"
This reverts commit 7e09b471ab.
2025-11-04 09:20:51 +01:00
Marek Fiala a46f5a1022 Revert "fix: Updated locale handling to prevent issues with build tools"
This reverts commit 7e09b471ab.
2025-11-03 18:09:17 +01:00
Marek Fiala cd00ca0b50 docs(idf-py.rst): Added cmake preset paragraph 2025-11-03 17:34:21 +01:00
Marek Fiala 58b848dc15 test(tools): Moved preset parsing into core_ext.py and added tests 2025-11-03 17:34:21 +01:00
Marek Fiala c4347a682d feat: Install mcp with initialization scripts 2025-10-20 16:22:54 +02:00
Marek Fiala 854f6b0a3e fix(test_idf_py): Added extension API version into test extensions files 2025-10-02 15:37:29 +02:00
Marek Fiala 248c3a996e change(test_idf_py): ruff formatting idf_ext.py & some_ext.py 2025-10-02 15:34:31 +02:00
Marek Fiala 56fa45c741 revert(tools): Removed --legacy option for esp-idf-size 2025-09-29 01:54:38 +08:00
Marek Fiala 8f4c52a358 change(tools): ruff formatting core_ext.py 2025-09-29 01:54:38 +08:00
Marek Fiala 96ff174dac feat(tools): idf.py extension - added interface version 2025-09-23 15:26:33 +08:00
Marek Fiala 7ac1c541fd docs(tools): Updated documentation about extension options 2025-09-23 15:26:33 +08:00
Marek Fiala 74f75feb3a test(tools): Added idf extensions build system tests 2025-09-23 15:26:33 +08:00
Marek Fiala 4f8fb84caa feat(tools): Added check for duplicit action names/aliases from external extensions 2025-09-23 15:26:33 +08:00
Marek Fiala 732f68a2a5 feat(tools): Load idf_ext.py from build component directories & python entrypoints
Extend search for idf_ext.py beyond the project directory to include
all build components involved in the build. Also discover idf_ext.py
modules via Python entrypoints.
2025-09-23 15:26:33 +08:00
Marek Fiala 2ec170b2fb change(tools): idf.py & tools.py ruff formatting 2025-09-23 15:26:33 +08:00
Marek Fiala 7e5b0a8bb0 feat(test): Used dockerfile with updated cmake versions 2025-09-22 16:47:50 +02:00
Marek Fiala efa75a9b60 test(tools): Added minimal supported cmake versions build system tests 2025-09-22 16:47:42 +02:00
Marek Fiala af168c75b3 docs(migration-guide): Information on how to update CMake 2025-08-19 14:44:32 +02:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Marek Fiala d7faae9ae4 change(tools): ruff formating test_hints.py 2025-08-19 14:44:31 +02:00
Marek Fiala 9aada24169 feat(tools): Updated cmake versions - tools.json
recommended v3.30.2 -> v4.0.3
supported v3.16.3 -> v3.22.1
2025-08-19 14:44:31 +02:00
Marek Fiala d548d283b9 revert(tools): Revert backup option to use legacy export scrips
This reverts commit 7b417fc3f2.
2025-08-15 09:11:02 +02:00
Marek Fiala a6a4f8a705 feat(tools): Normalized detected shell names to lowercase on Windows
Closes https://github.com/espressif/esp-idf/issues/16868
2025-07-21 11:16:10 +02:00
Marek Fiala b7efec31d2 change(tools): shell_types.py ruff formatting 2025-07-21 11:16:10 +02:00
Marek Fiala 8ae487d48e feat(tools): Enforce pip 'user' option to no, when installing python env
Closes https://github.com/espressif/esp-idf/issues/16189
2025-07-11 21:35:39 +08:00
Marek Fiala 285e1edbea feat(tools): Added encoding when special characters used with username
Closes https://github.com/espressif/esp-idf/issues/16229
2025-07-11 21:35:11 +08:00
Marek Fiala bd0873f9ec 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-18 19:33:54 +08:00
Marek Fiala 335ba6b3c2 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-18 19:33:54 +08:00
Marek Fiala 79ebe0b306 fix(tools): idf_tools.py install tool@version 2025-06-18 19:33:54 +08:00
Marek Fiala b3f24a9533 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-10 14:48:08 +02:00
Marek Fiala 5ec67f5e2c feat(tools): adjusted create_ext.py by ruff formatter 2025-06-10 14:48:08 +02:00
Marek Fiala c17baef38d feat(test): Lower the scope when win tests are automatically executed
Introduced new rule "atterns-build_system_win", that coveres scope
for windows test. It currently contains only "tools/test_build_system/**/*".
2025-05-27 11:24:58 +02:00
Marek Fiala 94994f7ad3 fix(test): Temporarily disable test_cli_installer_win 2025-05-27 11:13:04 +02:00
Marek Fiala a3318d6280 fix(test): Temporarily allow test_cli_installer_win to fail 2025-05-21 16:12:35 +08:00
Marek Fiala 39cbbab859 fix(tools): Enabled removing requirements.* files 2025-05-19 15:51:49 +02:00
Marek Fiala 478eea8992 feat(tools): Update ccache 4.10.2 -> 4.11.2
Closes https://github.com/espressif/idf-installer/issues/305
2025-05-13 15:07:51 +08:00
Marek Fiala 995c0777f8 Merge branch 'fix/failing_custom_cmake_host_win' into 'master'
fix(Tools): failing test_build_custom_cmake_project (Win, MacOS runners)

Closes IDF-12682

See merge request espressif/esp-idf!37932
2025-04-16 16:01:23 +08:00
Marek Fiala 1507ec7466 fix(test): Proper cleanup after build_custom_cmake pytest
The test create build folder in current directory which
in this case is defined by (test_app_copy).
It also creates sdkconfig file in cmake source directory, which
is defined as $IDF_PATH/examples/build_system/cmake/idf_as_lib

The fixtures ensures proper cleanup even when test fails.
2025-04-15 15:09:27 +02:00
Marek Fiala 58b3c60f59 fix(tools): Update ruff-format changes 2025-04-15 15:09:27 +02:00
Marek Fiala c288935305 ci(tools): Run Win build system tests when patterns-build_system changed 2025-04-15 15:09:27 +02:00
Marek Fiala 87a118361f test(tools): skip custom cmake project test for host on Win 2025-04-15 15:09:27 +02:00
Marek Fiala 1469ee767f feat(tools): Remove PATH duplicity from first call of tools/activate.py 2025-03-13 14:44:52 +01:00
Marek Fiala 5e7e9dd667 feat(tools): Deactivate current ESP-IDF environment with every export run
Unix systems only
2025-03-13 14:44:52 +01:00
Marek Fiala a09fdf2f3e feat(tools): Safer clearing IDF_PYTHON_ENV_PATH if existing 2025-03-13 17:14:01 +08:00
Marek Fiala 2c814ef2fa feat(tools): Enforce utf-8 encoding with open() function 2024-12-27 17:12:21 +08:00
Marek Fiala bfaceabefb fix(tools): Use ESP_PYTHON with activate.py in export.fish
Closes https://github.com/espressif/esp-idf/issues/15058
2024-12-19 15:05:45 +01:00
Marek Fiala dd31a41303 fix(tools): Enable to use IDF_PATH with export.sh 2024-12-18 13:38:47 +01:00
Marek Fiala 5930a422d7 fix(tools): Fixed timeout and path bug for test_cli_installer_win 2024-12-16 14:55:16 +01:00
Marek Fiala 0b78083595 fix(tools): fixed test_create_project_with_idf_readonly on Win 2024-12-16 14:55:15 +01:00
Marek Fiala d7d1cc7c23 fix(tools): IDF_PATH_OLD not found in PowerShell 2024-11-26 12:40:46 +01:00
Marek Fiala cad15b50c4 feat(tools): Inform user about IDF_PATH set/change in install/export scripts 2024-11-25 15:56:16 +08:00
Marek Fiala d7d8828824 docs(tools): Mention idf_version.txt and ESP_IDF_VERSION in documentation 2024-11-11 16:08:47 +01:00
Marek Fiala 26002e13fc feat(tools): Imporve activate.py debug information 2024-11-05 13:53:00 +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