public override IEnumerable <string> GetToolchainIncludes(ISourceFile file) { if (_gccConfig == null && file != null) { _settings = file.Project.Solution.StartupProject.GetToolchainSettings <PublishedGCCToolchainSettings>(); _gccConfig = GccConfigurationsManager.GetConfiguration(_settings.Toolchain, _settings.Version); _gccConfig?.ResolveAsync().GetAwaiter().GetResult(); } var result = base.GetToolchainIncludes(file); if (_gccConfig != null && _gccConfig.SystemIncludePaths != null) { result = result.Concat(_gccConfig.SystemIncludePaths); } return(result); }
public PublishedToolchainSettingsViewModel(IProject model) : base("Platform", model) { _settings = model.GetToolchainSettings <PublishedGCCToolchainSettings>(); Dispatcher.UIThread.InvokeAsync(async() => { try { var packages = await GccConfigurationsManager.GetRemotePackagesAsync(); AvailableToolchains = new ObservableCollection <PackageMetaData>(packages); } catch (System.Exception) { AvailableToolchains = new ObservableCollection <PackageMetaData>(); } if (!string.IsNullOrEmpty(_settings.Toolchain)) { SelectedPackage = AvailableToolchains.FirstOrDefault(tc => tc.Title == _settings.Toolchain); await LoadVersions(); if (!string.IsNullOrEmpty(_settings.Version)) { SelectedVersion = Versions.FirstOrDefault(v => v == _settings.Version); if (SelectedVersion == null) { SelectedVersion = Versions.FirstOrDefault(); } } else { SelectedVersion = Versions.FirstOrDefault(); } } _initialised = true; Save(); }); }
public override async Task <bool> InstallAsync(IConsole console, IProject project) { bool result = true; _settings = project.GetToolchainSettings <PublishedGCCToolchainSettings>(); if (_settings.Toolchain != null) { await PackageManager.EnsurePackage(_settings.Toolchain, _settings.Version, IoC.Get <IConsole>(), ignoreRid : true); _gccConfig = GccConfigurationsManager.GetConfiguration(_settings.Toolchain, _settings.Version); result = await _gccConfig.ResolveAsync(); } if (result) { result = await base.InstallAsync(console, project); } return(result); }