zephyr/scripts/west_commands
Carles Cufi b7c75915e0 west: build: Add new pristine cmd-line and config option
Add a new command-line and build config option, `pristine`, that the
user can pass to `west build` or set in its configuration file(s) in
order to automatically trigger a pristine build on every build or
whenever west considers it required.

The option can take the following values:

- never: Never run the target
- always: Always run the pristine target before building
- auto: Run the pristine target when required

With `auto`, the pristine target will be run when running
west with an existing build folder containing a build system and:

- Selecting a different board from the one currently in the build system
- Selecting a different application from the one currently in the build
  system

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2019-04-17 10:02:46 -04:00
..
runners scripts: Remove unused imports in all Python scripts 2019-03-28 11:06:20 -05:00
tests scripts: Remove unused imports in all Python scripts 2019-03-28 11:06:20 -05:00
build.py west: build: Add new pristine cmd-line and config option 2019-04-17 10:02:46 -04:00
debug.py scripts: west commands: add text for "west --help" 2019-01-29 10:15:01 +01:00
flash.py scripts: west commands: add text for "west --help" 2019-01-29 10:15:01 +01:00
README.txt west_commands: add information on running tests 2019-01-29 10:15:01 +01:00
run_common.py scripts: west_commands: refactor run_common.py 2019-02-07 08:44:19 -05:00
sign.py west: sign.py: usability fixes 2019-02-15 21:07:10 +01:00
zephyr_ext_common.py scripts: west_commands: refactor run_common.py 2019-02-07 08:44:19 -05:00

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=$(west list --format="{abspath}" west)/src:$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\.west\west\src: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!