Skip to content

Commit b4fde33

Browse files
mbolivar-nordicgalak
authored andcommitted
doc: west: 0.7.0 documentation
Reflect changes in the APIs made since 0.6.0. These will also need to be added to the release notes. Some automatic directives weren't generating the desired output, so either do it by hand or let new 0.7.0 docstrings supply the information. Try to better group the content into sections. Signed-off-by: Martí Bolívar <[email protected]>
1 parent c20a081 commit b4fde33

File tree

6 files changed

+282
-97
lines changed

6 files changed

+282
-97
lines changed

doc/guides/west/index.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ You can run ``west --help`` (or ``west -h`` for short) to get top-level help
2727
for available west commands, and ``west <command> -h`` for detailed help on
2828
each command.
2929

30-
The following pages document west's ``v0.6.x`` releases, and provide additional
30+
The following pages document west's ``v0.7.x`` releases, and provide additional
3131
context about the tool.
3232

3333
.. toctree::
@@ -45,7 +45,6 @@ context about the tool.
4545
zephyr-cmds.rst
4646
why.rst
4747
without-west.rst
48-
planned.rst
4948
release-notes.rst
5049

5150
For details on west's Python APIs, see :ref:`west-apis`.

doc/guides/west/manifest.rst

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ top-level ``manifest`` section with some subsections, like this:
8989
self:
9090
# configuration related to the manifest repository itself,
9191
# i.e. the repository containing west.yml (optional)
92+
version: <schema-version> # optional
9293
9394
In YAML terms, the manifest file contains a mapping, with a ``manifest``
9495
key. Any other keys and their contents are ignored (west v0.5 also required a
@@ -249,7 +250,7 @@ so far using ``defaults`` is:
249250
url: https://github.com/user/project-three
250251
revision: abcde413a111
251252
252-
Finally, the ``self`` subsection can be used to control the behavior of the
253+
The ``self`` subsection can be used to control the behavior of the
253254
manifest repository itself. Its value is a map with the following keys:
254255

255256
- ``path``: Optional. The path to clone the manifest repository into, relative
@@ -283,8 +284,27 @@ zephyr repository does contain extension commands, its ``self`` entry declares
283284
the location of the corresponding :file:`west-commands.yml` relative to the
284285
repository root.
285286

287+
.. _west-manifest-schema-version:
288+
289+
The ``version`` subsection can be used to mark the lowest version of the
290+
manifest file schema that can parse this file's data:
291+
292+
.. code-block:: yaml
293+
294+
manifest:
295+
version: 0.7
296+
# marks that this manifest uses features available in west 0.7 and
297+
# up, like manifest imports
298+
286299
The pykwalify schema :file:`manifest-schema.yml` in the west source code
287-
repository is used to validate the manifest section.
300+
repository is used to validate the manifest section. The current manifest
301+
``version`` is 0.7, which corresponds to west version 0.7. This is the only
302+
value this field can currently take.
303+
304+
If a later version of west, say version ``21.0``, includes changes to the
305+
manifest schema that cannot be parsed by west 0.7, then setting ``version:
306+
21.0`` will cause west to print an error when attempting to parse the manifest
307+
data.
288308

289309
.. _west-manifest-import:
290310

doc/guides/west/planned.rst

Lines changed: 0 additions & 24 deletions
This file was deleted.

doc/guides/west/release-notes.rst

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,84 @@
11
West Release Notes
22
##################
33

4+
v0.7.0
5+
******
6+
7+
The main user-visible feature in west 0.7 is the :ref:`west-manifest-import`
8+
feature. This allows users to load west manifest data from multiple different
9+
files, resolving the results into a single logical manifest.
10+
11+
Additional user-visible changes:
12+
13+
- The idea of a "west installation" has been renamed to "west workspace" in
14+
this documentation and in the west API documentation. The new term seems to
15+
be easier for most people to work with than the old one.
16+
- West manifests now support a :ref:`schema version
17+
<west-manifest-schema-version>`.
18+
- The "west config" command can now be run outside of a workspace, e.g.
19+
to run ``west config --global section.key value`` to set a configuration
20+
option's value globally.
21+
- There is a new :ref:`west topdir <west-multi-repo-misc>` command, which
22+
prints the root directory of the current west workspace.
23+
- The ``west -vv init`` command now prints the git operations being performed,
24+
and their results.
25+
- The restriction that no project can be named "manifest" is now enforced; the
26+
name "manifest" is reserved for the manifest repository, and is usable as
27+
such in commands like ``west list manifest``, instead of ``west list
28+
path-to-manifest-repository`` being the only way to say that
29+
- It's no longer an error if there is no project named "zephyr". This is
30+
part of an effort to make west generally usable for non-Zephyr use cases.
31+
- Various bug fixes.
32+
33+
The developer-visible changes to the :ref:`west-apis` are:
34+
35+
- west.build and west.cmake: deprecated; this is Zephyr-specific functionality
36+
and should never have been part of west. Since Zephyr v1.14 LTS relies on it,
37+
it will continue to be included in the distribution, but will be removed
38+
when that version of Zephyr is obsoleted.
39+
- west.commands:
40+
41+
- WestCommand.requires_installation: deprecated; use requires_workspace instead
42+
- WestCommand.requires_workspace: new
43+
- WestCommand.has_manifest: new
44+
- WestCommand.manifest: this is now settable
45+
- west.configuration: callers can now identify the workspace directory
46+
when reading and writing configuration files
47+
- west.log:
48+
49+
- msg(): new
50+
- west.manifest:
51+
52+
- The module now uses the standard logging module instead of west.log
53+
- QUAL_REFS_WEST: new
54+
- SCHEMA_VERSION: new
55+
- Defaults: removed
56+
- Manifest.as_dict(): new
57+
- Manifest.as_frozen_yaml(): new
58+
- Manifest.as_yaml(): new
59+
- Manifest.from_file() and from_data(): these factory methods are more
60+
flexible to use and less reliant on global state
61+
- Manifest.validate(): new
62+
- ManifestImportFailed: new
63+
- ManifestProject: semi-deprecated and will likely be removed later.
64+
- Project: the constructor now takes a topdir argument
65+
- Project.format() and its callers are removed. Use f-strings instead.
66+
- Project.name_and_path: new
67+
- Project.remote_name: new
68+
- Project.sha() now captures stderr
69+
- Remote: removed
70+
71+
West now requires Python 3.6 or later. Additionally, some features may rely on
72+
Python dictionaries being insertion-ordered; this is only an implementation
73+
detail in CPython 3.6, but is is part of the language specification as of
74+
Python 3.7.
75+
76+
v0.6.3
77+
******
78+
79+
This point release fixes an error in the behavior of the deprecated
80+
``west.cmake`` module.
81+
482
v0.6.2
583
******
684

doc/guides/west/repo-tool.rst

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,17 @@ Miscellaneous Commands
262262
West has a few more commands for managing the multi-repo, which are briefly
263263
discussed here. Run ``west <command> -h`` for detailed help.
264264

265+
- ``west forall -c COMMAND [PROJECT ...]``: Runs the shell command ``COMMAND``
266+
within the top-level repository directory of each of the specified projects
267+
(default: all cloned projects). If ``COMMAND`` consists of more than one
268+
word, it must be quoted to prevent it from being split up by the shell.
269+
270+
To run an arbitrary Git command in each project, use something like ``west
271+
forall -c 'git <command> --options'``. Note that ``west forall`` can be used
272+
to run any command, though, not just Git commands.
273+
274+
- ``west help <command>``: this is equivalent to ``west <command> -h``.
275+
265276
- ``west list [-f FORMAT] [PROJECT ...]``: Lists project information from the
266277
manifest file, such as URL, revision, path, etc. The printed information can
267278
be controlled using the ``-f`` option.
@@ -278,16 +289,7 @@ discussed here. Run ``west <command> -h`` for detailed help.
278289
- ``west status [PROJECT ...]``: Like ``west diff``, for
279290
running ``git status``.
280291

281-
- ``west forall -c COMMAND [PROJECT ...]``: Runs the shell command ``COMMAND``
282-
within the top-level repository directory of each of the specified projects
283-
(default: all cloned projects). If ``COMMAND`` consists of more than one
284-
word, it must be quoted to prevent it from being split up by the shell.
285-
286-
To run an arbitrary Git command in each project, use something like ``west
287-
forall -c 'git <command> --options'``. Note that ``west forall`` can be used
288-
to run any command, though, not just Git commands.
289-
290-
- ``west help <command>``: this is equivalent to ``west <command> -h``.
292+
- ``west topdir``: Prints the top directory of the west workspace.
291293

292294
.. _PyPI:
293295
https://pypi.org/project/west/

0 commit comments

Comments
 (0)