Set UNIVERSE_COMMITS_FILE env. variable after caching Coherence.

This commit is contained in:
Cesar Blum Silveira 2016-03-16 11:38:06 -07:00
parent b269e3f9ea
commit 0a6384bd3a
1 changed files with 14 additions and 10 deletions

View File

@ -17,11 +17,15 @@ use import="Json"
functions functions
@{ @{
const string UniverseCommitsFileName = "commits-universe";
private static bool Quiet { get; set; } private static bool Quiet { get; set; }
static string BUILD_BRANCH = Environment.GetEnvironmentVariable("BUILD_BRANCH") ?? "dev"; static string BUILD_BRANCH = Environment.GetEnvironmentVariable("BUILD_BRANCH") ?? "dev";
static string BASE_DIR = Directory.GetCurrentDirectory(); static string BASE_DIR = Directory.GetCurrentDirectory();
static string TARGET_DIR = Path.Combine(BASE_DIR, "artifacts", "build"); static string TARGET_DIR = Path.Combine(BASE_DIR, "artifacts", "build");
static string COHERENCE_CACHE_DIR = Environment.GetEnvironmentVariable("COHERENCE_CACHE_DIR") ?? Path.Combine(BASE_DIR, ".coherence-cache");
static string DROPS_SHARE = Environment.GetEnvironmentVariable("ASPNETCI_DROPS_SHARE") ?? @"\\aspnetci\drops";
static bool SKIP_NO_CREDENTIALS = Environment.GetEnvironmentVariable("UNIVERSE_SKIP_NO_CREDENTIALS") == "1"; static bool SKIP_NO_CREDENTIALS = Environment.GetEnvironmentVariable("UNIVERSE_SKIP_NO_CREDENTIALS") == "1";
// Doesn't build on Mono since their contracts don't match // Doesn't build on Mono since their contracts don't match
@ -87,7 +91,7 @@ var buildTarget = "compile"
#verify-all .pull .change-default-build-target-to-verify .build-all #verify-all .pull .change-default-build-target-to-verify .build-all
#ci-test .pull .sync-commits .remove-src-folders .cache-coherence .change-default-build-target-to-verify .build-all #ci-test .cache-coherence .pull .sync-commits .remove-src-folders .change-default-build-target-to-verify .build-all
#ci-build #ci-build
@{ @{
@ -206,27 +210,25 @@ var buildTarget = "compile"
#cache-coherence #cache-coherence
@{ @{
var coherenceCacheDir = Path.Combine(BASE_DIR, Environment.GetEnvironmentVariable("COHERENCE_CACHE_DIR") ?? ".coherence-cache"); if (!string.IsNullOrWhiteSpace(DROPS_SHARE))
var dropsShare = Environment.GetEnvironmentVariable("ASPNETCI_DROPS_SHARE");
if (!string.IsNullOrWhiteSpace(dropsShare))
{ {
var coherenceShare = Path.Combine(dropsShare, "Coherence", BUILD_BRANCH); var coherenceShare = Path.Combine(DROPS_SHARE, "Coherence", BUILD_BRANCH);
var latestBuild = Directory.EnumerateDirectories(coherenceShare) var latestBuild = Directory.EnumerateDirectories(coherenceShare)
.Select(d => Path.GetFileName(d)) .Select(d => Path.GetFileName(d))
.Where(d => { int _; return int.TryParse(d, out _); }) .Where(d => { int _; return int.TryParse(d, out _); })
.OrderByDescending(d => d) .OrderByDescending(d => d)
.First(); .First();
var targetDir = Path.Combine(coherenceCacheDir, latestBuild); var targetDir = Path.Combine(COHERENCE_CACHE_DIR, latestBuild);
Log.Info("Latest Coherence build is " + latestBuild + "."); Log.Info("Latest Coherence build is " + latestBuild + ".");
if (!Directory.Exists(targetDir)) if (!Directory.Exists(targetDir))
{ {
var latestBuildShare = Path.Combine(coherenceShare, latestBuild); var latestBuildShare = Path.Combine(coherenceShare, latestBuild, "build");
Log.Info("Caching Coherence build " + latestBuild + " at " + targetDir + "."); Log.Info("Caching Coherence build " + latestBuild + " at " + targetDir + ".");
CopyFolder(latestBuildShare, targetDir, overwrite: true); CopyFolder(latestBuildShare, targetDir, overwrite: true);
File.Copy(Path.Combine(coherenceShare, latestBuild, UniverseCommitsFileName), Path.Combine(targetDir, UniverseCommitsFileName));
} }
else else
{ {
@ -234,7 +236,9 @@ var buildTarget = "compile"
} }
Environment.SetEnvironmentVariable("NUGET_VOLATILE_FEED_ASPNETVNEXT", Path.Combine(targetDir, "build")); Environment.SetEnvironmentVariable("NUGET_VOLATILE_FEED_ASPNETVNEXT", Path.Combine(targetDir, "build"));
Environment.SetEnvironmentVariable("NUGET_VOLATILE_FEED_EXTERNAL", Path.Combine(dropsShare, "latest-packages", "external", BUILD_BRANCH)); Environment.SetEnvironmentVariable("NUGET_VOLATILE_FEED_EXTERNAL", Path.Combine(DROPS_SHARE, "latest-packages", "external", BUILD_BRANCH));
Environment.SetEnvironmentVariable("UNIVERSE_COMMITS_FILE", Path.Combine(targetDir, "commits-universe"));
Log.Info(Environment.GetEnvironmentVariable("UNIVERSE_COMMITS_FILE"));
} }
} }