Commit Graph

72 Commits

Author SHA1 Message Date
Alexey Lapshin
e49d4a83d9 tools: Add tool's versions update with checksum file
'idf_tools.py add-version' has new options:
--override            Override tool versions with new data
--checksum-file       URL or path to local file with checksum/size for artifacts

Usage e.g.:
CHECKSUM_URL=https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/crosstool-NG-esp-2021r2-checksum.sha256
idf_tools.py add-version --tool xtensa-esp32-elf --version esp-2021r2 --override --checksum-file $CHECKSUM_URL

Positional argument 'files' moved to optional argument '--artifact-file'

Add tests for add-version logic
2022-05-13 06:51:59 +00: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
Anton Maklakov
3f3d6c84d7 tools: print system platform 2022-04-15 13:37:27 +02:00
Erhan Kurubas
b36e9a5ebf tools: add distro links for macos-arm64 2022-04-15 13:37:27 +02:00
Roland Dobai
4520fee875 Tools: IDF_TOOLS_PATH environment variable should change the constraint file path 2022-04-14 11:08:20 +02:00
Roland Dobai
c3c2b03ed4 Tools: idf_tools.py prints URL before starting the download
This helps users with poor Internet connection to be able to cancel the
download and download it in another way.

Closes https://github.com/espressif/esp-idf/issues/8625
2022-03-30 11:13:16 +02: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
Roland Dobai
d1ae1450c9 Merge branch 'feature/remove_unused_tools' into 'master'
tools: Remove tools that are not used by active ESP-IDF version.

Closes IDF-2054

See merge request espressif/esp-idf!16586
2022-02-24 06:29:34 +00: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
Roland Dobai
d93380e8f6 Tools: Don't print git failure message for version detection 2022-02-16 18:47:08 +01:00
Roland Dobai
9027c30237 Merge branch 'feat/python_reqs_directory' into 'master'
Tools: Make easier the detection of the list of Python features

See merge request espressif/esp-idf!17009
2022-02-14 16:06:36 +00:00
Roland Dobai
39fd59f2c0 Tools: Use delay between rename attempts on Windows in the installer 2022-02-07 17:18:37 +01:00
Roland Dobai
fddc73759e Tools: Make easier the detection of the list of Python features 2022-02-03 19:02:14 +01:00
Roland Dobai
1a9398799c Tools: Download the Python constraint file less frequently 2022-01-18 14:55:53 +01:00
Roland Dobai
b28d7e6850 Tools: Improve the Python package system
Introduce features into the Python package management system & manage
package versions outside of ESP-IDF repo.
2022-01-17 16:54:36 +01:00
Ivan Grokhotkov
e857b260a5 tools: improve virtualenv diagnostics, set python path explicitly
- Check if pip is installed for sys.executable before attempting to
  create the virtual environment, bail out with an error if not.
- Don't pass --seeder argument to virtualenv if its version is
  too old. For example, on Ubuntu 18.04, virtualenv 15.1.0 doesn't
  support this argument.
- Pass --python argument to virtualenv to request specific interpreter
  to be used.

Closes https://github.com/espressif/esp-idf/issues/8045
2022-01-05 09:55:13 +01:00
Juraj Sadel
7458d52945 tools: Add check for PIP_USER variable
Closes https://github.com/espressif/esp-idf/issues/7910
2021-12-08 17:36:58 +08:00
Ivan Grokhotkov
ede3dc3ea4 tools: fix some type annotations in idf_tools.py 2021-12-01 20:03:53 +01:00
Ivan Grokhotkov
d835387924 tools: make idf_tools.py download --platform argument optional
...as it is described in the docs.
2021-12-01 20:02:19 +01:00
Roland Dobai
460f3ad7b6 Merge branch 'feat/drop_msys' into 'master'
Tools: Remove MSYS/Mingw support

Closes IDF-3954

See merge request espressif/esp-idf!15862
2021-11-18 10:58:43 +00:00
Alexey Gerenkov
abce9cf021 idf_tools: Adds 'linux-armhf' platform support 2021-11-12 16:07:28 +08:00
Roland Dobai
a1d0d1ffbe Tools: Remove MSYS/Mingw support
MSYS/Mingw was deprecated since v4.0 and it is removed in v5.0. Please
follow the getting started guide of the documentation to set up a
Windows Command Line or Power Shell based environment.
2021-11-10 17:25:07 +01:00
Roland Dobai
dfc68bdab9 tools: Create the ".espressif" directory on the first run on clean system
Closes https://github.com/espressif/esp-idf/issues/7848
2021-11-08 18:58:21 +01:00
Juraj Sadel
600f3b89a2 tools/idf_tools.py: Changed default AppData seeder to seeder pip 2021-09-17 15:36:44 +02:00
Ivan Grokhotkov
57a32a8615 tools: idf_tools.py: add support for .tar.xz archives 2021-09-10 13:24:02 +02:00
Martin Gaňo
f25ed8bbdf Tools: Fixed typo in idf_tools.py 2021-07-28 16:43:02 +08:00
Roland Dobai
e1c978a03b Merge branch 'feature/use_lin_bin_on_freebsd' into 'master'
Tools: Use Linux i386/AMD64 binaries on FreeBSD

Closes IDFGH-5492

See merge request espressif/esp-idf!14442
2021-07-22 14:31:20 +00: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
Tomasz 'CeDeROM' CEDRO
05f0fa6ebd Use Linux i386/AMD64 binaries on FreeBSD.
FreeBSD can natively emulate Linux ELF binaries.
This commit allows automated Linux tools deployment on FreeBSD.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2021-07-02 16:08:49 +02:00
Roland Dobai
a71a74cd9d tools: Catch OSError which is raised when the tool is not available
Closes https://github.com/espressif/esp-idf/issues/7140
2021-06-23 11:48:45 +02:00
Roland Dobai
407053592e Drop support for unsupported Python versions 2021-06-21 21:48:49 +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
Roland Dobai
49360cb401 tools: Reinstall virtualenv if it is broken
Closes https://github.com/espressif/esp-idf/issues/6656
2021-03-08 10:20:33 +01:00
Roland Dobai
191c4ccc01 tools: Add Python typing annotations for idf_tools.py 2021-03-08 10:20:33 +01:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Ivan Grokhotkov
19d2e4cca1 Merge branch 'bugfix/idf_tools_py_splittype_deprecation' into 'master'
idf_tools.py: avoid splittype call deprecated in python3.8

Closes IDFGH-4364

See merge request espressif/esp-idf!11956
2021-01-20 07:24:36 +08:00
Juraj Michálek
f814a4dc02 fix: tools detection of wheels dir 2021-01-18 17:26:20 +01:00
Ivan Grokhotkov
76acc8ddde Merge branch 'feature/win_inst_embedded_python' into 'master'
tools: support for embedded Python

Closes IDF-322

See merge request espressif/esp-idf!11682
2021-01-18 16:54:47 +08:00
Juraj Michálek
1427b3a6d8 tools: support for embedded python 2021-01-18 08:10:56 +01:00
Sergei Silnov
c305ceb55f idf_tools.py: avoid splittype call deprecated in python3.8
Closes https://github.com/espressif/esp-idf/issues/6200
2021-01-11 17:45:29 +01:00
Ivan Grokhotkov
5739127412 tools: idf_tools.py: allow macOS x86_64 tools to be installed on arm64
Until arm64 tool binaries are available, we can run existing x86_64
ones under emulation.

Suggested in https://github.com/espressif/esp-idf/issues/6113.
2021-01-07 21:21:18 +01:00
Ivan Grokhotkov
46cfc436ad Merge branch 'feature/idf_tools_github_mirror' into 'master'
Add GitHub mirror option for IDF tools installs

Closes IDF-2028

See merge request espressif/esp-idf!10616
2020-12-14 15:58:51 +08:00
Angus Gratton
94fe736bc5 tools: Avoid subprocess.run(capture_output) argument for Python <3.7 compatibility
In Python 3.5 and 3.6 the equivalent to capture_output=True is to set stdout
and stderr arguments to subprocess.PIPE
2020-12-07 15:01:10 +11:00
Angus Gratton
4a738721f1 idf_tools: Add option to replace all GitHub tools download URLs with dl.espressif.com
Via new IDF_GITHUB_ASSETS environment variable.
2020-12-03 17:49:37 +11:00
Ivan Grokhotkov
d9db49d9f7 tools: idf_tools.py: fix compatibility with Python <= 2.7.8
Multiple ssl-related features have been backported from Python 3.x
to Python 2.7.9. This adds a fallback so that idf_tools.py can work
on older versions.
2020-10-14 20:19:32 +02:00
Ivan Grokhotkov
e43a4d51f2 tools: fix idf_tools.py compatibility regression with Python 2
In Python 2, cadata must be explicitly converted to unicode:
https://bugs.python.org/issue37079

Regression from 081ebcf1e7
2020-10-14 18:24:55 +02:00
Ivan Grokhotkov
fcb80c3cd6 Merge branch 'bugfix/idf_tools_letsencrypt_cert' into 'master'
add letsencrypt root cert into idf_tools.py

See merge request espressif/esp-idf!8829
2020-10-14 19:54:52 +08:00
Angus Gratton
261363855c 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
2020-10-07 09:36:40 +11:00
Ivan Grokhotkov
081ebcf1e7 tools: add dl.espressif.com root cert into idf_tools.py
Closes https://github.com/espressif/esp-idf/issues/5842
2020-09-18 17:39:53 +02:00