{ "settings": { "TargetGroup": { "description": "Sets the target framework for the BuildConfiguration you want to build.", "valueType": "property", "values": ["netcoreapp", "netstandard", "netfx", "uap", "mono"], "defaultValue": "netcoreapp" }, "OSGroup": { "description": "Sets the OS for the BuildConfigurtation you want to build.", "valueType": "property", "values": ["Windows_NT", "Unix", "Linux", "OSX", "FreeBSD", "NetBSD", "WebAssembly"], "defaultValue": "${OSName}" }, "ConfigurationGroup": { "description": "Sets the optimization level for the BuildConfiguration you want to build.", "valueType": "property", "values": ["Debug", "Release"], "defaultValue": "Debug" }, "ArchGroup": { "description": "Sets the architecture for the BuildConfiguration you want to build.", "valueType": "property", "values": ["x64", "x86", "arm", "arm64", "wasm"], "defaultValue": "x64" }, "BuildAllConfigurations": { "description": "Builds projects for all BuildConfigurations rather than determining best configuration for TargetGroup/OSGroup.", "valueType": "property", "values": ["True", "False"], "defaultValue": false }, "RuntimeOS": { "description": "The RuntimeOS of the build system.", "valueType": "property", "values": ["win7", "osx.10.10", "ubuntu.14.04", "ubuntu.16.04", "etc-other-rid-based-os-names"], "defaultValue": "" }, "PackageRID": { "description": "The RID of the target package.", "valueType": "property", "values": ["win7-x64", "ubuntu.14.04-x64"], "defaultValue": "" }, "PortableBuild": { "description": "Indicates if this is a portable build.", "valueType": "property", "values": [ "True", "False"], "defaultValue": "true" }, "SkipTests": { "description": "Enables/Disables running tests.", "valueType": "property", "values": ["True", "False"], "defaultValue": true }, "TestWithLocalLibraries": { "description": "Enables/Disables building and running tests against local libraries.", "valueType": "property", "values": ["True", "False"], "defaultValue": true }, "BuildPackages": { "description": "Enables/Disables building packages.", "valueType": "property", "values": ["True", "False"], "defaultValue": false }, "BuildPackageLibraryReferences": { "description": "Enables/Disables building libraries referenced by packages.", "valueType": "property", "values": ["True", "False"], "defaultValue": true }, "SkipManagedPackageBuild": { "description": "Enables/Disables building packages for managed builds.", "valueType": "property", "values": ["True", "False"], "defaultValue": true }, "BuildTests": { "description": "Enables/Disables building tests.", "valueType": "property", "values": ["True", "False"], "defaultValue": true }, "Coverage": { "description": "Enables code coverage runs.", "valueType": "property", "values": ["True", "False"], "defaultValue": true }, "Outerloop": { "description": "Enables outerloops tests scenarios.", "valueType": "property", "values": ["True", "False"], "defaultValue": true }, "OfficialBuildId": { "description": "Specifies the SeedDate and the revision of the build to generate the version of the libraries.", "valueType": "property", "values": [], "defaultValue": "" }, "CloudDropAccountName": { "description": "Azure account name.", "valueType": "property", "values": [], "defaultValue": "" }, "CloudDropAccessToken": { "description": "Azure access token", "valueType": "property", "values": [], "defaultValue": "" }, "ContainerName": { "description": "Azure container name", "valueType": "property", "values": [], "defaultValue": "" }, "BuildNumberMajor": { "description": "Product build major number.", "valueType": "property", "values": [], "defaultValue": "" }, "BuildNumberMinor": { "description": "Product build minor number.", "valueType": "property", "values": [], "defaultValue": "" }, "GenerateNativeVersionInfo": { "description": "Enables generation of the native version header.", "valueType": "property", "values": ["True", "False"], "defaultValue": true }, "MsBuildLogging": { "description": "MsBuild logging options.", "valueType": "passThrough", "values": [], "defaultValue": "/flp:v=normal" }, "MsBuildWarning": { "description": "MsBuild warning logging.", "valueType": "passThrough", "values": [], "defaultValue": "/flp2:warningsonly;logfile=msbuild.wrn" }, "MsBuildError": { "description": "MsBuild error logging.", "valueType": "passThrough", "values": [], "defaultValue": "/flp3:errorsonly;logfile=msbuild.err" }, "BuildArchitecture": { "description": "Sets the value of the build architecture.", "valueType": "passThrough", "values": ["x86", "arm", "armel", "x64", "arm64", "wasm"], "defaultValue": "${CPUArch}" }, "CmakeBuildType": { "description": "Sets the value of the build configuration.", "valueType": "passThrough", "values": [], "defaultValue": "Debug" }, "HostOs": { "description": "OS for result binaries.", "valueType": "passThrough", "values": ["Windows_NT", "Linux", "OSX", "FreeBSD", "NetBSD"], "defaultValue": "${OSName}" }, "ProcessorCount": { "description": "Sets the value of the number of processors available.", "valueType": "passThrough", "values": ["Numeric values"], "defaultValue": "--numproc ${ProcessorCount}" }, "AdditionalArgs": { "description": "Pass additional arguments to the native_build script", "valueType": "passThrough", "values": [], "defaultValue": "" }, "StripSymbolsAdditionalArg": { "description": "Pass additional argument to native build to configure symbol stripping.", "valueType": "passThrough", "values": [], "defaultValue": "" }, "Project": { "description": "Project where the commands are going to be applied.", "valueType": "passThrough", "values": [], "defaultValue": "" }, "ToolSetDir": { "description": "Native toolset directory", "valueType": "passThrough", "values": [], "defaultValue": "toolSetDir=c:\\tools\\clr" }, "Sync": { "description": "MsBuild target that restores the packages.", "valueType": "target", "values": [], "defaultValue": "" }, "GenerateVersionHeader": { "description": "MsBuild target that generates the version header.", "valueType": "target", "values": [], "defaultValue": "" }, "CleanAllProjects": { "description": "MsBuild target that deletes the binary output directory.", "valueType": "target", "values": [], "defaultValue": "" }, "CleanPackages": { "description": "MsBuild target that deletes the repo-local nuget package directory.", "valueType": "target", "values": [], "defaultValue": "" }, "CleanPackagesCache": { "description": "MsBuild target that deletes the user-local nuget package cache.", "valueType": "target", "values": [], "defaultValue": "" }, "ProducesTarget": { "description": "MsBuild target that displays all of the artifacts this repo produces.", "valueType": "target", "values": [], "defaultValue": "" }, "DirectoryToBuild": { "description": "MsBuild property used to set the directory to scope the build to things under that directory.", "valueType": "property", "values": [], "defaultValue": "Please-Specify-A-Directory" }, "Clang": { "description": "Specific version of Clang to use e.g. clang3.7, clang3.8, etc ...", "valueType": "property", "values": [], "defaultValue": "" }, }, "commands": { "build-directory": { "alias":{ "directory": { "description": "Root directory in which to scope the build from.", "settings": { "DirectoryToBuild": "default" } }, "debug": { "description": "Sets optimization level to debug for managed build configuration. (/p:ConfigurationGroup=Debug)", "settings": { "ConfigurationGroup": "Debug" } }, "release": { "description": "Sets optimization level to release for managed build configuration. (/p:ConfigurationGroup=Release)", "settings": { "ConfigurationGroup": "Release" } }, "allConfigurations": { "description": "Builds all configurations instead of only those specified by framework/os.", "settings": { "BuildAllConfigurations":"true" } }, "framework": { "description": "Sets target framework for managed build configuration and only builds the libraries applicable for that framework. (/p:TargetGroup=[value])", "settings": { "TargetGroup": "default" } }, "os": { "description": "Sets OS for the managed build configuration and only builds the libraries applicable for that OS. (/p:OSGroup=[value])", "settings": { "OSGroup": "default" } }, "buildArch": { "description": "Sets the architecture for the managed build confiuguration. (/p:ArchGroup=[value])", "settings": { "ArchGroup": "default" } }, "runtimeos": { "description": "Sets runtime OS for the managed build configuration, which is used for building and restoring native OS dependent assets (i.e. RID specific binaries). (/p:RuntimeOS=[value]", "settings": { "RuntimeOS": "default" } }, }, "defaultValues": { "toolName": "msbuild", "settings": { "Project": "src/dirs.proj", "ConfigurationGroup": "default", "DirectoryToBuild": "default", "MsBuildLogging":"default", "MsBuildWarning":"default", "MsBuildError":"default" } } }, "build-managed": { "alias":{ "packages": { "description": "Builds the NuGet packages.", "settings": { "Project": "src/packages.builds", "BuildPackages": "true", "MsBuildLogging":"/flp:v=normal;LogFile=build-packages.log" } }, "portable":{ "description": "Make the build-native script generate binaries that are portable for the platform.", "settings": { "PortableBuild":"true" } }, "stripSymbols": { "description": "No-op. Added so that stripSymbols can be passed to build.sh without breaking build-managed.sh.", "settings": { } }, "tests": { "description": "Builds src and then builds and runs the tests for the given configuration.", "settings": { "BuildTests": true } }, "testsOnly": { "description": "Builds and runs the tests for the given configuration.", "settings": { "Project": "src/tests.builds", "MsBuildLogging":"/flp:v=normal;LogFile=build-tests.log" } }, "debug": { "description": "Sets optimization level to debug for managed build configuration. (/p:ConfigurationGroup=Debug)", "settings": { "ConfigurationGroup": "Debug" } }, "release": { "description": "Sets optimization level to release for managed build configuration. (/p:ConfigurationGroup=Release)", "settings": { "ConfigurationGroup": "Release" } }, "allConfigurations": { "description": "Builds all configurations instead of only those specified by framework/os.", "settings": { "BuildAllConfigurations":"true" } }, "framework": { "description": "Sets target framework for managed build configuration and only builds the libraries applicable for that framework. (/p:TargetGroup=[value])", "settings": { "TargetGroup": "default" } }, "os": { "description": "Sets OS for the managed build configuration and only builds the libraries applicable for that OS. (/p:OSGroup=[value])", "settings": { "OSGroup": "default" } }, "buildArch": { "description": "Sets the architecture for the managed build confiuguration. (/p:ArchGroup=[value])", "settings": { "ArchGroup": "default" } }, "runtimeos": { "description": "Sets runtime OS for the managed build configuration, which is used for building and restoring native OS dependent assets (i.e. RID specific binaries). (/p:RuntimeOS=[value]", "settings": { "RuntimeOS": "default" } }, "GenerateVersion": { "description": "Generates the version header for native binaries.", "settings": { "GenerateNativeVersionInfo": true, "GenerateVersionHeader": "default" } }, "DisableManagedPackage": { "description": "Generates the version header for native binaries.", "settings": { "SkipManagedPackageBuild": true } }, "verbose": { "description": "Passes /flp:v=diag to the msbuild command or the value passed by the user.", "settings": { "MsBuildLogging": "/flp:v=diag;LogFile=build-managed.log" } } }, "defaultValues": { "toolName": "msbuild", "settings": { "BuildPackages": "default", "ConfigurationGroup": "default", "MsBuildLogging":"default", "MsBuildWarning":"default", "MsBuildError":"default" } } }, "build-native": { "alias": { "debug": { "description": "Sets optimization level to debug for native build configuration.", "settings": { "CmakeBuildType": "Debug" } }, "release": { "description": "Sets optimization level to release for native build configuration.", "settings": { "CmakeBuildType": "Release" } }, "allConfigurations": { "description": "Builds all configurations instead of only those specified by framework/os.", "settings": { "BuildAllConfigurations":"true" } }, "framework": { "description": "Sets target framework for native build configuration which is used for copying to the common shared runtime folder.", "settings": { "TargetGroup": "default" } }, "os": { "description": "Sets OS for the native build configuration and only builds the libraries applicable for that OS.", "settings": { "HostOs": "default" } }, "buildArch": { "description": "Sets the architecture for the native build confiuguration.", "settings": { "BuildArchitecture": "default" } }, "runtimeos": { "description": "Sets runtime OS for the native build configuration, which is used for building and restoring native OS dependent assets (i.e. RID specific binaries)", "settings": { "RuntimeOs": "default" } }, "portable":{ "description": "Make the build-native script generate binaries that are portable for the platform.", "settings": { "AdditionalArgs": "-portable" } }, "stripSymbols": { "description": "Strip native symbols.", "settings": { "StripSymbolsAdditionalArg": "stripSymbols" } }, "tests": { "description": "No-op for build-native, included just to enable easy combination with build-managed", "settings": { } }, }, "defaultValues": { "toolName": "terminal", "Project": "src/Native/build-native", "settings": { "BuildArchitecture": "default", "CmakeBuildType": "default", "HostOs": "default", "ProcessorCount": "default", "AdditionalArgs": "-portable", "ToolSetDir": "default" } } }, "clean": { "alias": { "b": { "description": "Deletes the binary output directory.", "settings": { "CleanAllProjects": "default" } }, "p": { "description": "Deletes the repo-local nuget package directory.", "settings": { "CleanPackages": "default" } }, "c": { "description": "Deletes the user-local nuget package cache.", "settings": { "CleanPackagesCache": "default" } } }, "defaultValues": { "toolName": "msbuild", "settings": { "MsBuildLogging":"/flp:v=normal;LogFile=clean.log" } } }, "produces": { "alias": {}, "defaultValues": { "toolName": "msbuild", "settings": { "Project": "src/packages.builds", "ProducesTarget":"default" } } }, "publish-packages": { "alias": { "AzureAccount": { "description": "Account name to connect to Azure Blob storage. Required for the command to work.", "settings": { "CloudDropAccountName": "default" } }, "AzureToken": { "description": "Account token to connect to Azure Blob storage. Required for the command to work.", "settings": { "CloudDropAccessToken": "default" } }, "Container": { "description": "Container name of the Azure Blob where the packages are going to be stored. Required for the command to work.", "settings": { "ContainerName": "default" } }, "verbose": { "description": "Passes /flp:v=diag to the msbuild command or the value passed by the user.", "settings": { "MsBuildLogging": "/flp:v=diag;LogFile=publish-packages.log" } } }, "defaultValues": { "toolName": "msbuild", "settings": { "Project": "src/publish.proj", "MsBuildLogging":"/flp:v=normal;LogFile=publish-packages.log" } } }, "sync": { "alias": { "p": { "description": "Restores all NuGet packages for repository.", "settings": { "Sync": "default" } }, "ab": { "description": "Downloads the latests product packages from Azure. The values for '-AzureAccount' and '-AzureToken' are required", "settings": { "Project": "src/syncAzure.proj" } }, "t": { "description": "Deprecated, use sync /p instead.", "settings": { "Sync": "default" } }, "AzureAccount": { "description": "Account name to connect to Azure Blob storage. Required for -ab to work.", "settings": { "CloudDropAccountName": "default" } }, "AzureToken": { "description": "Account token to connect to Azure Blob storage. Required for -ab to work.", "settings": { "CloudDropAccessToken": "default" } }, "Container": { "description": "Container name of the Azure Blob where the packages are going to be stored.", "settings": { "ContainerName": "default" } }, "BuildMajor": { "description": "To download a specific group of product packages, specify build number. The value for -BuildMinor required.", "settings": { "BuildNumberMajor": "default" } }, "BuildMinor": { "description": "To download a specific group of product packages, specify build number. The value for -BuildMajor required.", "settings": { "BuildNumberMinor": "default" } }, "portable":{ "description": "Download packages that are portable for the platform.", "settings": { "PortableBuild":"true" } }, "verbose": { "description": "Passes /flp:v=diag to the msbuild command or the value passed by the user.", "settings": { "MsBuildLogging": "/flp:v=diag;LogFile=sync.log" } } }, "defaultValues": { "defaultAlias": "p", "toolName": "msbuild", "settings": { "MsBuildLogging":"/flp:v=normal;LogFile=sync.log" } } } }, "tools": { "msbuild": { "osSpecific": { "windows": { "defaultParameters": "/nologo /verbosity:minimal /clp:Summary /maxcpucount /nodeReuse:false /l:BinClashLogger,Tools\\net46\\Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log", "path": "Tools/msbuild.cmd" }, "unix": { "defaultParameters": "/nologo /verbosity:minimal /clp:Summary /maxcpucount /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log", "path": "Tools/msbuild.sh" } }, "valueTypes": { "property": "/p:{name}={value}", "target": "/t:{name}", "internal": "/{name}", } }, "terminal": { "osSpecific": { "windows": { "filesExtension": "cmd" }, "unix": { "filesExtension": "sh" } }, "valueTypes": { "property": "--{name}={value}", } } } }