diff --git a/build/_k-standard-goals.shade b/build/_k-standard-goals.shade index a154daf561..ca2de8a781 100644 --- a/build/_k-standard-goals.shade +++ b/build/_k-standard-goals.shade @@ -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(); - 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 diff --git a/build/_kpm-build.shade b/build/_kpm-build.shade index b56bdc89ff..a0130af8e2 100644 --- a/build/_kpm-build.shade +++ b/build/_kpm-build.shade @@ -17,10 +17,9 @@ default build_options='${E("NUGET3_build_options")}' if (IsBuildV2) { var projectsToPack = new List(); - 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); } diff --git a/build/_kpm-pack.shade b/build/_kpm-pack.shade index 465c3f5cca..0a438cdbef 100644 --- a/build/_kpm-pack.shade +++ b/build/_kpm-pack.shade @@ -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(); - 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); }