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+ " InstallLicense" ,
30+ " IntegrationBuild"
31+ ]
32+ },
33+ "Verbosity" : {
34+ "type" : " string" ,
35+ "description" : " " ,
36+ "enum" : [
37+ " Verbose" ,
38+ " Normal" ,
39+ " Minimal" ,
40+ " Quiet"
41+ ]
42+ },
43+ "NukeBuild" : {
844 "properties" : {
9- "Configuration" : {
10- "type" : " string" ,
11- "description" : " Configuration to build ('Debug' or 'Release')" ,
12- "enum" : [
13- " Debug" ,
14- " Release"
15- ]
16- },
1745 "Continue" : {
1846 "type" : " boolean" ,
1947 "description" : " Indicates to continue a previously failed build attempt"
2351 "description" : " Shows the help text for this build assembly"
2452 },
2553 "Host" : {
26- "type" : " string" ,
2754 "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- "LicenseKey" : {
46- "type" : " string" ,
47- "description" : " The license key to use" ,
48- "default" : " Secrets must be entered via 'nuke :secret [profile]'"
55+ "$ref" : " #/definitions/Host"
4956 },
5057 "NoLogo" : {
5158 "type" : " boolean" ,
7077 "type" : " string" ,
7178 "description" : " Root directory during build execution"
7279 },
73- "SampleBrowserSolution" : {
74- "type" : " string" ,
75- "description" : " Path to a solution file that is automatically loaded. Default is Samples/SampleBrowser/SampleBrowser.sln"
76- },
7780 "Skip" : {
7881 "type" : " array" ,
7982 "description" : " List of targets to be skipped. Empty list skips all dependencies" ,
8083 "items" : {
81- "type" : " string" ,
82- "enum" : [
83- " Compile" ,
84- " CompileSampleProjects" ,
85- " InstallLicense" ,
86- " IntegrationBuild"
87- ]
84+ "$ref" : " #/definitions/ExecutableTarget"
8885 }
8986 },
9087 "Target" : {
9188 "type" : " array" ,
9289 "description" : " List of targets to be invoked. Default is '{default_target}'" ,
9390 "items" : {
94- "type" : " string" ,
95- "enum" : [
96- " Compile" ,
97- " CompileSampleProjects" ,
98- " InstallLicense" ,
99- " IntegrationBuild"
100- ]
91+ "$ref" : " #/definitions/ExecutableTarget"
10192 }
10293 },
10394 "Verbosity" : {
104- "type" : " string" ,
10595 "description" : " Logging verbosity during build execution. Default is 'Normal'" ,
96+ "$ref" : " #/definitions/Verbosity"
97+ }
98+ }
99+ }
100+ },
101+ "allOf" : [
102+ {
103+ "properties" : {
104+ "Configuration" : {
105+ "type" : " string" ,
106+ "description" : " Configuration to build ('Debug' or 'Release')" ,
106107 "enum" : [
107- " Minimal" ,
108- " Normal" ,
109- " Quiet" ,
110- " Verbose"
108+ " Debug" ,
109+ " Release"
111110 ]
111+ },
112+ "LicenseKey" : {
113+ "type" : " string" ,
114+ "description" : " The license key to use" ,
115+ "default" : " Secrets must be entered via 'nuke :secrets [profile]'"
116+ },
117+ "SampleBrowserSolution" : {
118+ "type" : " string" ,
119+ "description" : " Path to a solution file that is automatically loaded. Default is Samples/SampleBrowser/SampleBrowser.sln"
112120 }
113121 }
122+ },
123+ {
124+ "$ref" : " #/definitions/NukeBuild"
114125 }
115- }
116- }
126+ ]
127+ }
0 commit comments