internal void HandleUninitializedToPreclientPhaseTransition(ILeagueSession session, LeagueSessionPhaseChangedArgs e) { logger.Info("Handling Uninitialized to Preclient Phase Transition!"); var modifications = modificationLoader.EnumerateModifications(); foreach (var modification in modifications) { var resolutionChain = resolutionChainsByModificationName.GetOrAdd( modification.RepositoryName, add => new CompletionChain(cancellationToken => leagueBuildUtilities.ResolveModification(modification, cancellationToken)) ); var compilationChain = compilationChainsByModificationName.GetOrAdd( modification.RepositoryName, add => new CompletionChain(cancellationToken => leagueBuildUtilities.CompileModification(modification, cancellationToken)) ); var resolutionLink = resolutionChain.CreateLink("resolution_" + DateTime.Now.ToFileTimeUtc()); var compilationLink = compilationChain.CreateLink("compilation_" + DateTime.Now.ToFileTimeUtc()); resolutionLink.Tail(compilationLink.StartAndWaitForChain); resolutionChain.StartNext(resolutionLink); } radsService.Suspend(); }
public string EnumerateModifications() { return(modificationLoader.EnumerateModifications().Select(mod => mod.RepositoryName + " " + mod.RepositoryPath).Join("\r\n")); }