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