Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
            });
        }
Ejemplo n.º 3
0
        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);
        }