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
| Spec source |`spec`|[SpecSource](#spec-source)| No | Where to find the spec file for this component. Inherited from distro defaults if not specified. |
12
-
| Release calculation|`release-calculation`|string| No | Controls how the Release tag is managed during rendering. `"auto"` (default) = auto-bump; `"manual"` = skip all automatic Release manipulation|
12
+
| Release config|`release`|[ReleaseConfig](#release-configuration)| No | Controls how the Release tag is managed during rendering |
13
13
| Overlays |`overlays`| array of [Overlay](overlays.md)| No | Modifications to apply to the spec and/or source files |
The `path` is relative to the config file that defines the component. Local spec files and any associated source files should be placed alongside the component's `.comp.toml` file.
100
100
101
+
## Release Configuration
102
+
103
+
The `[components.<name>.release]` section controls how azldev manages the Release tag during rendering.
104
+
105
+
| Field | TOML Key | Type | Required | Description |
| Calculation |`calculation`| string | No |`"auto"` (default) = auto-bump; `"manual"` = skip all automatic Release manipulation |
108
+
109
+
Most components use auto mode (the default) and need no release configuration. Set `calculation = "manual"` for components that manage their own release numbering, such as kernel:
110
+
111
+
```toml
112
+
[components.kernel.release]
113
+
calculation = "manual"
114
+
```
115
+
101
116
## Build Configuration
102
117
103
118
The `[components.<name>.build]` section controls build-time options for a component.
// ReleaseConfig holds release-related configuration for a component.
126
+
typeReleaseConfigstruct {
127
+
// Calculation controls how the Release tag is managed during rendering.
128
+
CalculationReleaseCalculation`toml:"calculation,omitempty" json:"calculation,omitempty" validate:"omitempty,oneof=auto manual" jsonschema:"enum=auto,enum=manual,default=auto,title=Release calculation,description=Controls how the Release tag is managed during rendering. Empty or omitted means auto."`
129
+
}
130
+
125
131
// Defines a component.
126
132
typeComponentConfigstruct {
127
133
// The component's name; not actually present in serialized files.
@@ -139,10 +145,8 @@ type ComponentConfig struct {
139
145
// Where to get its spec and adjacent files from.
140
146
SpecSpecSource`toml:"spec,omitempty" json:"spec,omitempty" jsonschema:"title=Spec,description=Identifies where to find the spec for this component"`
141
147
142
-
// ReleaseCalculation controls how the Release tag is managed during rendering.
143
-
// Defaults to auto (empty). Set to "manual" for components that manage their own
144
-
// release numbering (e.g. kernel).
145
-
ReleaseCalculationReleaseCalculation`toml:"release-calculation,omitempty" json:"releaseCalculation,omitempty" validate:"omitempty,oneof=auto manual" jsonschema:"enum=auto,enum=manual,title=Release calculation,description=Controls how the Release tag is managed during rendering. Empty or omitted means auto."`
148
+
// Release configuration for this component.
149
+
ReleaseReleaseConfig`toml:"release,omitempty" json:"release,omitempty" table:"-" jsonschema:"title=Release configuration,description=Configuration for how the Release tag is managed during rendering."`
146
150
147
151
// Overlays to apply to sources after they've been acquired. May mutate the spec as well as sources.
148
152
Overlays []ComponentOverlay`toml:"overlays,omitempty" json:"overlays,omitempty" table:"-" jsonschema:"title=Overlays,description=Overlays to apply to this component's spec and/or sources"`
0 commit comments