Closed davidzuhn closed 2 years ago
@davidzuhn Thank you for the issue, we will improve reporting for the situation.
When all your dependencies are already downloaded, regular rebuild doesn't try to connect even now. However, changing of target discards information about dependencies and it will try to check for versions available for the new target. And it's hard to change this behaviour now.
Answers checklist.
IDF version.
v5.1-dev-437-g5c1044d84d
Operating System used.
macOS
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
No response
What is the expected behavior?
I have a project that uses external dependencies (mdns).
When I try to do a build when I don't have an internet connection, I'd like to either a) be able to do my build with a warning about dependencies possibly being out of date, or b) get a concise & useful error message about needing an internet connection to check upstream repositories.
What is the actual behavior?
Instead I get this (from running idf.py):
which is neither concise nor particularly helpful unless one happens to be good at deciphering Python stack traces (which is generally not a skill I expect to be needed to be an ESP32 developer).
Steps to reproduce.
cd $IDF_PATH/examples/get-started/hello_world
add a dependency on an external component put this content into main/idf_component.yml
Disable your internet access
Run 'idf.py set-target esp32'
Build or installation Logs.
No response
More Information.
I'd like to see something catch all of those exceptions and print a single error message.
In the case where the dependency is found locally, it might be nice to have an option where the build continues without checking against the upstream repository (airplane mode development).