@{/* kpm-build Builds a project. projectFile='' Required. Path to the project.json to build. configuration='' Optional. The configuration to build in. Defaults to 'Debug'. */} default configuration = 'Debug' default build_options='${E("NUGET3_build_options")}' @{ if (IsBuildV2) { var projectsToPack = new List(); foreach(var arg in projectFile.Split((char)';')) { if (!arg.Contains("*")) { projectsToPack.Add(Path.GetDirectoryName(arg)); } else { var projectFolders = Files.Include(arg + "/project.json").Select(proj => Path.GetDirectoryName(proj)); projectsToPack.AddRange(projectFolders); } } foreach(var projFolder in projectsToPack) { DeleteFolder(Path.Combine(projFolder, "bin", configuration)); } var projectsArg=projectFile.Replace(";", " "); var dnuArgs=string.Format("build{0} {1} --configuration {2}", build_options, projectsArg, configuration); if (!IsMono) { Exec("cmd", "/C dnu " + dnuArgs); } else { Exec("dnu", dnuArgs); } } else { var projectFolder=Path.GetDirectoryName(projectFile); var projectBin=Path.Combine(projectFolder, "bin", configuration); DeleteFolder(projectBin); var dnuArgs=string.Format("build{0} {1} --configuration {2}", build_options, projectFolder, configuration); if (!IsMono) { Exec("cmd", "/C dnu " + dnuArgs); } else { Exec("dnu", dnuArgs); } } }