Allow rejit on attach (#19054)
[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     "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     "BuildManagedTools": {
316       "description": "",
317       "valueType": "property",
318       "values": [ true, false ],
319       "defaultValue": true
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     "CreateTestHost": {
346       "description": "Place test dependencies in the /bin/testhost folder to be used to run CoreFX tests",
347       "valueType": "target",
348       "values": [],
349       "defaultValue": ""
350     },
351     "Verbosity": {
352       "description": "Sets build verbosity.",
353       "valueType": "passThrough",
354       "values": [],
355       "defaultValue": "/v:normal"
356     },
357     "Build": {
358       "description": "Runs the build target.",
359       "valueType": "target",
360       "values": [],
361       "defaultValue": ""
362     },
363     "UseSharedCompilation": {
364       "description": "Sets the use shared compilation property.",
365       "valueType": "property",
366       "values": [ true, false ],
367       "defaultValue": true
368     },
369     "UpdateInvalidPackageVersions": {
370       "description": "Runs the target to update package versions.",
371       "valueType": "target",
372       "values": [],
373       "defaultValue": ""
374     },
375     "GenerateRuntimeLayout": {
376       "description": "Generates Core_Root folder",
377       "valueType": "property",
378       "values": [ true, false ],
379       "defaultValue": true
380     },
381     "BuildTestsAgainstPackages": {
382       "description": "Sets the property specifying if we're building tests against packages",
383       "valueType": "property",
384       "values": [ true, false ],
385       "defaultValue": true
386     },
387     "TargetsWindows": {
388       "description": "Sets the property specifying if the tests we're building will target Windows",
389       "valueType": "property",
390       "values": [ true, false ],
391       "defaultValue": true
392     },
393     "PublishTestNativeBins": {
394       "description": "Publishes test native binaries to Azure on non-windows",
395       "valueType": "property",
396       "values": [ true, false ],
397       "defaultValue": true
398     },
399     "BuildWrappers": {
400       "description": "Builds test Xunit wrappers",
401       "valueType": "property",
402       "values": [ true, false ],
403       "defaultValue": true
404     },
405     "Crossgen": {
406       "description": "Determines if we're running Crossgen tests",
407       "valueType": "property",
408       "values": [ true, false ],
409       "defaultValue": true
410     },
411     "RuntimeId": {
412       "description": "Specifies the OS to build Core_Root for",
413       "valueType": "property",
414       "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" ],
415       "defaultValue": "${__RuntimeId}"
416     },
417     "BatchRestorePackages": {
418       "description": "MsBuild target that restores the packages.",
419       "valueType": "target",
420       "values": [],
421       "defaultValue": ""
422     },
423     "BinPlaceRef": {
424       "description": "Place mscorlib.dll in bin/Product ref folder for building tests against",
425       "valueType": "target",
426       "values": [],
427       "defaultValue": ""
428     },
429     "BinPlaceProduct": {
430       "description": "Place test dependencies in bin/Product folder for building tests against",
431       "valueType": "target",
432       "values": [],
433       "defaultValue": ""
434     },
435     "CopyCrossgenToProduct": {
436       "description": "Place crossgen.exe in bin/Product folder for building tests against",
437       "valueType": "target",
438       "values": [],
439       "defaultValue": ""
440     },
441     "OptionalToolSource": {
442       "description": "URL of the nuget feed used by 'optional-tools'",
443       "valueType": "property",
444       "values": [],
445       "defaultValue": ""
446     },
447     "OptionalToolSourceUser": {
448       "description": "User name for authenticating to the optional tools feed",
449       "valueType": "property",
450       "values": [],
451       "defaultValue": ""
452     },
453     "OptionalToolSourcePassword": {
454       "description": "VSTS token for authenticating to the optional tools feed; requires 'package(READ)' permission",
455       "valueType": "property",
456       "values": [],
457       "defaultValue": ""
458     },
459     "ExtraParameters": {
460       "description": "Extra parameters will be passed to the selected command.",
461       "valueType": "passThrough",
462       "values": [],
463       "defaultValue": ""
464     }
465   },
466   "commands": {
467     "build": {
468       "alias": {
469         "generateHeaderWindows": {
470           "description": "Generates _version.h",
471           "settings": {
472             "GenerateVersionHeader": "default",
473             "NativeVersionHeaderFile": "default"
474           }
475         },
476         "generateHeaderUnix": {
477           "description": "Generates version.cpp",
478           "settings": {
479             "GenerateVersionSourceFile": "default",
480             "NativeVersionSourceFile": "default"
481           }
482         },
483         "verbose": {
484           "description": "Sets the verbosity",
485           "settings": {
486             "Verbosity": "/v:detailed"
487           }
488         },
489         "disableoss": {
490           "description": "Sets the sign type.",
491           "settings": {
492             "SignType": "real"
493           }
494         },
495         "buildType": {
496           "description": "Sets buildtype.",
497           "settings": {
498             "__BuildType": "default"
499           }
500         },
501         "buildArch": {
502           "description": "Sets buildarch.",
503           "settings": {
504             "__BuildArch": "default"
505           }
506         },
507         "buildOS": {
508           "description": "Sets the OS to build.",
509           "settings": {
510             "__BuildOS": "default"
511           }
512         },
513         "testOverlay": {
514           "description": "Runs test overlay target.",
515           "settings": {
516             "CreateTestOverlay": "default"
517           }
518         },
519         "testHost": {
520           "description": "Runs test host target, which creates a dotnet executable from the built CoreCLR repo to run pre-built CoreFX test assemblies",
521           "settings": {
522             "CreateTestHost": "default"
523           }
524         },
525         "priority": {
526           "description": "Sets CLRTestPriorityToBuild property.",
527           "settings": {
528             "CLRTestPriorityToBuild": "default"
529           }
530         },
531         "skipRestore": {
532           "description": "Skips restoring packages during build.",
533           "settings": {
534             "RestoreDuringBuild": false
535           }
536         },
537         "BuildTarget": {
538           "description": "Runs the build target.",
539           "settings": {
540             "Build": "default"
541           }
542         },
543         "optdata": {
544           "description": "Restores optimization profile data for the repository.",
545           "settings": {
546             "Project": "./build.proj",
547             "RestoreOptData": "default",
548             "MsBuildEventLogging": " ",
549           }
550         }
551       },
552       "defaultValues": {
553         "toolName": "msbuild",
554         "settings": {
555           "MsBuildLog": "default",
556           "MsBuildWrn": "default",
557           "MsBuildErr": "default",
558           "MsBuildEventLogging": "default",
559           "RestoreDefaultOptimizationDataPackage": "false",
560           "PortableBuild": "true",
561           "UsePartialNGENOptimization": "false",
562           "MSBuildNodeCount": "default"
563         }
564       }
565     },
566     "clean": {
567       "alias": {
568         "b": {
569           "description": "Deletes the binary output directory.",
570           "settings": {
571             "CleanAllProjects": "default"
572           }
573         },
574         "p": {
575           "description": "Deletes the repo-local nuget package directory.",
576           "settings": {
577             "CleanPackages": "default"
578             }
579         },
580         "c": {
581           "description": "Deletes the user-local nuget package cache.",
582           "settings": {
583             "CleanPackagesCache": "default"
584           }
585         }
586       },
587       "defaultValues": {
588         "toolName": "msbuild",
589         "settings": {
590           "MsBuildLog":"/flp:v=normal;LogFile=clean.log"
591         }
592       }
593     },
594     "sync": {
595       "alias": {
596         "p": {
597           "description": "Restores all NuGet packages for repository.",
598           "settings": {
599             "Project": "./build.proj",
600             "RestoreDuringBuild": true,
601             "Sync": "default"
602           }
603         },
604         "ab": {
605           "description": "Downloads the latests product packages from Azure. The values for '-AzureAccount' and '-AzureToken' are required",
606           "settings": {
607             "Project": "./src/syncAzure.proj"
608           }
609         },
610         "n": {
611           "description": "Downloads test native binaries. The values for '-AzureAccount', '-AzureToken', and '-Container' are required",
612           "settings": {
613             "Project": "./src/syncAzure.proj",
614             "PublishTestNativeBins": "true"
615           }
616         },
617         "azureToken": {
618           "description": "Account token to connect to Azure Blob storage.",
619           "settings": {
620             "CloudDropAccessToken": "default"
621           }
622         },
623         "azureAccount": {
624           "description": "Account name to connect to Azure Blob storage.",
625           "settings": {
626             "CloudDropAccountName": "default"
627           }
628         },
629         "container": {
630           "description": "Container name to download from in Azure Blob storage.",
631           "settings": {
632             "ContainerName": "default"
633           }
634         },
635         "blobNamePrefix": {
636           "description": "Blob Prefix to download from in Azure container.",
637           "settings": {
638             "__BlobNamePrefix": "default"
639           }
640         },
641         "runtimeId": {
642           "description": "Runtime ID of the binaries in the specified container.",
643           "settings": {
644             "RuntimeId": "default"
645           }
646         },
647         "verbose": {
648           "description": "Passes /flp:v=diag to the msbuild command or the value passed by the user.",
649           "settings": {
650             "MsBuildFileLogging": "/flp:v=diag;LogFile=sync.log"
651           }
652         },
653         "buildMajor": {
654           "description": "To download a specific group of product packages, specify build number. The value for -BuildMinor required.",
655           "settings": {
656             "BuildNumberMajor": "default"
657           }
658         },
659         "buildMinor": {
660           "description": "To download a specific group of product packages, specify build number. The value for -BuildMajor required.",
661           "settings": {
662             "BuildNumberMinor": "default"
663           }
664         },
665         "buildType": {
666           "description": "Sets buildtype.",
667           "settings": {
668             "__BuildType": "default"
669           }
670         }
671       },
672       "defaultValues": {
673         "toolName": "msbuild",
674         "settings": {
675           "MsBuildFileLogging": "/flp:v=detailed;LogFile=sync.log"
676         }
677       }
678     },
679     "publish-packages": {
680       "alias": {
681         "azureToken": {
682           "description": "Account token to connect to Azure Blob storage.",
683           "settings": {
684             "CloudDropAccessToken": "default"
685           }
686         },
687         "azureAccount": {
688           "description": "Account name to connect to Azure Blob storage.",
689           "settings": {
690             "CloudDropAccountName": "default"
691           }
692         },
693         "container": {
694           "description": "Container name to upload into in Azure Blob storage.",
695           "settings": {
696             "ContainerName": "default"
697           }
698         },
699         "buildArch": {
700           "description": "Specifies architecture to publish, can be x64, x86, arm or arm64",
701           "settings": {
702             "__BuildArch": "default"
703           }
704         },
705         "buildType": {
706           "description": "Specifies configuration to publish, can be Release, Debug or Checked.",
707           "settings": {
708             "__BuildType": "default"
709           }
710         },
711         "buildOS": {
712           "description": "Specifies the OS to publish packages.",
713           "settings": {
714             "__BuildOS": "default"
715           }
716         },
717         "distroRid": {
718           "description": "Specifies distro rid for Unix OS.",
719           "settings": {
720             "__DistroRid": "default"
721           }
722         },
723         "PublishTestNativeBins": {
724           "description": "Publishes test native binaries.",
725           "settings": {
726             "PublishTestNativeBins": "default"
727           }
728         },
729         "PublishPackages": {
730           "description": "Publishes product packages.",
731           "settings": {
732             "__PublishPackages": "default"
733           }
734         },
735         "PublishSymbols": {
736           "description": "Publishes symbol packages.",
737           "settings": {
738             "__PublishSymbols": "default"
739           }
740         },
741       },
742       "defaultValues": {
743         "toolName": "msbuild",
744         "settings": {
745           "__BuildOS": "default",
746           "Project": "./src/publish.proj",
747           "MsBuildFileLogging": "/flp:v=detailed;LogFile=publish-packages.log /clp:v=detailed"
748         }
749       }
750     },
751     "build-packages": {
752       "alias": {
753         "buildArch": {
754           "description": "Specifies architecture to publish, can be x64, x86, arm or arm64",
755           "settings": {
756             "__BuildArch": "default"
757           }
758         },
759         "buildType": {
760           "description": "Specifies configuration to publish, can be Release, Debug or Checked.",
761           "settings": {
762             "__BuildType": "default"
763           }
764         },
765         "distroRid": {
766           "description": "Specifies distro rid for Unix OS.",
767           "settings": {
768             "__DistroRid": "default"
769           }
770         }
771       },
772       "defaultValues": {
773         "toolName": "msbuild",
774         "settings": {
775           "__BuildOS": "default",
776           "MsBuildFileLogging": "/flp:v=detailed;Append;LogFile=build-packages.log",
777           "MsBuildEventLogging": "default",
778           "PortableBuild": "true",
779           "Project": "src/.nuget/packages.builds"
780         }
781       }
782     }
783   },
784   "tools": {
785     "msbuild": {
786       "osSpecific": {
787         "windows": {
788           "defaultParameters": "/nologo /verbosity:minimal /clp:Summary /nodeReuse:false",
789           "path": "Tools/msbuild.cmd"
790         },
791         "unix": {
792           "defaultParameters": "/nologo /verbosity:minimal /clp:Summary",
793           "path": "Tools/msbuild.sh"
794         }
795       },
796       "valueTypes": {
797         "property": "/p:{name}={value}",
798         "target": "/t:{name}",
799         "internal": "/{name}"
800       }
801     },
802     "terminal": {
803       "run": {
804         "windows": "cmd",
805         "unix": "sh"
806       },
807       "valueTypes": {}
808     }
809   }
810 }