diff options
author | Wes Haggard <Wes.Haggard@microsoft.com> | 2017-06-15 01:49:11 +0300 |
---|---|---|
committer | Wes Haggard <Wes.Haggard@microsoft.com> | 2017-06-15 02:07:40 +0300 |
commit | 275854eddb42ae5acbfb4ac00f25b25c734c8a2c (patch) | |
tree | b55d93cb3c2440c9e62fde88415d178257e59ce3 /config.json | |
parent | 76449481b32ed1a7ae0ae46dd596810f6cf11fb5 (diff) |
Add option to build.cmd/sh to build projects in a directory
After this option folks can do the following:
- Build all System.Collections projects
build.cmd/sh System.Collections
- Build System.Collection test projects (also runs tests)
build.cmd/sh src/System.Collections/tests
- While in a library directory build it all projects under it.
cd src\System.Collections
build.cmd/sh .
These also support any of the standard build options like framework,
flavor, os, allconfigurations, etc. Same rules apply that you have to
have built the entire tree for that configuration before this will
succeed.
Diffstat (limited to 'config.json')
-rw-r--r-- | config.json | 71 |
1 files changed, 70 insertions, 1 deletions
diff --git a/config.json b/config.json index d30f859467..bf20cb414a 100644 --- a/config.json +++ b/config.json @@ -233,9 +233,78 @@ "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" + }, }, "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": { |