Fix argument parsing for fast build

This commit is contained in:
Victor Hurdugaci 2015-06-15 15:11:13 -07:00
parent f377542e38
commit 00b2daa068
3 changed files with 36 additions and 15 deletions

View File

@ -297,5 +297,5 @@ macro name="DnuPack" projectFile='string' kpmPackOutputDir='string' configuratio
macro name="DeleteFolder" delete='string'
directory
macro name="CopyFolder" sourceDir='string' outputDir='string'
macro name="CopyFolder" sourceDir='string' outputDir='string' overwrite='bool'
copy

View File

@ -16,12 +16,22 @@ default build_options='${E("NUGET3_build_options")}'
@{
if (IsBuildV2)
{
var projectFolders = projectFile.Split((char)';')
.SelectMany(pattern => Files.Include(pattern + "/project.json"))
.Select(proj => Path.GetDirectoryName(proj))
.ToList();
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 projectFolders)
foreach(var projFolder in projectsToPack)
{
DeleteFolder(Path.Combine(projFolder, "bin", configuration));
}

View File

@ -19,12 +19,22 @@ default pack_options='${E("NUGET3_pack_options")}'
@{
if (IsBuildV2)
{
var projectFolders = projectFile.Split((char)';')
.SelectMany(pattern => Files.Include(pattern + "/project.json"))
.Select(proj => Path.GetDirectoryName(proj))
.ToList();
foreach(var projFolder in projectFolders)
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));
}
@ -40,11 +50,12 @@ default pack_options='${E("NUGET3_pack_options")}'
Exec("dnu", dnuArgs);
}
foreach(var projFolder in projectFolders)
foreach(var projFolder in projectsToPack)
{
CopyFolder(
Path.Combine(projFolder, "bin", configuration),
Path.Combine(kpmPackOutputDir, Path.GetFileName(projFolder)));
Path.Combine(kpmPackOutputDir, Path.GetFileName(projFolder)),
true);
}
}
else
@ -65,6 +76,6 @@ default pack_options='${E("NUGET3_pack_options")}'
Exec("dnu", dnuArgs);
}
CopyFolder(projectBin, Path.Combine(kpmPackOutputDir, projectName));
CopyFolder(projectBin, Path.Combine(kpmPackOutputDir, projectName), true);
}
}