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