Beispiel #1
0
        public async Task InstallSdk(VirtualFile packedSdk, VirtualDirectory destination, ChangeObservable observable,
                                     bool force)
        {
            using (IEditableSettings editableSettings = settingsProvider.StartSettingTransaction())
            {
                if (!force && destination.Files(searchRecursive: true).Any())
                {
                    throw new FileExistsException(destination.FullName);
                }

                using (IProgressNotifier progressNotifier = Console.IsInputRedirected || Console.IsOutputRedirected ? null : progressVisualizer.Spawn(1, "Install SDK.", null))
                {
                    await fileUnpackService.Unpack(packedSdk, destination, progressNotifier, observable).ConfigureAwait(false);
                }

                editableSettings.AddSetting(Constants.SdkPathsKey, $"{destination.FullName}");
            }
        }
Beispiel #2
0
        protected override int Execute(SetSettingsCommandArgs args, ChangeObservable observable)
        {
            using (IEditableSettings editableSettings = settingsProvider.StartSettingTransaction())
            {
                if (args.Add)
                {
                    editableSettings.AddSetting(args.Key, args.Value);
                }
                else if (args.Clear)
                {
                    editableSettings.ClearSetting(args.Key);
                }
                else if (args.Remove)
                {
                    editableSettings.RemoveSetting(args.Key, args.Value);
                }
                else
                {
                    editableSettings.SetSetting(args.Key, args.Value);
                }
            }

            return(0);
        }