Пример #1
0
            public void checks_package_id()
            {
                var foo1 = new NewPackage {
                    Id = "foo", VersionText = "1.2.3"
                } as IPackage;
                var foo2 = new NewPackage {
                    Id = "foo", VersionText = "2.0.8"
                } as IPackage;
                var bar = new NewPackage {
                    Id = "bar", VersionText = "1.0"
                } as IPackage;

                new PackageDependency("foo").Matches(foo1).ShouldBeTrue();
                new PackageDependency("foo").Matches(foo2).ShouldBeTrue();
                new PackageDependency("foo").Matches(bar).ShouldBeFalse();

                new PackageDependency("foo 1.2.3").Matches(foo1).ShouldBeTrue();
                new PackageDependency("foo 1.2.3").Matches(foo2).ShouldBeFalse();
                new PackageDependency("foo 1.2.3").Matches(bar).ShouldBeFalse();

                new PackageDependency("foo >= 1.2.3").Matches(foo1).ShouldBeTrue();
                new PackageDependency("foo >= 1.2.3").Matches(foo2).ShouldBeTrue();
                new PackageDependency("foo >= 1.2.3").Matches(bar).ShouldBeFalse();

                new PackageDependency("foo > 1.2.3").Matches(foo1).ShouldBeFalse();
                new PackageDependency("foo > 1.2.3").Matches(foo2).ShouldBeTrue();
                new PackageDependency("foo > 1.2.3").Matches(bar).ShouldBeFalse();

                new PackageDependency("bar ~> 1.0").Matches(foo1).ShouldBeFalse();
                new PackageDependency("bar ~> 1.0").Matches(foo2).ShouldBeFalse();
                new PackageDependency("bar ~> 1.0").Matches(bar).ShouldBeTrue();
            }
Пример #2
0
        private void btnAddPackage_Click(object sender, RoutedEventArgs e)
        {
            NewPackage newPackage = new NewPackage();

            newPackage.Closing += newPackage_Closing;
            newPackage.ShowDialog();
        }
Пример #3
0
        /// <summary>moo install</summary>
        public override object RunDefault()
        {
            // TODO we should attempt to install *every* arg that gets passed as a package dependency
            if (Args.Count != 1)
            {
                return(Help);
            }
            var packageId = Args.First();

            // Install foo.nupkg
            if (File.Exists(packageId))
            {
                var packageFile = NewPackage.FromFile(packageId);
                var pushed      = Moo.Dir.Push(packageFile);
                if (pushed == null)
                {
                    return(string.Format("{0} could not be installed\n", packageId));
                }
                else
                {
                    return(string.Format("Installed {0}\n", pushed.IdAndVersion()));
                }
            }

            List <ISource> sources = new List <ISource>();

            if (Source != null)
            {
                var source = MooGet.Source.GetSource(Source);
                if (source == null)
                {
                    return(string.Format("Source not found: {0}\n", Source));
                }
                else
                {
                    sources.Add(source);
                }
            }
            else
            {
                sources.AddRange(Moo.Dir.Sources);
            }

            var dependency = new PackageDependency(string.Format("{0} {1}", packageId, Version));

            try {
                var installed = Moo.Dir.Install(dependency, sources.ToArray());
                if (installed != null)
                {
                    return(string.Format("Installed {0}\n", installed.IdAndVersion()));
                }
                else
                {
                    return(string.Format("{0} could not be installed\n", dependency));
                }
            } catch (MooGet.PackageNotFoundException ex) {
                return(ex.Message + "\n");                // Package not found: X
            }
        }
Пример #4
0
        void newPackage_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            NewPackage newPackage = (NewPackage)sender;

            if (newPackage.Status == Classes.WindowResult.Created)
            {
                newPackage.Package.PackageId     = Guid.NewGuid();
                newPackage.Package.ParentProject = this.Project;
                this.Project.Packages.Add(newPackage.Package);
            }
        }
Пример #5
0
 /// <summary>
 /// Добавляет пакет в отслаживатель
 /// </summary>
 /// <param name="package">Пакет</param>
 public static void AddPackage(Package package)
 {
     if (!packages.Contains(package))
     {
         packages.Add(package);
         package.ID = id++;
     }
     if (NewPackage != null)
     {
         NewPackage.Invoke(package);
     }
 }
        public static void NewPackage(this CloudShellContext context, NewPackageSettings settings)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            var resolver = BuildResolver(context);
            var runner   = new NewPackage(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools, resolver);

            runner.Execute(settings);
        }
Пример #7
0
        /// <summary>moo push</summary>
        public override object RunDefault()
        {
            if (Source == null)
            {
                return(Help);
            }
            if (Args.Count != 1)
            {
                return(Help);
            }

            var path    = Args.First();
            var package = NewPackage.FromFile(path);

            if (package == null)
            {
                return(string.Format("Package file not found: {0}", path));
            }

            var source = MooGet.Source.GetSource(Source);

            if (source == null)
            {
                return(string.Format("Source not found: {0}", Source));
            }

            var remotePackage = source.Push(package);

            if (remotePackage == null)
            {
                return(string.Format("{0} could not be pushed to {1}", package, source));
            }
            else
            {
                return(string.Format("Pushed {0} to {1}", remotePackage.ToString(), source.Path));
            }
        }
        public PackageManagerViewModel(ITagService tags, IProjectPackageMapper mapper, IAppStateService state, IDialogService dialog)
        {
            _tags   = tags;
            _mapper = mapper;
            _state  = state;
            _dialog = dialog;

            _state.KeysChanged += (s, e) => {
                NewPackage.RaiseCanExecuteChanged();
            };

            _state.TagDeleted += async(s, e) => {
                if (_state.CurrentPackage != null)
                {
                    await _state.CurrentPackage.RemoveTagAsync(e.DeletedTag.Id);
                }
            };

            _state.PackageChanged += (s, e) => {
                RaisePropertyChanged(nameof(CurrentPackage));
                PublishPackage.RaiseCanExecuteChanged();
            };

            _state.ProjectChanged += async(s, e) => {
                _packageCount = (await _mapper.GetPackagesByProjectAsync(_state.CurrentProject.Id.ToString())).Count;
                OpenPackage.RaiseCanExecuteChanged();
            };

            this.NewPackage = new RelayCommand(async() => {
                await _dialog.OpenAsync(DialogKeys.NewPackage);
            },
                                               () => { return(_state.CurrentKeys != null); });

            this.OpenPackage = new RelayCommand(async() => {
                await _dialog.OpenAsync(DialogKeys.OpenPackage);
            },
                                                () => {
                return(_state.CurrentProject != null && _packageCount > 0);
            });

            this.PublishPackage = new RelayCommand(async() => {
                var savePicker = new Windows.Storage.Pickers.FileSavePicker();
                savePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
                // Dropdown of file types the user can save the file as
                savePicker.FileTypeChoices.Add("Nuget Package", new List <string>()
                {
                    ".nupkg"
                });
                var nugetFileName = $"SmartInk.{_state.CurrentPackage.Name}.{_state.CurrentPackage.Version}.nupkg";
                // Default file name if the user does not type one in or select a file to replace
                savePicker.SuggestedFileName = nugetFileName;
                var file = await savePicker.PickSaveFileAsync();
                if (file != null)
                {
                    await _packageManager.PublishPackageAsync(_state.CurrentPackage.BasePackage, file);
                }
            },
                                                   () => {
                return(_state.CurrentPackage != null);
            });
        }