private void CreateProjectDeployments(IList <IDeployment> deployments) { Deployments = new List <IDeployment>(); foreach (var deployment in deployments) { if (Releases.Any(x => x.Id.Contains(deployment.ReleaseId)) && Environments.Any(x => x.Id.Contains(deployment.EnvironmentId))) { Deployments.Add(new Deployment(deployment)); } } }
public async Task OnLoadedAsync() { if (_checkForUpdates) { await _updateManager.CheckForUpdatesAsync(); } var releases = _updateManager.Releases .Where(r => _settings.IncludePrereleaseUpdates || !r.IsPrerelease) .OrderByDescending(r => r.Version) .SkipWhile(r => String.IsNullOrWhiteSpace(r.DownloadUrl)).ToList(); releases.ForEach(Releases.Add); IsUpdating = false; IsUpToDate = Releases.All(r => !r.IsNew); CanUpdate = Releases.Any(r => r.IsNew); }
public bool HasReleases() { return(Releases.Any()); }
public bool HasDeltaReleases() { return(Releases.Any(x => x.IsDelta)); }
public async Task RunAnalysis() { // prepare commits if ((_configuration.DataFlags & DataFlags.Commits) == DataFlags.Commits) { // prepare db await _mongoProxy.TruncateCommits(); // read all commit pages var commits = new List <Commit>(); _gitProxy.OnCommitQueryNext += async(sender, pagedCommits) => { commits.AddRange(pagedCommits); await _mongoProxy.InsertCommits(pagedCommits); }; // run await _gitProxy.GetCommits(); Commits = commits; } else { Commits = await _mongoProxy.GetCommits(); } // prepare releases if ((_configuration.DataFlags & DataFlags.Releases) == DataFlags.Releases) { Releases = await _gitProxy.GetReleases(); if (Releases.Any()) { await _mongoProxy.RecacheReleases(Releases); } } else { Releases = await _mongoProxy.GetReleases(); } // prepare stats if ((_configuration.DataFlags & DataFlags.Statistics) == DataFlags.Statistics) { Statistics = await _gitProxy.GetStatistics(); if (Statistics.Any()) { await _mongoProxy.RecacheStatistics(Statistics); } } else { Statistics = await _mongoProxy.GetStatistics(); } // prepare users if ((_configuration.DataFlags & DataFlags.Users) == DataFlags.Users) { Users = await _gitProxy.GetUsers(Statistics); if (Users.Any()) { await _mongoProxy.RecacheUsers(Users); } } else { Users = await _mongoProxy.GetUsers(); } // read aliases var aliases = _aliasReader.Aliases; // replace aliased authors if (aliases.Any()) { foreach (var commit in Commits) { foreach (var alias in aliases) { if (alias.Value.Contains(commit.Author)) { commit.UpdateAuthor(alias.Key); } } } } // run metric calculation tasks var tasks = new List <Task> { Metrics.Centrality(Commits), Task.Run(() => Metrics.NoD(Commits)), Task.Run(() => Metrics.TAP(Commits)), Task.Run(() => Metrics.NoC(Releases, Commits)), Task.Run(() => Metrics.LoC(Statistics)), Metrics.GL(_googleProxy, Users), Task.Run(() => Metrics.NAC(Releases, Commits)), }; // wait for completion await Task.WhenAll(tasks); }
public bool IsLatestVersionOfRelease(Guid releaseId) { return(!Releases.Any(r => r.PreviousVersionId == releaseId && r.Id != releaseId)); }