Avoid path too long errors when performing BuildV2 builds in MVC repo
- do not glob to the ends of the earth when looking for `project.json` files nits: - remove unused variable in `_kpm-build.shade` - remove incorrect comment in `_kpm-pack.shade` - clean up some trailing whitespace
This commit is contained in:
parent
a3d943197a
commit
cb3dea63a3
|
|
@ -36,7 +36,7 @@ default NUGET_FEED = 'https://api.nuget.org/v3/index.json'
|
|||
Configuration = "Debug";
|
||||
E("Configuration", Configuration);
|
||||
}
|
||||
|
||||
|
||||
Log.Info("Build v2: " + IsBuildV2);
|
||||
}
|
||||
|
||||
|
|
@ -105,7 +105,7 @@ default NUGET_FEED = 'https://api.nuget.org/v3/index.json'
|
|||
{
|
||||
projectFiles.ForEach(projectFile => DnuPack(projectFile, BUILD_DIR, Configuration));
|
||||
}
|
||||
|
||||
|
||||
foreach (var nupkg in Files.Include(Path.Combine(BUILD_DIR, "*/*.nupkg")))
|
||||
{
|
||||
File.Copy(nupkg, Path.Combine(BUILD_DIR, Path.GetFileName(nupkg)), true);
|
||||
|
|
@ -115,31 +115,38 @@ default NUGET_FEED = 'https://api.nuget.org/v3/index.json'
|
|||
#build-compile target='compile' if='IsBuildV2'
|
||||
@{
|
||||
// If the src folder, build and create the packages
|
||||
if (Directory.Exists("src"))
|
||||
if (Directory.Exists("src"))
|
||||
{
|
||||
DnuPack("src/**", BUILD_DIR, Configuration);
|
||||
|
||||
// Handle projects 1 to 3 levels down from src/, avoiding path too long errors.
|
||||
DnuPack("src/*;src/*/*;src/*/*/*", BUILD_DIR, Configuration);
|
||||
|
||||
foreach (var nupkg in Files.Include(Path.Combine(BUILD_DIR, "*/*.nupkg")))
|
||||
{
|
||||
File.Copy(nupkg, Path.Combine(BUILD_DIR, Path.GetFileName(nupkg)), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// For test and samples only check if they compile
|
||||
var projectsToBuild = new List<string>();
|
||||
if (Directory.Exists("test"))
|
||||
if (Directory.Exists("test"))
|
||||
{
|
||||
projectsToBuild.Add("test/**");
|
||||
// Handle projects 1 to 3 levels down from test/, avoiding path too long errors.
|
||||
projectsToBuild.Add("test/*");
|
||||
projectsToBuild.Add("test/*/*");
|
||||
projectsToBuild.Add("test/*/*/*");
|
||||
}
|
||||
if (Directory.Exists("samples"))
|
||||
if (Directory.Exists("samples"))
|
||||
{
|
||||
projectsToBuild.Add("samples/**");
|
||||
// Handle projects 1 to 3 levels down from samples/, avoiding path too long errors.
|
||||
projectsToBuild.Add("samples/*");
|
||||
projectsToBuild.Add("samples/*/*");
|
||||
projectsToBuild.Add("samples/*/*/*");
|
||||
}
|
||||
|
||||
if (projectsToBuild.Any())
|
||||
|
||||
if (projectsToBuild.Any())
|
||||
{
|
||||
DnuBuild(
|
||||
string.Join(";", projectsToBuild),
|
||||
string.Join(";", projectsToBuild),
|
||||
Configuration);
|
||||
}
|
||||
}
|
||||
|
|
@ -352,7 +359,7 @@ macro name="DnuBuild" projectFile='string' configuration='string'
|
|||
|
||||
macro name="DnuPack" projectFile='string' kpmPackOutputDir='string' configuration='string'
|
||||
kpm-pack
|
||||
|
||||
|
||||
macro name="DeleteFolder" delete='string'
|
||||
directory
|
||||
|
||||
|
|
|
|||
|
|
@ -17,10 +17,9 @@ default build_options='${E("NUGET3_build_options")}'
|
|||
if (IsBuildV2)
|
||||
{
|
||||
var projectsToPack = new List<string>();
|
||||
|
||||
foreach(var arg in projectFile.Split((char)';'))
|
||||
{
|
||||
if (!arg.Contains("*"))
|
||||
if (!arg.Contains("*"))
|
||||
{
|
||||
projectsToPack.Add(Path.GetDirectoryName(arg));
|
||||
}
|
||||
|
|
@ -30,15 +29,15 @@ default build_options='${E("NUGET3_build_options")}'
|
|||
projectsToPack.AddRange(projectFolders);
|
||||
}
|
||||
}
|
||||
|
||||
foreach(var projFolder in projectsToPack)
|
||||
{
|
||||
|
||||
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)
|
||||
if (!IsMono)
|
||||
{
|
||||
Exec("cmd", "/C dnu " + dnuArgs);
|
||||
}
|
||||
|
|
@ -50,13 +49,12 @@ default build_options='${E("NUGET3_build_options")}'
|
|||
else
|
||||
{
|
||||
var projectFolder=Path.GetDirectoryName(projectFile);
|
||||
var projectName=Path.GetFileName(projectFolder);
|
||||
var projectBin=Path.Combine(projectFolder, "bin", configuration);
|
||||
|
||||
|
||||
DeleteFolder(projectBin);
|
||||
|
||||
|
||||
var dnuArgs=string.Format("build{0} {1} --configuration {2}", build_options, projectFolder, configuration);
|
||||
if (!IsMono)
|
||||
if (!IsMono)
|
||||
{
|
||||
Exec("cmd", "/C dnu " + dnuArgs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@{/*
|
||||
|
||||
kpm-pack
|
||||
Builds package from project. Downloads and executes k sdk tools.
|
||||
Builds package from project.
|
||||
|
||||
projectFile=''
|
||||
Required. Path to the project.json to build.
|
||||
|
|
@ -20,10 +20,9 @@ default pack_options='${E("NUGET3_pack_options")}'
|
|||
if (IsBuildV2)
|
||||
{
|
||||
var projectsToPack = new List<string>();
|
||||
|
||||
foreach(var arg in projectFile.Split((char)';'))
|
||||
{
|
||||
if (!arg.Contains("*"))
|
||||
if (!arg.Contains("*"))
|
||||
{
|
||||
projectsToPack.Add(Path.GetDirectoryName(arg));
|
||||
}
|
||||
|
|
@ -34,14 +33,14 @@ default pack_options='${E("NUGET3_pack_options")}'
|
|||
}
|
||||
}
|
||||
|
||||
foreach(var projFolder in projectsToPack)
|
||||
{
|
||||
foreach(var projFolder in projectsToPack)
|
||||
{
|
||||
DeleteFolder(Path.Combine(projFolder, "bin", configuration));
|
||||
}
|
||||
|
||||
|
||||
var projectsArg=projectFile.Replace(";", " ");
|
||||
var dnuArgs=string.Format("pack{0} {1} --configuration {2}", pack_options, projectsArg, configuration);
|
||||
if (!IsMono)
|
||||
if (!IsMono)
|
||||
{
|
||||
Exec("cmd", "/C dnu " + dnuArgs);
|
||||
}
|
||||
|
|
@ -49,11 +48,11 @@ default pack_options='${E("NUGET3_pack_options")}'
|
|||
{
|
||||
Exec("dnu", dnuArgs);
|
||||
}
|
||||
|
||||
foreach(var projFolder in projectsToPack)
|
||||
{
|
||||
|
||||
foreach(var projFolder in projectsToPack)
|
||||
{
|
||||
CopyFolder(
|
||||
Path.Combine(projFolder, "bin", configuration),
|
||||
Path.Combine(projFolder, "bin", configuration),
|
||||
Path.Combine(kpmPackOutputDir, Path.GetFileName(projFolder)),
|
||||
true);
|
||||
}
|
||||
|
|
@ -63,11 +62,11 @@ default pack_options='${E("NUGET3_pack_options")}'
|
|||
var projectFolder=Path.GetDirectoryName(projectFile);
|
||||
var projectName=Path.GetFileName(projectFolder);
|
||||
var projectBin=Path.Combine(projectFolder, "bin", configuration);
|
||||
|
||||
|
||||
DeleteFolder(projectBin);
|
||||
|
||||
|
||||
var dnuArgs=string.Format("pack{0} {1} --configuration {2}", pack_options, projectFolder, configuration);
|
||||
if (!IsMono)
|
||||
if (!IsMono)
|
||||
{
|
||||
Exec("cmd", "/C dnu " + dnuArgs);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue