public FlubuConfiguration( TravisOptions travisOptions, AzurePipelineOptions azureOptions, GitHubActionsOptions gitHubActionsOptions, AppVeyorOptions appVeyorOptions, JenkinsOptions jenkinsOptions) { TravisOptions = travisOptions; AzurePipelineOptions = azureOptions; GitHubActionsOptions = gitHubActionsOptions; AppVeyorOptions = appVeyorOptions; JenkinsOptions = jenkinsOptions; }
public void Initialize() { IsLoading = Visibility.Hidden; IsTabProjectsSelected = true; var eventManager = ServiceProvider.GetService <SEventManager, IEventManager>(); _options = eventManager.AppVeyorOptions; _options.OptionsChanged += OnOptionsChanged; if (string.IsNullOrWhiteSpace(_options.ApiToken)) { Telemetry.Instance.TrackEvent("API Token empty error"); var message = string.Format( "Please input API token from your AppVeyor account in Tools | Options | AppVeyor.{0}Token can be found on API token page under your AppVeyor account.", Environment.NewLine); ShowMessageOnUI(message); StopPollingForProjects(); Projects = null; } else { _repository = new Repository(_options.ApiToken); IsLoading = Visibility.Visible; Projects = new ObservableCollection <Project>(); IsTabEnvironmentsVisible = false; IsTabUsersVisible = false; ShowMessageOnUI("Loading...Please wait!"); //await GetDataFromServerAsync(); var metrics = new Dictionary <string, double> { { "ProjectsCount", Projects.Count } }; var properties = new Dictionary <string, string>(); Telemetry.Instance.TrackEvent("GetProjectsFromServer", properties, metrics); StartPollingForProjects(); IsLoading = Visibility.Collapsed; } }
public void FromOptions(AppVeyorOptions options) { CloneDepth = options.CloneDepth; if (options.Images.IsNullOrEmpty()) { options.SetVirtualMachineImage(AppVeyorImage.VisualStudio2019, AppVeyorImage.Ubuntu1804); } Image = options.Images; if (!options.SkipCommitsFiles.IsNullOrEmpty()) { SkipCommits = new SkipCommits { Files = options.SkipCommitsFiles }; } if (!options.Services.IsNullOrEmpty()) { Services = options.Services; } For = new List <For>(); foreach (var image in options.Images) { For f = new For(); var matrix = new Matrix(); matrix.Only = new List <Only> { new Only { Image = image } }; f.BeforeBuild.Add(CreateCommand("dotnet tool install --global FlubuCore.Tool --version 5.1.8", image)); foreach (var beforeBuild in options.BeforeBuilds) { if (beforeBuild.image.Equals("all", StringComparison.OrdinalIgnoreCase) || beforeBuild.image == image) { f.BeforeBuild.Add(CreateCommand(beforeBuild.beforeScript, beforeBuild.image)); } } if (!string.IsNullOrEmpty(options.WorkingDirectory)) { f.BuildScript.Add(CreateCommand($"cd {options.WorkingDirectory}", image)); } foreach (var script in options.CustomScriptsBeforeTarget) { if (script.image.Equals("all", StringComparison.OrdinalIgnoreCase) || script.image == image) { f.BuildScript.Add(CreateCommand(script.script, script.image)); } } bool customTargetAddedForImage = false; foreach (var target in options.Targets) { if (target.image.Equals("all", StringComparison.OrdinalIgnoreCase) || target.image == image) { f.BuildScript.Add(CreateCommand($"flubu {target.target}", target.image)); customTargetAddedForImage = true; } } if (!customTargetAddedForImage) { f.BuildScript.Add(CreateCommand($"flubu {string.Join(" ", options.TargetNames)}", image)); } foreach (var script in options.CustomScriptsAfterTarget) { if (script.image.Equals("all", StringComparison.OrdinalIgnoreCase) || script.image == image) { f.BuildScript.Add(CreateCommand(script.script, script.image)); } } f.Matrix = matrix; For.Add(f); } }