Merge pull request #14722 from jashook/arm64_windows_nt_rework
[platform/upstream/coreclr.git] / config.json
1 {
2   "settings": {
3     "CloudDropAccessToken": {
4       "description": "Azure access token",
5       "valueType": "property",
6       "values": [],
7       "defaultValue": ""
8     },
9     "CloudDropAccountName": {
10       "description": "Azure account name.",
11       "valueType": "property",
12       "values": [],
13       "defaultValue": ""
14     },
15     "__PublishPackages": {
16       "description": "Specifies whether to publish product packages.",
17       "valueType": "property",
18       "values": [ true, false ],
19       "defaultValue": true
20     },
21     "__PublishSymbols": {
22       "description": "Specifies whether to publish symbol packages.",
23       "valueType": "property",
24       "values": [ true, false ],
25       "defaultValue": true
26     },
27     "BuildNumberMajor": {
28       "description": "Product build major number.",
29       "valueType": "property",
30       "values": [],
31       "defaultValue": ""
32     },
33     "BuildNumberMinor": {
34       "description": "Product build minor number.",
35       "valueType": "property",
36       "values": [],
37       "defaultValue": ""
38     },
39     "ContainerName": {
40       "description": "Container name for Azure upload.",
41       "valueType": "property",
42       "values": [],
43       "defaultValue": ""
44     },
45     "__BlobNamePrefix": {
46       "description": "Blob Prefix for Azure download.",
47       "valueType": "property",
48       "values": [],
49       "defaultValue": ""
50     },
51     "MsBuildFileLogging": {
52       "description": "MsBuild logging options.",
53       "valueType": "passThrough",
54       "values": [],
55       "defaultValue": "/flp:v=normal"
56     },
57     "MsBuildEventLogging": {
58       "description": "MsBuild logging options.",
59       "valueType": "passThrough",
60       "values": [],
61       "defaultValue": "/l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log"
62     },
63     "FilterToOSGroup": {
64       "description": "Specifies the OSGroup.",
65       "valueType": "property",
66       "values": [ "Windows_NT", "Linux", "Unix", "OSX", "Android" ],
67       "defaultValue": "${OSName}"
68     },
69     "RestoreNETCorePlatforms": {
70       "description": "MsBuild target that restores the NETCore packages.",
71       "valueType": "target",
72       "values": [],
73       "defaultValue": ""
74     },
75     "RestoreOptData": {
76       "description": "MsBuild target that restores optimization profile data.",
77       "valueType": "target",
78       "values": [],
79       "defaultValue": ""
80     },
81     "RestoreDuringBuild": {
82       "description": "Enables/disables package restore.",
83       "valueType": "property",
84       "values": [ true, false ],
85       "defaultValue": true
86     },
87     "Project": {
88       "description": "Project where the commands are going to be applied.",
89       "valueType": "passThrough",
90       "values": [],
91       "defaultValue": ""
92     },
93     "__BuildType": {
94       "description": "Specifies the configuration to publish packages",
95       "valueType": "property",
96       "values": [ "release", "debug", "checked" ],
97       "defaultValue": "debug"
98     },
99     "__BuildArch": {
100       "description": "Specifies the architecture to publish packages",
101       "valueType": "property",
102       "values": [ "x64", "x86", "arm", "arm64" ],
103       "defaultValue": "${CPUArch}"
104     },
105     "__BuildOS": {
106       "description": "Specifies the OS to publish packages.",
107       "valueType": "property",
108       "values": [ "Linux", "OSX", "FreeBSD", "OpenBSD", "NetBSD", "SunOS", "Windows_NT", "Android" ],
109       "defaultValue": "${OSName}"
110     },
111     "__DistroRid": {
112       "description": "Specifies the distro rid for Unix OS.",
113       "valueType": "property",
114       "values": [],
115       "defaultValue": "${OSRid}"
116     },
117     "__VSVersion": {
118       "description": "Sets the Visual Studio version to use.",
119       "valueType": "property",
120       "values": [],
121       "defaultValue": "vs2015"
122     },
123     "__ProjectDir": {
124       "description": "Directory of the dir.props file.",
125       "valueType": "property",
126       "values": [],
127       "defaultValue": ""
128     },
129     "__SourceDir": {
130       "description": "Source directory.",
131       "valueType": "property",
132       "values": [],
133       "defaultValue": ""
134     },
135     "__PackagesDir": {
136       "description": "Packages directory.",
137       "valueType": "property",
138       "values": [],
139       "defaultValue": ""
140     },
141     "__RootBinDir": {
142       "description": "Root bin directory.",
143       "valueType": "property",
144       "values": [],
145       "defaultValue": ""
146     },
147     "__BinDir": {
148       "description": "Bin directory of specific OS, Arch and Type being built.",
149       "valueType": "property",
150       "values": [],
151       "defaultValue": ""
152     },
153     "__IntermediatesDir": {
154       "description": "Intermediates bin directory.",
155       "valueType": "property",
156       "values": [],
157       "defaultValue": ""
158     },
159     "__PackagesBinDir": {
160       "description": "Packages bin directory.",
161       "valueType": "property",
162       "values": [],
163       "defaultValue": ""
164     },
165     "__TestWorkingDir": {
166       "description": "Test working directory.",
167       "valueType": "property",
168       "values": [],
169       "defaultValue": ""
170     },
171     "GenerateVersionHeader": {
172       "description": "Generates _version.h",
173       "valueType": "passThrough",
174       "values": [],
175       "defaultValue": "/t:GenerateVersionHeader /p:GenerateVersionHeader=true"
176     },
177     "GenerateVersionSourceFile": {
178       "description": "Generate version.cpp",
179       "valueType": "passThrough",
180       "values": [],
181       "defaultValue": "/t:GenerateVersionSourceFile /p:GenerateVersionSourceFile=true"
182     },
183     "MSBuildNodeCount": {
184       "description": "Sets the value of the number of processors available for MSBuild.",
185       "valueType": "passThrough",
186       "values": [],
187       "defaultValue": "/maxcpucount"
188     },
189     "NativeVersionSourceFile": {
190       "description": "Provides location for version.cpp",
191       "valueType": "property",
192       "values": [],
193       "defaultValue": ""
194     },
195     "NativeVersionHeaderFile": {
196       "description": "Provides location for _version.h",
197       "valueType": "property",
198       "values": [],
199       "defaultValue": ""
200     },
201     "OverwriteCoreClrPackageVersion": {
202       "description": "Sets the property specifying to overwrite CoreClr Package version using OfficialBuildId",
203       "valueType": "property",
204       "values": [ true, false ],
205       "defaultValue": true
206     },
207     "OfficialBuildId": {
208       "description": "Official Build Id.",
209       "valueType": "property",
210       "values": [],
211       "defaultValue": ""
212     },
213     "Configuration": {
214       "description": "Specifies the build type for native build.",
215       "valueType": "property",
216       "values": [ "debug", "release", "checked" ],
217       "defaultValue": "debug"
218     },
219     "EnableProfileGuidedOptimization": {
220       "description": "Enables IBC profile optimizations if profile data are available.",
221       "valueType": "property",
222       "values": [ true, false ],
223       "defaultValue": false
224     },
225     "RestoreDefaultOptimizationDataPackage": {
226       "description": "Instructs BuildTools to restore the default OptimizationData package.",
227       "valueType": "property",
228       "values": [ true, false ],
229       "defaultValue": true
230     },
231     "UsePartialNGENOptimization": {
232       "description": "Adds the `-partialNGEN -minify` arguments when invoking IBCMerge.",
233       "valueType": "property",
234       "values": [ true, false ],
235       "defaultValue": true
236     },
237     "OptimizationDataDir": {
238       "description": "Sets the path where the build should look for IBC profile data.",
239       "valueType": "property",
240       "values": [],
241       "defaultValue": ""
242     },
243     "UseEnv": {
244       "description": "Set when building for arm64.",
245       "valueType": "property",
246       "values": [ true, false ],
247       "defaultValue": true
248     },
249     "Platform": {
250       "description": "Sets the build arch for native build.",
251       "valueType": "property",
252       "values": [ "x86", "x64", "arm", "arm64" ],
253       "defaultValue": "${CPUArch}"
254     },
255     "PortableBuild": {
256       "description": "Indicates if this is a portable build.",
257       "valueType": "property",
258       "values": [ "false", "true"],
259       "defaultValue": "true"
260     },
261     "Rebuild": {
262       "description": "Specifies rebuild target.",
263       "valueType": "target",
264       "values": [],
265       "defaultValue": ""
266     },
267     "MsBuildLog": {
268       "description": "Specifies build logs for build alias.",
269       "valueType": "passThrough",
270       "values": [],
271       "defaultValue": ""
272     },
273     "MsBuildWrn": {
274       "description": "Specifies build logs for build alias.",
275       "valueType": "passThrough",
276       "values": [],
277       "defaultValue": ""
278     },
279     "MsBuildErr": {
280       "description": "Specifies build logs for build alias.",
281       "valueType": "passThrough",
282       "values": [],
283       "defaultValue": ""
284     },
285     "BuildNugetPackage": {
286       "description": "Specifies to build nuget packages.",
287       "valueType": "property",
288       "values": [ true, false ],
289       "defaultValue": true
290     },
291     "SkipSOS": {
292       "description": "",
293       "valueType": "property",
294       "values": [ true, false ],
295       "defaultValue": false
296     },
297     "SignType": {
298       "description": "Sets the SignType.",
299       "valueType": "property",
300       "values": [ "real" ],
301       "defaultValue": ""
302     },
303     "CLRTestPriorityToBuild": {
304       "description": "Sets priority to build test.",
305       "valueType": "property",
306       "values": [],
307       "defaultValue": ""
308     },
309     "CreateTestOverlay": {
310       "description": "Runs CreateTestOverlay target.",
311       "valueType": "target",
312       "values": [],
313       "defaultValue": ""
314     },
315     "CreateNonWindowsTestOverlay": {
316       "description": "Runs CreateNonWindowsTestOverlay target.",
317       "valueType": "target",
318       "values": [],
319       "defaultValue": ""
320     },
321     "Verbosity": {
322       "description": "Sets build verbosity.",
323       "valueType": "passThrough",
324       "values": [],
325       "defaultValue": "/v:normal"
326     },
327     "Build": {
328       "description": "Runs the build target.",
329       "valueType": "target",
330       "values": [],
331       "defaultValue": ""
332     },
333     "UseSharedCompilation": {
334       "description": "Sets the use shared compilation property.",
335       "valueType": "property",
336       "values": [ true, false ],
337       "defaultValue": true
338     },
339     "UpdateInvalidPackageVersions": {
340       "description": "Runs the target to update package versions.",
341       "valueType": "target",
342       "values": [],
343       "defaultValue": ""
344     },
345     "GenerateRuntimeLayout": {
346       "description": "Generates Core_Root folder",
347       "valueType": "property",
348       "values": [ true, false ],
349       "defaultValue": true
350     },
351     "BuildTestsAgainstPackages": {
352       "description": "Sets the property specifying if we're building tests against packages",
353       "valueType": "property",
354       "values": [ true, false ],
355       "defaultValue": true
356     },
357     "TargetsWindows": {
358       "description": "Sets the property specifying if the tests we're building will target Windows",
359       "valueType": "property",
360       "values": [ true, false ],
361       "defaultValue": true
362     },
363     "PublishTestNativeBins": {
364       "description": "Publishes test native binaries to Azure on non-windows",
365       "valueType": "property",
366       "values": [ true, false ],
367       "defaultValue": true
368     },
369     "BuildWrappers": {
370       "description": "Builds test Xunit wrappers",
371       "valueType": "property",
372       "values": [ true, false ],
373       "defaultValue": true
374     },
375     "Crossgen": {
376       "description": "Determines if we're running Crossgen tests",
377       "valueType": "property",
378       "values": [ true, false ],
379       "defaultValue": true
380     },
381     "RuntimeId": {
382       "description": "Specifies the OS to build Core_Root for",
383       "valueType": "property",
384       "values": [ "debian.8-x64", "fedora.24-x64", "fedora.25-x64", "opensuse.42.1-x64", "osx.10.12-x64", "rhel.7-x64", "ubuntu.14.04-x64", "ubuntu.16.04-x64", "ubuntu.16.10-x64", "android.21-arm64" ],
385       "defaultValue": "${__RuntimeId}"
386     },
387     "BatchRestorePackages": {
388       "description": "MsBuild target that restores the packages.",
389       "valueType": "target",
390       "values": [],
391       "defaultValue": ""
392     },
393     "BinPlaceRef": {
394       "description": "Place mscorlib.dll in bin/Product ref folder for building tests against",
395       "valueType": "target",
396       "values": [],
397       "defaultValue": ""
398     },
399     "BinPlaceProduct": {
400       "description": "Place test dependencies in bin/Product folder for building tests against",
401       "valueType": "target",
402       "values": [],
403       "defaultValue": ""
404     },
405     "CopyCrossgenToProduct": {
406       "description": "Place crossgen.exe in bin/Product folder for building tests against",
407       "valueType": "target",
408       "values": [],
409       "defaultValue": ""
410     },
411     "OptionalToolSource": {
412       "description": "URL of the nuget feed used by 'optional-tools'",
413       "valueType": "property",
414       "values": [],
415       "defaultValue": ""
416     },
417     "OptionalToolSourceUser": {
418       "description": "User name for authenticating to the optional tools feed",
419       "valueType": "property",
420       "values": [],
421       "defaultValue": ""
422     },
423     "OptionalToolSourcePassword": {
424       "description": "VSTS token for authenticating to the optional tools feed; requires 'package(READ)' permission",
425       "valueType": "property",
426       "values": [],
427       "defaultValue": ""
428     },
429     "ExtraParameters": {
430       "description": "Extra parameters will be passed to the selected command.",
431       "valueType": "passThrough",
432       "values": [],
433       "defaultValue": ""
434     }
435   },
436   "commands": {
437     "build": {
438       "alias": {
439         "generateHeaderWindows": {
440           "description": "Generates _version.h",
441           "settings": {
442             "GenerateVersionHeader": "default",
443             "NativeVersionHeaderFile": "default"
444           }
445         },
446         "generateHeaderUnix": {
447           "description": "Generates version.cpp",
448           "settings": {
449             "GenerateVersionSourceFile": "default",
450             "NativeVersionSourceFile": "default"
451           }
452         },
453         "verbose": {
454           "description": "Sets the verbosity",
455           "settings": {
456             "Verbosity": "/v:detailed"
457           }
458         },
459         "disableoss": {
460           "description": "Sets the sign type.",
461           "settings": {
462             "SignType": "real"
463           }
464         },
465         "buildType": {
466           "description": "Sets buildtype.",
467           "settings": {
468             "__BuildType": "default"
469           }
470         },
471         "buildArch": {
472           "description": "Sets buildarch.",
473           "settings": {
474             "__BuildArch": "default"
475           }
476         },
477         "buildOS": {
478           "description": "Sets the OS to build.",
479           "settings": {
480             "__BuildOS": "default"
481           }
482         },
483         "testOverlay": {
484           "description": "Runs test overlay target.",
485           "settings": {
486             "CreateTestOverlay": "default"
487           }
488         },
489         "priority": {
490           "description": "Sets CLRTestPriorityToBuild property.",
491           "settings": {
492             "CLRTestPriorityToBuild": "default"
493           }
494         },
495         "skipRestore": {
496           "description": "Skips restoring packages during build.",
497           "settings": {
498             "RestoreDuringBuild": false
499           }
500         },
501         "BuildTarget": {
502           "description": "Runs the build target.",
503           "settings": {
504             "Build": "default"
505           }
506         }
507       },
508       "defaultValues": {
509         "toolName": "msbuild",
510         "settings": {
511           "MsBuildLog": "default",
512           "MsBuildWrn": "default",
513           "MsBuildErr": "default",
514           "MsBuildEventLogging": "default",
515           "RestoreDefaultOptimizationDataPackage": "false",
516           "PortableBuild": "true",
517           "UsePartialNGENOptimization": "false",
518           "MSBuildNodeCount": "default"
519         }
520       }
521     },
522     "sync": {
523       "alias": {
524         "p": {
525           "description": "Restores all NuGet packages for repository.",
526           "settings": {
527             "Project": "./build.proj",
528             "RestoreDuringBuild": true,
529             "RestoreNETCorePlatforms": "default"
530           }
531         },
532         "optdata": {
533           "description": "Restores optimization profile data for the repository.",
534           "settings": {
535             "Project": "./build.proj",
536             "RestoreDuringBuild": true,
537             "RestoreOptData": "default"
538           }
539         },
540         "ab": {
541           "description": "Downloads the latests product packages from Azure. The values for '-AzureAccount' and '-AzureToken' are required",
542           "settings": {
543             "Project": "./src/syncAzure.proj"
544           }
545         },
546         "n": {
547           "description": "Downloads test native binaries. The values for '-AzureAccount', '-AzureToken', and '-Container' are required",
548           "settings": {
549             "Project": "./src/syncAzure.proj",
550             "PublishTestNativeBins": "true"
551           }
552         },
553         "azureToken": {
554           "description": "Account token to connect to Azure Blob storage.",
555           "settings": {
556             "CloudDropAccessToken": "default"
557           }
558         },
559         "azureAccount": {
560           "description": "Account name to connect to Azure Blob storage.",
561           "settings": {
562             "CloudDropAccountName": "default"
563           }
564         },
565         "container": {
566           "description": "Container name to download from in Azure Blob storage.",
567           "settings": {
568             "ContainerName": "default"
569           }
570         },
571         "blobNamePrefix": {
572           "description": "Blob Prefix to download from in Azure container.",
573           "settings": {
574             "__BlobNamePrefix": "default"
575           }
576         },
577         "runtimeId": {
578           "description": "Runtime ID of the binaries in the specified container.",
579           "settings": {
580             "RuntimeId": "default"
581           }
582         },
583         "verbose": {
584           "description": "Passes /flp:v=diag to the msbuild command or the value passed by the user.",
585           "settings": {
586             "MsBuildFileLogging": "/flp:v=diag;LogFile=sync.log"
587           }
588         },
589         "buildMajor": {
590           "description": "To download a specific group of product packages, specify build number. The value for -BuildMinor required.",
591           "settings": {
592             "BuildNumberMajor": "default"
593           }
594         },
595         "buildMinor": {
596           "description": "To download a specific group of product packages, specify build number. The value for -BuildMajor required.",
597           "settings": {
598             "BuildNumberMinor": "default"
599           }
600         }
601       },
602       "defaultValues": {
603         "toolName": "msbuild",
604         "settings": {
605           "MsBuildFileLogging": "/flp:v=detailed;LogFile=sync.log"
606         }
607       }
608     },
609     "publish-packages": {
610       "alias": {
611         "azureToken": {
612           "description": "Account token to connect to Azure Blob storage.",
613           "settings": {
614             "CloudDropAccessToken": "default"
615           }
616         },
617         "azureAccount": {
618           "description": "Account name to connect to Azure Blob storage.",
619           "settings": {
620             "CloudDropAccountName": "default"
621           }
622         },
623         "container": {
624           "description": "Container name to upload into in Azure Blob storage.",
625           "settings": {
626             "ContainerName": "default"
627           }
628         },
629         "buildArch": {
630           "description": "Specifies architecture to publish, can be x64, x86, arm or arm64",
631           "settings": {
632             "__BuildArch": "default"
633           }
634         },
635         "buildType": {
636           "description": "Specifies configuration to publish, can be Release, Debug or Checked.",
637           "settings": {
638             "__BuildType": "default"
639           }
640         },
641         "buildOS": {
642           "description": "Specifies the OS to publish packages.",
643           "settings": {
644             "__BuildOS": "default"
645           }
646         },
647         "distroRid": {
648           "description": "Specifies distro rid for Unix OS.",
649           "settings": {
650             "__DistroRid": "default"
651           }
652         },
653         "PublishTestNativeBins": {
654           "description": "Publishes test native binaries.",
655           "settings": {
656             "PublishTestNativeBins": "default"
657           }
658         },
659         "PublishPackages": {
660           "description": "Publishes product packages.",
661           "settings": {
662             "__PublishPackages": "default"
663           }
664         },
665         "PublishSymbols": {
666           "description": "Publishes symbol packages.",
667           "settings": {
668             "__PublishSymbols": "default"
669           }
670         },
671       },
672       "defaultValues": {
673         "toolName": "msbuild",
674         "settings": {
675           "__BuildOS": "default",
676           "Project": "./src/publish.proj",
677           "MsBuildFileLogging": "/flp:v=detailed;LogFile=publish-packages.log /clp:v=detailed"
678         }
679       }
680     },
681     "build-packages": {
682       "alias": {
683         "buildArch": {
684           "description": "Specifies architecture to publish, can be x64, x86, arm or arm64",
685           "settings": {
686             "__BuildArch": "default"
687           }
688         },
689         "buildType": {
690           "description": "Specifies configuration to publish, can be Release, Debug or Checked.",
691           "settings": {
692             "__BuildType": "default"
693           }
694         },
695         "distroRid": {
696           "description": "Specifies distro rid for Unix OS.",
697           "settings": {
698             "__DistroRid": "default"
699           }
700         }
701       },
702       "defaultValues": {
703         "toolName": "msbuild",
704         "settings": {
705           "__BuildOS": "default",
706           "MsBuildFileLogging": "/flp:v=detailed;Append;LogFile=build-packages.log",
707           "MsBuildEventLogging": "default",
708           "PortableBuild": "true",
709           "Project": "src/.nuget/packages.builds"
710         }
711       }
712     }
713   },
714   "tools": {
715     "msbuild": {
716       "osSpecific": {
717         "windows": {
718           "defaultParameters": "/nologo /verbosity:minimal /clp:Summary /nodeReuse:false",
719           "path": "Tools/msbuild.cmd"
720         },
721         "unix": {
722           "defaultParameters": "/nologo /verbosity:minimal /clp:Summary",
723           "path": "Tools/msbuild.sh"
724         }
725       },
726       "valueTypes": {
727         "property": "/p:{name}={value}",
728         "target": "/t:{name}",
729         "internal": "/{name}"
730       }
731     },
732     "terminal": {
733       "run": {
734         "windows": "cmd",
735         "unix": "sh"
736       },
737       "valueTypes": {}
738     }
739   }
740 }