zephyr/scripts/west_commands
Martí Bolívar eb95bed552 scripts: west_commands: fix argument handling with runners.yaml
Refactor the code to support the new runners.yaml file created by the
build system.

Compared to fishing around in the CMake cache, this makes it trivial
to put all the command line arguments to a runner-based command on
equal footing, regardless of if they're defined in the runners package
proper or defined in run_common.py.

This allows board.cmake files to do things like this:

   board_set_runner_args(foo
     --bin-file=${PROJECT_BINARY_DIR}/my-signed.bin)

While at it, make some other cleanups:

- Stop using the obsolete and deprecated west.cmake module while we're
  here in favor of the zcmake.py module which was added to Zephyr a long
  time ago. Yikes. I had forgotten this was still here.

- Stop using west.util's wrap function in favor of raw use of
  textwrap. The west function splits on hyphens, which is breaking
  runner names like "em-starterkit".

- Clean up the --context output a bit

Fixes: #22563
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-02-20 09:06:09 +02:00
..
completion
runners board: arc: Switch to generic OpenOCD runner 2020-02-13 10:45:44 +02:00
tests board: arc: Switch to generic OpenOCD runner 2020-02-13 10:45:44 +02:00
boards.py west: boards: Remove accidental comma to fix pylint warning 2019-09-07 08:08:48 -04:00
build_helpers.py scripts: west_commands: fix argument handling with runners.yaml 2020-02-20 09:06:09 +02:00
build.py scripts: west build: slight --help tweak 2019-12-19 11:29:39 +01:00
completion.py west: completion.py: Fix bad indentation and blank lines at end of file 2019-09-07 08:09:56 -04:00
debug.py scripts: west_commands: fix argument handling with runners.yaml 2020-02-20 09:06:09 +02:00
flash.py scripts: west_commands: fix argument handling with runners.yaml 2020-02-20 09:06:09 +02:00
README.txt
run_common.py scripts: west_commands: fix argument handling with runners.yaml 2020-02-20 09:06:09 +02:00
sign.py west: Add signing support using the rimage tool from SOF 2020-02-05 10:43:25 -05:00
zcmake.py scripts: west_commands: verify minimum cmake version 2019-09-07 10:08:23 -04:00
zephyr_ext_common.py

This directory contains implementations for west commands which are
tightly coupled to the zephyr tree. Currently, those are the build,
flash, and debug commands.

Before adding more here, consider whether you might want to put new
extensions in upstream west. For example, any commands which operate
on the multi-repo need to be in upstream west, not here. Try to limit
what goes in here to just those files that change along with Zephyr
itself.

When extending this code, please keep the unit tests (in tests/) up to
date. You can run the tests with this command from this directory:

$ PYTHONPATH=$PWD py.test

Windows users will need to find the path to .west/west/src in their
Zephyr installation, then run something like this:

> cmd /C "set PYTHONPATH=path\to\zephyr\scripts\west_commands && py.test"

Note that these tests are run as part of Zephyr's CI when submitting
an upstream pull request, and pull requests which break the tests
cannot be merged.

Thanks!