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
@@ -130,7 +131,8 @@ We have designated the version number for the independent release (January 30, 2
130
131
_Optional._ An array of additional resource paths. These paths will be loaded after `resource.path` has finished loading.
131
132
132
133
-**option**`string[]`**💡 v2.3.0**
133
-
_Optional._ Controller-level option configuration, an array of strings. Array elements should correspond to the key names in the outer `option` configuration. The parameters generated by this option will participate in the pipeline override of all tasks that use this controller, serving as controller-level parameter passing.
134
+
_Optional._ Controller-level option configuration, an array of strings. Array elements should correspond to the key names in the outer `option` configuration. The parameters generated by this option will participate in the pipeline override of all tasks that use this controller, serving as controller-level parameter passing.
135
+
If a referenced option does not satisfy the current controller/resource constraints, that option's `pipeline_override` (including nested `option.option`) must not be merged. **💡 v2.3.1**
134
136
135
137
-**adb**`object`
136
138
Specific configuration for the `Adb` controller.
@@ -205,7 +207,8 @@ We have designated the version number for the independent release (January 30, 2
205
207
When a user selects a controller, only resource packages that support that controller will be displayed in the user interface for selection. This allows providing specially optimized resource packages for different controller types.
206
208
207
209
-**option**`string[]`
208
-
_Optional._ Resource-level option configuration, an array of strings. Array elements should correspond to the key names in the outer `option` configuration. The parameters generated by this option will participate in the pipeline override of all tasks, serving as resource-level parameter passing.
210
+
_Optional._ Resource-level option configuration, an array of strings. Array elements should correspond to the key names in the outer `option` configuration. The parameters generated by this option will participate in the pipeline override of all tasks, serving as resource-level parameter passing.
211
+
If a referenced option does not satisfy the current controller/resource constraints, that option's `pipeline_override` (including nested `option.option`) must not be merged. **💡 v2.3.1**
209
212
210
213
```jsonc
211
214
"resource": [
@@ -366,11 +369,13 @@ We have designated the version number for the independent release (January 30, 2
366
369
367
370
- **controller** `string[]` **💡 v2.3.0**
368
371
_Optional._ Specifies the list of controller types this option applies to. Array elements should correspond to the `name` field in the `controller` configuration. If not specified, this option is available for all controller types.
369
-
When a user selects a controller, the Client may hide options that do not apply to that controller, or display them in a disabled (grayed-out) state to inform the user.
372
+
When a user selects a controller, the Client may hide options that do not apply to that controller, or display them in a disabled (grayed-out) state to inform the user.
373
+
If the current controller is not in this list, the option is treated as inactive: all `pipeline_override` generated by this option and its sub-options (`option.option`) must be excluded from merging. **💡 v2.3.1**
370
374
371
375
- **resource** `string[]` **💡 v2.3.0**
372
376
_Optional._ Specifies the list of resource packages this option applies to. Array elements should correspond to the `name` field in the `resource` configuration. If not specified, this option is available for all resource packages.
373
-
When a user selects a resource package, the Client may hide options that do not apply to that resource package, or display them in a disabled (grayed-out) state to inform the user.
377
+
When a user selects a resource package, the Client may hide options that do not apply to that resource package, or display them in a disabled (grayed-out) state to inform the user.
378
+
If the current resource package is not in this list, the option is treated as inactive: all `pipeline_override` generated by this option and its sub-options (`option.option`) must be excluded from merging. **💡 v2.3.1**
374
379
375
380
- **label** `string`
376
381
Option display label, shown in the user interface. Supports internationalized strings (starting with `$`). _Optional._
@@ -448,7 +453,8 @@ We have designated the version number for the independent release (January 30, 2
448
453
-**global_option**`string[]`**💡 v2.3.0**
449
454
_Optional._ Global option configuration, an array ofstrings. Array elements should correspond to key names in the `option` configuration.
450
455
The parameters generated by this option will participate in the pipeline override of all tasks, regardless of which resource package or controller the user has selected.
451
-
Unlike `resource.option` and `controller.option`, global options do not depend on any resource package or controller selection.
456
+
Unlike `resource.option` and `controller.option`, global options do not depend on any resource package or controller selection.
457
+
However, options referenced by `global_option` must still satisfy their own `resource`/`controller` constraints; otherwise, no `pipeline_override` is applied. **💡 v2.3.1**
452
458
453
459
```jsonc
454
460
"global_option": [
@@ -583,6 +589,8 @@ The `pipeline_override` generated by each level of option is merged in the follo
583
589
584
590
In other words: `task.option` > `controller.option` > `resource.option` > `global_option`.
585
591
592
+
Before applying the merge order above, inactive options must be filtered out. Any option that does not satisfy the current `controller` / `resource` constraints (including options referenced by `global_option`, `resource.option`, `controller.option`, `task.option`, and nested `option.option`) must not generate `pipeline_override`. **💡 v2.3.1**
593
+
586
594
The reasoning behind this design is that more specific configuration (task-level) should have higher priority, while more general configuration (global-level) serves as the fallback default.
0 commit comments