Lines Matching full:project
35 repositories in the workspace, with each project repository boxed in by a
42 project repositories. This relationship is shown using dotted line arrows in the
44 to a corresponding commit in a project repository.
52 - Project and manifest repository histories don't have to move
60 One use for moving backward in project history is to "revert" a regression by
63 - Project repository commits can be "skipped": ``P3`` moves forward
66 - In the above diagram, no project repository has two revisions "at
84 # short names for project URLs
88 # default project attributes
94 # a list of project groups to enable or disable
116 the complete Git fetch URL for each project. A project's fetch URL can be set
117 by appending a project-specific path onto a remote URL base. (As we'll see
146 project with this remote.
159 The ``projects`` subsection contains a sequence describing the project
160 repositories in the west workspace. Every project has a unique name. You can
162 what revisions to track, and where the project should be stored on the local
178 path: extra/project-1
184 url: https://github.com/user/project-three
191 with a ``/`` and the project ``name`` to form the URL.
193 Locally, this project will be cloned at path ``extra/project-1`` relative to
197 Since the project has no ``revision`` specified, ``master`` is used by
199 detached ``HEAD`` when west next updates this project.
205 Since the project has no ``path`` attribute, its ``name`` is used by
208 project.
211 ``https://github.com/user/project-three``.
216 The available project keys and their usage are in the following table.
228 - Mandatory; a unique name for the project. The name cannot be one of the
235 If the project has a ``remote``, that remote's ``url-base`` will be
236 combined with the project's ``name`` (or ``repo-path``, if it has one)
239 If the project has a ``url``, that's the complete fetch URL for the
242 If the project has neither, the ``defaults`` section must specify a
243 ``remote``, which will be used as the the project's remote. Otherwise,
248 ``url-base`` instead of the project's ``name`` to form its fetch URL.
258 A project revision can be a branch, tag, or SHA.
263 state of the project.
268 the project's ``name`` is used as a directory name.
276 - Optional. If given, a relative path to a YAML file within the project
277 which describes additional west commands provided by that project. This
287 - Optional, a list of groups the project belongs to. See
292 submodules`_ defined by the project. See
297 :ref:`west-project-userdata`.
314 The ``defaults`` subsection can provide default values for project
334 path: extra/project-1
340 url: https://github.com/user/project-three
353 - Optional. This will be used for a project's ``remote`` if it does not
357 - Optional. This will be used for a project's ``revision`` if it does
398 ``https://git.example.com/project-repo``, the manifest repository would
399 be cloned to the directory :file:`project-repo`.
402 - Optional. This is analogous to the same key in a project sequence
481 - Support for ``userdata:`` in ``projects:`` (:ref:`west-project-userdata`)
484 - Support for ``self: userdata:`` (:ref:`west-project-userdata`)
518 difference is that an inactive project is generally ignored by west. For
521 :ref:`west-manifest-import` in an inactive project will be ignored by west.
523 There are two ways to make a project inactive:
525 1. Using the ``manifest.project-filter`` configuration option. If a project is
527 a project inactive using its ``groups:`` are ignored. That is, if a regular
528 expression in ``manifest.project-filter`` applies to a project, the
529 project's groups have no effect on whether it is active or inactive.
533 2. Otherwise, if a project has groups, and they are all disabled, then the
534 project is inactive.
540 Project Groups
552 The next section introduces project groups. The following section describes
554 :ref:`west-project-group-examples`. Finally, :ref:`west-group-filter-imports`
567 - name: some-project
573 You can enable or disable project groups using ``group-filter``. Projects whose
575 ``manifest.project-filter`` configuration option, are inactive.
583 - name: project-1
586 - name: project-2
590 - name: project-3
594 - ``project-1``: one group, named ``groupA``
595 - ``project-2``: two groups, named ``groupB`` and ``groupC``
596 - ``project-3``: no groups
598 Project group names must not contain commas (,), colons (:), or whitespace.
606 As a restriction, no project may use both ``import:`` and ``groups:``. (This
611 Enabled and Disabled Project Groups
614 All project groups are enabled by default. You can enable or disable groups in
668 .. _west-project-group-examples:
670 Project Group Examples
673 This section contains example situations involving project groups and active
682 In all of the examples that follow, the ``manifest.project-filter`` option
714 is no way to make project ``baz`` inactive, since it has no groups.
744 Since ``groupA`` is disabled, project ``foo`` is inactive. Project ``bar`` is
806 Project ``foo`` is inactive because ``groupA`` has been disabled by the
807 ``manifest.group-filter`` configuration option. Project ``bar`` is active
950 - name: project-1
951 url: https://git.example.com/project-1
963 - name: project-2
964 url: https://git.example.com/project-2
965 - name: project-3
966 url: https://git.example.com/project-3
970 Only ``child`` and ``project-2`` are active in the resolved manifest.
976 Since ``project-1`` and ``project-3`` are in the ``unstable`` group and are not
993 - name: project-1
994 url: https://git.example.com/project-1
1006 - name: project-2
1007 url: https://git.example.com/project-2
1010 - name: project-3
1011 url: https://git.example.com/project-3
1015 Only the ``child``, ``project-1``, and ``project-3`` projects are active.
1019 ``project-1`` and ``project-3`` are in the ``unstable`` group, they are active.
1022 ``project-2`` is inactive.
1040 - name: project-1
1041 url: https://git.example.com/project-1
1053 - name: project-2
1054 url: https://git.example.com/project-2
1057 - name: project-3
1058 url: https://git.example.com/project-3
1068 Then only the ``child``, ``project-1``, and ``project-3`` projects are active.
1072 enabled. Since ``project-1`` and ``project-3`` are in the ``unstable`` group,
1075 The same configuration option disables the ``optional`` group, so ``project-2``
1088 submodules`_ configured in project's git repository. The ``submodules`` key can
1095 - name: some-project
1107 recursively update the project's Git submodules whenever it updates the project
1112 along with another project named ``bar`` in the same workspace.
1137 to its parent west project, as shown in the output of ``git submodule
1144 in sync, along with another project named ``bar`` in the same workspace.
1163 .. _west-project-userdata:
1173 It is meant for consumption by programs that require user-specific project
1178 the corresponding ``west.manifest.Project`` object.
1215 ``project`` or ``self`` section attribute:
1221 - name: some-project
1227 containing your :file:`west.yml`. You can use a "project: ... import:" to load
1228 additional files defined in that project's Git history.
1237 other files. For example, a project named ``foo`` in your :file:`west.yml`
1279 from the :file:`west.yml` file in that project's root directory. If it's
1399 latest changes in the Zephyr project. The cost is that running ``west update``
1406 ``manifest-rev`` when importing from a project.
1454 With this manifest file, the project named ``hal_nordic``:
1461 In other words, when your top-level manifest defines a project, like
1493 - name: project-1
1496 - name: project-2
1504 - the contents of :file:`project-1/west.yml` at ``manifest-rev``, which points
1506 - any YAML files in the directory tree :file:`project-2/p2-manifests`
1537 the ``zephyr`` project. This example is contrived, but shows the idea.
1605 the project by the same name in :file:`zephyr/west.yml` is simply ignored. As
1653 - ``name-allowlist``: Optional. If present, a name or sequence of project names
1655 - ``path-allowlist``: Optional. If present, a path or sequence of project paths
1659 - ``name-blocklist``: Optional. Like ``name-allowlist``, but contains project
1661 - ``path-blocklist``: Optional. Like ``path-allowlist``, but contains project
1664 to the project's path in the workspace, as well as the paths of any imported
1672 Allowlists override blocklists if both are given. For example, if a project is
1735 If an allowlist had not been used, the ``lib`` project from the mainline
1866 For example, suppose you want to import this manifest from project ``foo``,
1867 adding this project and its projects ``bar`` and ``baz`` to your workspace:
1883 three project repositories in an :file:`external-code` subdirectory, like this:
1991 name), since that's the final project ``import``
2027 west will not import additional manifest data from that project. If
2070 example, if ``import-1`` contains a project named ``bar``, that is ignored,
2071 because the top-level :file:`west.yml` has already defined a project by that
2078 ``west update`` also fetches project data from the remote fetch URL and updates
2082 which defines a project ``P``, must be up to date in order for west to update
2084 ``manifest-rev`` in the ``baz`` project if :file:`baz/west.yml` defines ``P``,
2088 unrecognized project!
2091 in an imported manifest; you must update this project along with all the others
2094 By default, west won't fetch any project data over the network if a project's
2191 A "frozen" manifest is a manifest file where every project's revision is a SHA.