diff --git a/makefile.shade b/makefile.shade index 684dd56ef5..01e62bc3b0 100644 --- a/makefile.shade +++ b/makefile.shade @@ -46,10 +46,15 @@ functions "Entropy", }; + // Doesn't build on Mono since their contracts don't match + string[] excludeReposOnMono = new[] { "DataCommon", "DataCommon.SQLite", "Helios" }; + static bool useHttps = UseHttps(BASE_DIR); static string gitHubUriPrefix = useHttps ? "https://github.com/aspnet/" : "git@github.com:aspnet/"; } +var buildTarget = "compile" + @{ var kBuildVersion = Environment.GetEnvironmentVariable("K_BUILD_VERSION"); if (!string.IsNullOrEmpty(kBuildVersion)) @@ -83,6 +88,26 @@ functions } } +#smoke-test-mono .pull .fix-project-json .change-default-build-target .only-compile + +#fix-project-json + @{ + repos = repos.Except(excludeReposOnMono).ToArray(); + } + -// Fix project.json to remove .Net portable references + for each='var repo in repos' + for each='var file in Files.Include(repo + "/**" + "/project.json")' + update-file updateFile='${file}' + @{ + updateText = updateText.Replace(".NETPortable,Version=4.6,Profile=Profile151", "foo"); + updateText = updateText.Replace(".NETPortable,Version=v4.6,Profile=Profile151", "foo"); + } + +#change-default-build-target + @{ + buildTarget = "verify"; + } + #init @{ var templatePath = Path.Combine(BASE_DIR, "build-template"); @@ -153,11 +178,11 @@ functions Log.Info(string.Format("Building {0}", repo)); if (IsMono) { - Exec("build.sh", "compile", repo); + Exec("build.sh", buildTarget, repo); } else { - Exec("build.cmd", "compile", repo); + Exec("build.cmd", buildTarget, repo); } Log.Info(string.Format("Build {0} succeeded", repo)); }