|
1 | 1 | { |
2 | 2 | "$schema": "https://json-schema.org/draft/2020-12/schema", |
3 | | - "$id": "https://github.com/gim-home/azldev-preview/internal/projectconfig/config-file", |
| 3 | + "$id": "https://github.com/microsoft/azure-linux-dev-tools/internal/projectconfig/config-file", |
4 | 4 | "$ref": "#/$defs/ConfigFile", |
5 | 5 | "$defs": { |
6 | 6 | "CheckConfig": { |
|
57 | 57 | "$ref": "#/$defs/CheckConfig", |
58 | 58 | "title": "Check configuration", |
59 | 59 | "description": "Configuration for the %check section" |
| 60 | + }, |
| 61 | + "failure": { |
| 62 | + "$ref": "#/$defs/ComponentBuildFailureConfig", |
| 63 | + "title": "Build failure configuration", |
| 64 | + "description": "Configuration and policy regarding build failures for this component." |
| 65 | + }, |
| 66 | + "hints": { |
| 67 | + "$ref": "#/$defs/ComponentBuildHints", |
| 68 | + "title": "Build hints", |
| 69 | + "description": "Non-essential hints for how or when to build the component." |
| 70 | + } |
| 71 | + }, |
| 72 | + "additionalProperties": false, |
| 73 | + "type": "object" |
| 74 | + }, |
| 75 | + "ComponentBuildFailureConfig": { |
| 76 | + "properties": { |
| 77 | + "expected": { |
| 78 | + "type": "boolean", |
| 79 | + "title": "Expected failure", |
| 80 | + "description": "Indicates that this component is expected to fail building." |
| 81 | + }, |
| 82 | + "expected-reason": { |
| 83 | + "type": "string", |
| 84 | + "title": "Expected failure reason", |
| 85 | + "description": "Required justification for why this component is expected to fail building." |
| 86 | + } |
| 87 | + }, |
| 88 | + "additionalProperties": false, |
| 89 | + "type": "object" |
| 90 | + }, |
| 91 | + "ComponentBuildHints": { |
| 92 | + "properties": { |
| 93 | + "expensive": { |
| 94 | + "type": "boolean", |
| 95 | + "title": "Expensive to build", |
| 96 | + "description": "Indicates that building this component is expensive and should be carefully considered when scheduling." |
60 | 97 | } |
61 | 98 | }, |
62 | 99 | "additionalProperties": false, |
|
89 | 126 | "type": "array", |
90 | 127 | "title": "Source files", |
91 | 128 | "description": "Source files to download for this component" |
| 129 | + }, |
| 130 | + "default-package-config": { |
| 131 | + "$ref": "#/$defs/PackageConfig", |
| 132 | + "title": "Default package config", |
| 133 | + "description": "Default configuration applied to all binary packages produced by this component" |
| 134 | + }, |
| 135 | + "packages": { |
| 136 | + "additionalProperties": { |
| 137 | + "$ref": "#/$defs/PackageConfig" |
| 138 | + }, |
| 139 | + "type": "object", |
| 140 | + "title": "Package overrides", |
| 141 | + "description": "Per-package configuration overrides keyed by exact binary package name" |
92 | 142 | } |
93 | 143 | }, |
94 | 144 | "additionalProperties": false, |
|
153 | 203 | "spec-prepend-lines", |
154 | 204 | "spec-append-lines", |
155 | 205 | "spec-search-replace", |
| 206 | + "spec-remove-section", |
156 | 207 | "patch-add", |
157 | 208 | "patch-remove", |
158 | 209 | "file-prepend-lines", |
|
278 | 329 | "$ref": "#/$defs/ToolsConfig", |
279 | 330 | "title": "Tools configuration", |
280 | 331 | "description": "Configuration for tools used by azldev" |
| 332 | + }, |
| 333 | + "default-package-config": { |
| 334 | + "$ref": "#/$defs/PackageConfig", |
| 335 | + "title": "Default package config", |
| 336 | + "description": "Project-wide default applied to all binary packages before group and component overrides" |
| 337 | + }, |
| 338 | + "package-groups": { |
| 339 | + "additionalProperties": { |
| 340 | + "$ref": "#/$defs/PackageGroupConfig" |
| 341 | + }, |
| 342 | + "type": "object", |
| 343 | + "title": "Package groups", |
| 344 | + "description": "Definitions of package groups for shared binary package configuration" |
281 | 345 | } |
282 | 346 | }, |
283 | 347 | "additionalProperties": false, |
|
315 | 379 | "title": "Package Repositories", |
316 | 380 | "description": "List of package repository definitions" |
317 | 381 | }, |
| 382 | + "disable-origins": { |
| 383 | + "type": "boolean", |
| 384 | + "title": "Disable origins", |
| 385 | + "description": "When true only allow source files from the lookaside cache and do not fall back to configured origins" |
| 386 | + }, |
318 | 387 | "versions": { |
319 | 388 | "additionalProperties": { |
320 | 389 | "$ref": "#/$defs/DistroVersionDefinition" |
|
469 | 538 | "type" |
470 | 539 | ] |
471 | 540 | }, |
| 541 | + "PackageConfig": { |
| 542 | + "properties": { |
| 543 | + "publish": { |
| 544 | + "$ref": "#/$defs/PackagePublishConfig", |
| 545 | + "title": "Publish settings", |
| 546 | + "description": "Publishing settings for this binary package" |
| 547 | + } |
| 548 | + }, |
| 549 | + "additionalProperties": false, |
| 550 | + "type": "object" |
| 551 | + }, |
| 552 | + "PackageGroupConfig": { |
| 553 | + "properties": { |
| 554 | + "description": { |
| 555 | + "type": "string", |
| 556 | + "title": "Description", |
| 557 | + "description": "Human-readable description of this package group" |
| 558 | + }, |
| 559 | + "packages": { |
| 560 | + "items": { |
| 561 | + "type": "string" |
| 562 | + }, |
| 563 | + "type": "array", |
| 564 | + "title": "Packages", |
| 565 | + "description": "Explicit list of binary package names that are members of this group" |
| 566 | + }, |
| 567 | + "default-package-config": { |
| 568 | + "$ref": "#/$defs/PackageConfig", |
| 569 | + "title": "Default package config", |
| 570 | + "description": "Configuration inherited by all packages in this group" |
| 571 | + } |
| 572 | + }, |
| 573 | + "additionalProperties": false, |
| 574 | + "type": "object" |
| 575 | + }, |
| 576 | + "PackagePublishConfig": { |
| 577 | + "properties": { |
| 578 | + "channel": { |
| 579 | + "type": "string", |
| 580 | + "title": "Channel", |
| 581 | + "description": "Publish channel for this package; use 'none' to signal to downstream tooling that this package should not be published" |
| 582 | + } |
| 583 | + }, |
| 584 | + "additionalProperties": false, |
| 585 | + "type": "object" |
| 586 | + }, |
472 | 587 | "PackageRepository": { |
473 | 588 | "properties": { |
474 | 589 | "base-uri": { |
|
485 | 600 | }, |
486 | 601 | "ProjectInfo": { |
487 | 602 | "properties": { |
488 | | - "type": { |
489 | | - "type": "string", |
490 | | - "enum": [ |
491 | | - "classic-toolkit", |
492 | | - "" |
493 | | - ], |
494 | | - "title": "Project Type", |
495 | | - "description": "Type of the project" |
496 | | - }, |
497 | 603 | "description": { |
498 | 604 | "type": "string", |
499 | 605 | "title": "Description", |
|
550 | 656 | "additionalProperties": false, |
551 | 657 | "type": "object", |
552 | 658 | "required": [ |
553 | | - "filename", |
554 | | - "origin" |
| 659 | + "filename" |
555 | 660 | ] |
556 | 661 | }, |
557 | 662 | "SpecSource": { |
|
0 commit comments