11{
22 "$schema" : " http://json-schema.org/draft-04/schema#" ,
3- "title" : " Build Schema" ,
4- "$ref" : " #/definitions/build" ,
53 "definitions" : {
6- "build" : {
7- "type" : " object" ,
4+ "Host" : {
5+ "type" : " string" ,
6+ "enum" : [
7+ " AppVeyor" ,
8+ " AzurePipelines" ,
9+ " Bamboo" ,
10+ " Bitbucket" ,
11+ " Bitrise" ,
12+ " GitHubActions" ,
13+ " GitLab" ,
14+ " Jenkins" ,
15+ " Rider" ,
16+ " SpaceAutomation" ,
17+ " TeamCity" ,
18+ " Terminal" ,
19+ " TravisCI" ,
20+ " VisualStudio" ,
21+ " VSCode"
22+ ]
23+ },
24+ "ExecutableTarget" : {
25+ "type" : " string" ,
26+ "enum" : [
27+ " Compile" ,
28+ " CompileSampleProjects" ,
29+ " CompileSourceProjects" ,
30+ " InstallLicense" ,
31+ " IntegrationBuild"
32+ ]
33+ },
34+ "Verbosity" : {
35+ "type" : " string" ,
36+ "description" : " " ,
37+ "enum" : [
38+ " Verbose" ,
39+ " Normal" ,
40+ " Minimal" ,
41+ " Quiet"
42+ ]
43+ },
44+ "NukeBuild" : {
845 "properties" : {
9- "Configuration" : {
10- "type" : " string" ,
11- "description" : " Configuration to build ('Debug' or 'Release')" ,
12- "enum" : [
13- " Debug" ,
14- " Release"
15- ]
16- },
1746 "Continue" : {
1847 "type" : " boolean" ,
1948 "description" : " Indicates to continue a previously failed build attempt"
2352 "description" : " Shows the help text for this build assembly"
2453 },
2554 "Host" : {
26- "type" : " string" ,
2755 "description" : " Host for execution. Default is 'automatic'" ,
28- "enum" : [
29- " AppVeyor" ,
30- " AzurePipelines" ,
31- " Bamboo" ,
32- " Bitrise" ,
33- " GitHubActions" ,
34- " GitLab" ,
35- " Jenkins" ,
36- " Rider" ,
37- " SpaceAutomation" ,
38- " TeamCity" ,
39- " Terminal" ,
40- " TravisCI" ,
41- " VisualStudio" ,
42- " VSCode"
43- ]
44- },
45- "LibrariesSolution" : {
46- "type" : " string" ,
47- "description" : " Path to a solution file that is automatically loaded. Default is Source/WPF-Libraries.sln"
48- },
49- "LicenseKey" : {
50- "type" : " string" ,
51- "description" : " The license key to use" ,
52- "default" : " Secrets must be entered via 'nuke :secret [profile]'"
56+ "$ref" : " #/definitions/Host"
5357 },
5458 "NoLogo" : {
5559 "type" : " boolean" ,
7478 "type" : " string" ,
7579 "description" : " Root directory during build execution"
7680 },
77- "SampleBrowserSolution" : {
78- "type" : " string" ,
79- "description" : " Path to a solution file that is automatically loaded. Default is Samples/SampleBrowser/SampleBrowser.sln"
80- },
81- "SamplePrismIntegrationUnitySolution" : {
82- "type" : " string" ,
83- "description" : " Path to a solution file that is automatically loaded. Default is Samples/PrismIntegration/PrismIntegration.sln"
84- },
8581 "Skip" : {
8682 "type" : " array" ,
8783 "description" : " List of targets to be skipped. Empty list skips all dependencies" ,
8884 "items" : {
89- "type" : " string" ,
90- "enum" : [
91- " Compile" ,
92- " CompileSampleProjects" ,
93- " CompileSourceProjects" ,
94- " InstallLicense" ,
95- " IntegrationBuild"
96- ]
85+ "$ref" : " #/definitions/ExecutableTarget"
9786 }
9887 },
9988 "Target" : {
10089 "type" : " array" ,
10190 "description" : " List of targets to be invoked. Default is '{default_target}'" ,
10291 "items" : {
103- "type" : " string" ,
104- "enum" : [
105- " Compile" ,
106- " CompileSampleProjects" ,
107- " CompileSourceProjects" ,
108- " InstallLicense" ,
109- " IntegrationBuild"
110- ]
92+ "$ref" : " #/definitions/ExecutableTarget"
11193 }
11294 },
11395 "Verbosity" : {
114- "type" : " string" ,
11596 "description" : " Logging verbosity during build execution. Default is 'Normal'" ,
97+ "$ref" : " #/definitions/Verbosity"
98+ }
99+ }
100+ }
101+ },
102+ "allOf" : [
103+ {
104+ "properties" : {
105+ "Configuration" : {
106+ "type" : " string" ,
107+ "description" : " Configuration to build ('Debug' or 'Release')" ,
116108 "enum" : [
117- " Minimal" ,
118- " Normal" ,
119- " Quiet" ,
120- " Verbose"
109+ " Debug" ,
110+ " Release"
121111 ]
112+ },
113+ "LibrariesSolution" : {
114+ "type" : " string" ,
115+ "description" : " Path to a solution file that is automatically loaded. Default is Source/WPF-Libraries.sln"
116+ },
117+ "LicenseKey" : {
118+ "type" : " string" ,
119+ "description" : " The license key to use" ,
120+ "default" : " Secrets must be entered via 'nuke :secrets [profile]'"
121+ },
122+ "SampleBrowserSolution" : {
123+ "type" : " string" ,
124+ "description" : " Path to a solution file that is automatically loaded. Default is Samples/SampleBrowser/SampleBrowser.sln"
125+ },
126+ "SamplePrismIntegrationUnitySolution" : {
127+ "type" : " string" ,
128+ "description" : " Path to a solution file that is automatically loaded. Default is Samples/PrismIntegration/PrismIntegration.sln"
122129 }
123130 }
131+ },
132+ {
133+ "$ref" : " #/definitions/NukeBuild"
124134 }
125- }
126- }
135+ ]
136+ }
0 commit comments