Add a flag that allows producing non-coherent builds

This commit is contained in:
Pranav K 2016-09-28 15:24:48 -07:00
parent 4aec8528fd
commit b2a01607f2
1 changed files with 16 additions and 10 deletions

View File

@ -169,6 +169,9 @@ var buildTarget = "compile"
var universeArtifacts = Path.Combine(Directory.GetCurrentDirectory(), "artifacts"); var universeArtifacts = Path.Combine(Directory.GetCurrentDirectory(), "artifacts");
var universeBuild = Path.Combine(universeArtifacts, "build"); var universeBuild = Path.Combine(universeArtifacts, "build");
var packagesPublishDir = Path.Combine(Directory.GetCurrentDirectory(), ".nuget", "publishDir"); var packagesPublishDir = Path.Combine(Directory.GetCurrentDirectory(), ".nuget", "publishDir");
// Historically we've always produced coherent builds using this target. Unless specified otherwise,
// we'll continue to produce coherent builds here.
var createCoherentBuild = Environment.GetEnvironmentVariable("CREATE_COHERENT_BUILD") != "false";
// Snapshot the .build folder // Snapshot the .build folder
if (!IsLinux) if (!IsLinux)
@ -193,6 +196,8 @@ var buildTarget = "compile"
} }
Directory.CreateDirectory(universeBuild); Directory.CreateDirectory(universeBuild);
if (createCoherentBuild)
{
if (!IsLinux) if (!IsLinux)
{ {
// Publish to a directory and use that as a package source for later builds. This doesn't work in Linux due to // Publish to a directory and use that as a package source for later builds. This doesn't work in Linux due to
@ -206,6 +211,7 @@ var buildTarget = "compile"
{ {
Environment.SetEnvironmentVariable("NUGET_VOLATILE_FEED_ARTIFACTS", universeBuild); Environment.SetEnvironmentVariable("NUGET_VOLATILE_FEED_ARTIFACTS", universeBuild);
} }
}
foreach (var batch in batchedRepos) foreach (var batch in batchedRepos)
{ {