mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
9456c157ff
The -Werror=all activates error for all warnings in -Wall, however, it does not activate error for other default warnings, such as: - int-conversion (pointer from integer w/o a cast) - incompatible-pointer-types - discarded-qualifiers Which are IMO even more important that -Wall. This commit fixes that by activating error for all warnings (i.e. from -Wall and default ones) and removing those from -Wextra, as the culprit commit seemed to address. Fixes: 60f29236f6 "Build system: Raise warning level" (2016-11-16) In order to avoid long analysis during esp-idf upgrade, provide a way to restore the previous -Werror=all behavior that consider only warnings from -Wall (and not default ones). Also add a hint to use the Kconfig option on compilation error, but warn that fixing the code is the preferred way. Merges https://github.com/espressif/esp-idf/pull/11239 Suggested-By: Ivan Grokhotkov <ivan@espressif.com>
idf.py extensions
Python modules (subdirectories and files) in this directory named [your_extension]_ext
will be loaded as idf.py extensions.
If you want to provide extra extensions just provide ;
separated list of directories with extensions in IDF_EXTRA_ACTIONS_PATH
. Extensions will be loaded in alphanumeric order.
Command line arguments parsing and extension mechanism is implemented on top of Click (versions >=5.0 are supported).
They should define a function action_extensions(base_actions, project_path)
where:
- base_actions - dictionary with actions that are already available for idf.py
- project_path - working dir, may be defaulted to
os.getcwd()
This function have to return a dict with 3 possible keys:
{
# Additional options that will be available from id
"global_options": [{
"names": ["--option-name"],
"help": "Help for option --option-name.",
}],
# List of functions that will have access to full app context, and can mangle with arguments
"global_action_callbacks": [global_callback],
# Additional subcommands for idf.py
"actions": {
"subcommand_name": {
"callback": subcommand_callback,
"help": "Help for subcommand.",
},
},
}
Where function global_callback(ctx, global_args, tasks)
accepts 3 arguments:
- ctx - Click context
- global_args - dictionary of all available global arguments
- tasks - list of Task objects
And subcommand_callback(subcommand_name, ctx, args)
accepts 3 arguments:
- subcommand_name - name of subcommand
- ctx - Click context
- args - list of command's arguments