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
A single output of a derivation, with different variants for different output types.
161
+
oneOf:
162
+
- "$ref": "#/$defs/output/inputAddressed"
163
+
- "$ref": "#/$defs/output/caFixed"
164
+
- "$ref": "#/$defs/output/caFloating"
165
+
- "$ref": "#/$defs/output/deferred"
166
+
- "$ref": "#/$defs/output/impure"
164
167
165
-
method:
166
-
"$ref": "./content-address-v1.yaml#/$defs/method"
167
-
description: |
168
-
For an output which will be [content addressed](@docroot@/store/derivation/outputs/content-address.md), a string representing the [method](@docroot@/store/store-object/content-address.md) of content addressing that is chosen.
169
-
See the linked original definition for further details.
170
-
hashAlgo:
171
-
title: Hash algorithm
172
-
"$ref": "./hash-v1.yaml#/$defs/algorithm"
173
-
174
-
hash:
175
-
type: string
176
-
title: Expected hash value
177
-
description: |
178
-
For fixed-output derivations, the expected content hash in base-16.
168
+
inputAddressed:
169
+
title: Input-Addressed Output
170
+
description: |
171
+
The traditional non-fixed-output derivation type.
172
+
The output path is determined from the derivation itself.
173
+
174
+
See [Input-addressing derivation outputs](@docroot@/store/derivation/outputs/input-address.md) for more details.
175
+
type: object
176
+
required:
177
+
- path
178
+
properties:
179
+
path:
180
+
$ref: "store-path-v1.yaml"
181
+
title: Output path
182
+
description: |
183
+
The output path determined from the derivation itself.
184
+
additionalProperties: false
185
+
186
+
caFixed:
187
+
title: Fixed Content-Addressed Output
188
+
description: |
189
+
The output is content-addressed, and the content-address is fixed in advance.
190
+
191
+
See [Fixed-output content-addressing](@docroot@/store/derivation/outputs/content-address.md#fixed) for more details.
192
+
type: object
193
+
required:
194
+
- method
195
+
- hashAlgo
196
+
- hash
197
+
properties:
198
+
method:
199
+
"$ref": "./content-address-v1.yaml#/$defs/method"
200
+
description: |
201
+
Method of content addressing used for this output.
202
+
hashAlgo:
203
+
title: Hash algorithm
204
+
"$ref": "./hash-v1.yaml#/$defs/algorithm"
205
+
hash:
206
+
type: string
207
+
title: Expected hash value
208
+
description: |
209
+
The expected content hash in base-16.
210
+
additionalProperties: false
211
+
212
+
caFloating:
213
+
title: Floating Content-Addressed Output
214
+
description: |
215
+
Floating-output derivations, whose outputs are content
216
+
addressed, but not fixed, and so the output paths are dynamically calculated from
217
+
whatever the output ends up being.
218
+
219
+
See [Floating Content-Addressing](@docroot@/store/derivation/outputs/content-address.md#floating) for more details.
220
+
type: object
221
+
required:
222
+
- method
223
+
- hashAlgo
224
+
properties:
225
+
method:
226
+
"$ref": "./content-address-v1.yaml#/$defs/method"
227
+
description: |
228
+
Method of content addressing used for this output.
229
+
hashAlgo:
230
+
title: Hash algorithm
231
+
"$ref": "./hash-v1.yaml#/$defs/algorithm"
232
+
description: |
233
+
What hash algorithm to use for the given method of content-addressing.
234
+
additionalProperties: false
235
+
236
+
deferred:
237
+
title: Deferred Output
238
+
description: |
239
+
Input-addressed output which depends on a (CA) derivation whose outputs (and thus their content-address
240
+
are not yet known.
241
+
type: object
242
+
properties: {}
243
+
additionalProperties: false
244
+
245
+
impure:
246
+
title: Impure Output
247
+
description: |
248
+
Impure output which is just like a floating content-addressed output, but this derivation runs without sandboxing.
249
+
As such, we don't record it in the build trace, under the assumption that if we need it again, we should rebuild it, as it might produce something different.
250
+
required:
251
+
- impure
252
+
- method
253
+
- hashAlgo
254
+
properties:
255
+
impure:
256
+
const: true
257
+
method:
258
+
"$ref": "./content-address-v1.yaml#/$defs/method"
259
+
description: |
260
+
How the file system objects will be serialized for hashing.
0 commit comments