aspnetcore/build/_kpm-build.shade

52 lines
1.4 KiB
Plaintext

@{/*
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("KOREBUILD_DNU_BUILD_OPTIONS")}'
@{
if (IsBuildV2)
{
var projectsToPack = new List<string>();
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);
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);
Dnu(dnuArgs);
}
}