Get build and restore options from environment; provide set-quiet target

- see #123
- leaves default build unchanged
- run `build set-quiet default` for a much-quieter build
This commit is contained in:
Doug Bunting 2014-11-08 11:26:05 -08:00
parent ac129c71ac
commit dd5e65eb1d
3 changed files with 17 additions and 8 deletions

View File

@ -11,11 +11,12 @@ configuration=''
*/}
default configuration = 'debug'
default build_options='${E("K_build_options")}'
var projectFolder='${Path.GetDirectoryName(projectFile)}'
var projectName='${Path.GetFileName(projectFolder)}'
var projectBin='${Path.Combine(projectFolder, "bin", configuration)}'
directory delete="${projectBin}"
exec program='cmd' commandline='/C kpm build ${projectFolder} --configuration ${configuration}' if='!IsMono'
exec program='kpm' commandline='build ${projectFolder} --configuration ${configuration}' if='IsMono'
copy sourceDir='${projectBin}' outputDir='${Path.Combine(BUILD_DIR, projectName)}'
exec program='cmd' commandline='/C kpm build${build_options} ${projectFolder} --configuration ${configuration}' if='!IsMono'
exec program='kpm' commandline='build${build_options} ${projectFolder} --configuration ${configuration}' if='IsMono'
copy sourceDir='${projectBin}' outputDir='${Path.Combine(BUILD_DIR, projectName)}'

View File

@ -4,5 +4,7 @@ k-restore
Restores nuget packages required for k projects. Downloads and executes k sdk tools.
*/}
exec program='cmd' commandline='/C kpm restore' if='!IsMono'
exec program='kpm' commandline='restore' if='IsMono'
default restore_options='${E("K_build_options")}'
exec program='cmd' commandline='/C kpm restore${restore_options}' if='!IsMono'
exec program='kpm' commandline='restore${restore_options}' if='IsMono'

View File

@ -10,7 +10,7 @@ default TARGET_DIR='${Path.Combine(BASE_DIR, "artifacts")}'
default BUILD_DIR='${Path.Combine(TARGET_DIR, "build")}'
default TEST_DIR='${Path.Combine(TARGET_DIR, "test")}'
default Configuration='${E("Configuration")}'
@{
if (string.IsNullOrEmpty(E("K_BUILD_VERSION")))
{
@ -39,7 +39,7 @@ default Configuration='${E("Configuration")}'
#build-compile target='compile'
k-build each='var projectFile in Files.Include("src/**/project.json")' configuration='${Configuration}'
@{
foreach (var nupkg in Files.Include(Path.Combine(BUILD_DIR, "*/*.nupkg")))
foreach (var nupkg in Files.Include(Path.Combine(BUILD_DIR, "*/*.nupkg")))
{
File.Copy(nupkg, Path.Combine(BUILD_DIR, Path.GetFileName(nupkg)), true);
}
@ -112,12 +112,18 @@ default Configuration='${E("Configuration")}'
CallTarget("clean-npm-modules");
}
}
#clean-npm-modules if='!IsMono'
-// Find all dirs that contain a package.json file
var npmDirs = '${GetDirectoriesContaining(Directory.GetCurrentDirectory(), "package.json").Select(d => Path.Combine(d, "node_modules"))}'
robocopy-delete dir='${npmDir}' each='var npmDir in npmDirs'
#set-quiet
@{
E("K_build_options"," --quiet");
E("K_restore_options"," --quiet");
}
#stylecop
stylecop-setup
stylecop-run each='var projectFile in Files.Include("src/**/project.json")'