You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: proposals/devcontainer-features.md
+10-4Lines changed: 10 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,14 +6,20 @@ From a practical point of view, features are folders that contain units of code
6
6
7
7
Features can be defined by a `devcontainer-feature.json` file in the root folder of the feature. The file is optional for backwards compatibility but it is required for any new features being authored.
8
8
9
-
By default features are executed by an order selected by the tool that implements the spec based in the following:
9
+
By default, features are installed in an order selected by the implementing tool.
10
+
11
+
If any of the following properties in the feature's `devcontainer-feature.json, or the user's `devcontainer.json` are provided, the ordered indicated by the propert(ies) are respected.
10
12
11
13
-`runsAfter` property defined as part of `devcontainer-feature.json`.
12
14
- id.
13
15
14
16
The tool uses the `runsAfter` propery to intelligently manage this order and ensure that if there are relationships betwen the features they are respected.
15
17
16
-
In case an end user needs to control the order of execution we are adding the `overrideFeatureInstallOrder` to `devcontainer.json`
18
+
An end-user can explicitly provide an installation order for features given the `overrideFeatureInstallOrder` property of `devcontainer.json`.
19
+
20
+
All feature `id` provided in `overrideFeatureInstallOrder` must also exist in the `features` property of a user's `devcontainer.json`.
21
+
22
+
The provided features, indicated by `id`, will be installed in the specified order. Any remaining features in the features object that are not mentioned in the array will be installed in an undefined/implicit order, as determined as optimal by the tooling.
17
23
18
24
| Property | Type | Description |
19
25
| :--- | :--- | :--- |
@@ -102,12 +108,12 @@ In most cases, the `devcontainer-collection.json` file can be generated automati
102
108
103
109
## devcontainer.json properties
104
110
105
-
Features are referenced in `devcontainer.json` , where the `features` tag consists of an object tag starting with the id of the feature. and including the values of the options to pass to the feature itself.
111
+
Features are referenced in `devcontainer.json` , where the `features` tag consists of an object tag starting with the id of the feature and including the values of the options to pass to the feature itself.
106
112
107
113
The properties are:
108
114
| Property | Type | Description |
109
115
| :--- | :--- | :--- |
110
-
| options | object | Type of the option .|
116
+
| options | object | Type of the option. |
111
117
112
118
The `id` is the main reference point for how to find and download a particular feature. `id` can be defined in any of the following ways:
0 commit comments