public void PackageRestoreRepositorySourceReturnsPrimaryRepositorySource() { var mockRepository1 = new MockPackageRepository("Source1"); var mockRepository2 = new MockPackageRepository("Source2"); var packageRestoreRepository = new PriorityPackageRepository(mockRepository1, mockRepository2); Assert.Equal("Source1", packageRestoreRepository.Source); }
public void PackageRestoreRepositorySupportsPrereleasePackagesReturnsValueOfPrimaryRepository() { var mockRepository1 = new Mock <IPackageRepository>(); var mockRepository2 = new Mock <IPackageRepository>(); mockRepository1.Setup(p => p.SupportsPrereleasePackages).Returns(false); mockRepository2.Setup(p => p.SupportsPrereleasePackages).Returns(true); var packageRestoreRepository = new PriorityPackageRepository(mockRepository1.Object, mockRepository2.Object); Assert.Equal(false, packageRestoreRepository.SupportsPrereleasePackages); }
public void RestorePackages(Project project) { string packageReferenceFileFullPath; Tuple <string, string> packageReferenceFiles = VsUtility.GetPackageReferenceFileFullPaths(project); if (File.Exists(packageReferenceFiles.Item1)) { packageReferenceFileFullPath = packageReferenceFiles.Item1; } else if (File.Exists(packageReferenceFiles.Item2)) { packageReferenceFileFullPath = packageReferenceFiles.Item2; } else { return; } var packageReferenceFile = new PackageReferenceFile(packageReferenceFileFullPath); var packages = packageReferenceFile.GetPackageReferences().ToList(); if (packages.Count == 0) { return; } var repoSettings = ServiceLocator.GetInstance <IRepositorySettings>(); var fileSystem = new PhysicalFileSystem(repoSettings.RepositoryPath); var activePackageSourceRepository = ServiceLocator.GetInstance <IPackageRepository>(); var repository = new PriorityPackageRepository(NuGet.MachineCache.Default, activePackageSourceRepository); IVsPackageManagerFactory packageManagerFactory = ServiceLocator.GetInstance <IVsPackageManagerFactory>(); var packageManager = packageManagerFactory.CreatePackageManager(repository, useFallbackForDependencies: false); foreach (var package in packages) { if (IsPackageInstalled(fileSystem, package.Id, package.Version)) { continue; } using (packageManager.SourceRepository.StartOperation(RepositoryOperationNames.Restore, package.Id, package.Version.ToString())) { var resolvedPackage = PackageHelper.ResolvePackage( packageManager.SourceRepository, package.Id, package.Version); NuGet.Common.PackageExtractor.InstallPackage(packageManager, resolvedPackage); } } }
public void RestorePackages(Project project) { string packageReferenceFileFullPath; Tuple<string, string> packageReferenceFiles = VsUtility.GetPackageReferenceFileFullPaths(project); if (File.Exists(packageReferenceFiles.Item1)) { packageReferenceFileFullPath = packageReferenceFiles.Item1; } else if (File.Exists(packageReferenceFiles.Item2)) { packageReferenceFileFullPath = packageReferenceFiles.Item2; } else { return; } var packageReferenceFile = new PackageReferenceFile(packageReferenceFileFullPath); var packages = packageReferenceFile.GetPackageReferences().ToList(); if (packages.Count == 0) { return; } var repoSettings = ServiceLocator.GetInstance<IRepositorySettings>(); var fileSystem = new PhysicalFileSystem(repoSettings.RepositoryPath); var activePackageSourceRepository = ServiceLocator.GetInstance<IPackageRepository>(); var repository = new PriorityPackageRepository(NuGet.MachineCache.Default, activePackageSourceRepository); IVsPackageManagerFactory packageManagerFactory = ServiceLocator.GetInstance<IVsPackageManagerFactory>(); var packageManager = packageManagerFactory.CreatePackageManager(repository, useFallbackForDependencies: false); foreach (var package in packages) { if (IsPackageInstalled(fileSystem, package.Id, package.Version)) { continue; } using (packageManager.SourceRepository.StartOperation(RepositoryOperationNames.Restore, package.Id, package.Version.ToString())) { var resolvedPackage = PackageHelper.ResolvePackage( packageManager.SourceRepository, package.Id, package.Version); NuGet.Common.PackageExtractor.InstallPackage(packageManager, resolvedPackage); } } }
public void PackageRestoreRepositoryGetPackagesReturnsPrimaryRepositoryPackages() { var mockRepository1 = new MockPackageRepository(); var mockRepository2 = new MockPackageRepository(); mockRepository1.AddPackage(PackageUtility.CreatePackage("A")); mockRepository1.AddPackage(PackageUtility.CreatePackage("B")); mockRepository2.AddPackage(PackageUtility.CreatePackage("C")); var packageRestoreRepository = new PriorityPackageRepository(mockRepository1, mockRepository2); var packages = packageRestoreRepository.GetPackages().ToList(); Assert.Equal(2, packages.Count); Assert.Equal("A", packages[0].Id); Assert.Equal("B", packages[1].Id); }
private static List <MemoryStream> GetZipStreams() { var sourcerepo = new PriorityPackageRepository(MachineCache.Default, new PackageSourceProvider(Settings.LoadDefaultSettings(new PhysicalFileSystem("C:\\"), null, null)).CreateAggregateRepository(PackageRepositoryFactory.Default, true)); // Just headers, no content dloaded yet (not much, at least) List <IPackage> ipackages = LargePackageIds.Select(pkgid => sourcerepo.FindPackage(pkgid.Id, pkgid.Version)).ToList(); // Get the ZIPs List <MemoryStream> zips = ipackages.Select(ipkg => { var mems = new MemoryStream(); ipkg.GetStream().CopyTo(mems); return(mems); }).ToList(); return(zips); }
/// <summary> /// Restores the given package into the packages folder represented by 'fileSystem'. /// </summary> /// <param name="package">The package to be restored.</param> private void RestorePackage(PackageReference package) { WriteLine(VerbosityLevel.Normal, Resources.RestoringPackage, package); // during package restore, use local cache as the primary source, other active sources // as secondary source. var activePackageSourceRepository = ServiceLocator.GetInstance <IPackageRepository>(); var repository = new PriorityPackageRepository(NuGet.MachineCache.Default, activePackageSourceRepository); IVsPackageManagerFactory packageManagerFactory = ServiceLocator.GetInstance <IVsPackageManagerFactory>(); var packageManager = packageManagerFactory.CreatePackageManager(repository, useFallbackForDependencies: false); using (packageManager.SourceRepository.StartOperation(RepositoryOperationNames.Restore, package.Id, package.Version.ToString())) { var resolvedPackage = PackageHelper.ResolvePackage( packageManager.SourceRepository, package.Id, package.Version); NuGet.Common.PackageExtractor.InstallPackage(packageManager, resolvedPackage); WriteLine(VerbosityLevel.Normal, Resources.PackageRestored, resolvedPackage); } }
public void PackageRestoreRepositorySupportsPrereleasePackagesReturnsValueOfPrimaryRepository() { var mockRepository1 = new Mock<IPackageRepository>(); var mockRepository2 = new Mock<IPackageRepository>(); mockRepository1.Setup(p => p.SupportsPrereleasePackages).Returns(false); mockRepository2.Setup(p => p.SupportsPrereleasePackages).Returns(true); var packageRestoreRepository = new PriorityPackageRepository(mockRepository1.Object, mockRepository2.Object); Assert.Equal(false, packageRestoreRepository.SupportsPrereleasePackages); }
/// <summary> /// Restores the given package into the packages folder represented by 'fileSystem'. /// </summary> /// <param name="package">The package to be restored.</param> private void RestorePackage(PackageReference package) { WriteLine(VerbosityLevel.Normal, Resources.RestoringPackage, package); // during package restore, use local cache as the primary source, other sources // as secondary source. IVsPackageManagerFactory packageManagerFactory = ServiceLocator.GetInstance<IVsPackageManagerFactory>(); var allSources = packageManagerFactory.CreatePackageManagerWithAllPackageSources().SourceRepository; var repository = new PriorityPackageRepository(NuGet.MachineCache.Default, allSources); var packageManager = packageManagerFactory.CreatePackageManager(repository, useFallbackForDependencies: false); using (packageManager.SourceRepository.StartOperation(RepositoryOperationNames.Restore, package.Id, package.Version.ToString())) { var resolvedPackage = PackageHelper.ResolvePackage( packageManager.SourceRepository, package.Id, package.Version); NuGet.Common.PackageExtractor.InstallPackage(packageManager, resolvedPackage); WriteLine(VerbosityLevel.Normal, Resources.PackageRestored, resolvedPackage); } }