public static void Main(string[] args) { DebugHelper.HandleDebugSwitch(ref args); List<BuildInfo> buildInfos = new List<BuildInfo>(); buildInfos.Add(BuildInfo.Get("CoreFx", s_config.CoreFxVersionUrl, fetchLatestReleaseFile: false)); buildInfos.Add(BuildInfo.Get("CoreClr", s_config.CoreClrVersionUrl, fetchLatestReleaseFile: false)); buildInfos.Add(BuildInfo.Get("Roslyn", s_config.RoslynVersionUrl, fetchLatestReleaseFile: false)); buildInfos.Add(BuildInfo.Get("CoreSetup", s_config.CoreSetupVersionUrl, fetchLatestReleaseFile: false)); IEnumerable<IDependencyUpdater> updaters = GetUpdaters(); GitHubAuth gitHubAuth = new GitHubAuth(s_config.Password, s_config.UserName, s_config.Email); DependencyUpdater dependencyUpdater = new DependencyUpdater( gitHubAuth, s_config.GitHubProject, s_config.GitHubUpstreamOwner, s_config.GitHubUpstreamBranch, s_config.UserName, s_config.GitHubPullRequestNotifications); if (args.Length > 0 && string.Equals("--Update", args[0], StringComparison.OrdinalIgnoreCase)) { dependencyUpdater.Update(updaters, buildInfos); } else { dependencyUpdater.UpdateAndSubmitPullRequestAsync(updaters, buildInfos); } }
public override bool Execute() { MsBuildTraceListener[] listeners = Trace.Listeners.AddMsBuildTraceListeners(Log); IDependencyUpdater[] updaters = GetDependencyUpdaters().ToArray(); BuildInfo[] buildInfos = GetBuildInfos().ToArray(); var gitHubAuth = new GitHubAuth(GitHubAuthToken, GitHubUser, GitHubEmail); var updater = new DependencyUpdater( gitHubAuth, ProjectRepo, ProjectRepoOwner, ProjectRepoBranch, GitHubAuthor ?? GitHubUser, NotifyGitHubUsers?.Select(item => item.ItemSpec)); updater.UpdateAndSubmitPullRequestAsync(updaters, buildInfos).Wait(); Trace.Listeners.RemoveMsBuildTraceListeners(listeners); return true; }