示例#1
0
        internal async Task DownloadAndOpenDataServicePackage(string packageUrl, string id = null, NuGetVersion version = null)
        {
            if (!NetworkInterface.GetIsNetworkAvailable())
            {
                UIServices.Show(
                    StringResources.NoNetworkConnection,
                    MessageLevel.Warning);
                return;
            }

            if (id != null && version != null && Uri.TryCreate(packageUrl, UriKind.Absolute, out var downloadUrl))
            {
                var repository      = PackageRepositoryFactory.CreateRepository(packageUrl);
                var packageIdentity = new NuGet.Packaging.Core.PackageIdentity(id, version);

                var downloadedPackage = await PackageDownloader.Download(repository, packageIdentity);

                if (downloadedPackage != null)
                {
                    LoadPackage(downloadedPackage, packageUrl, PackageType.RemotePackage);
                }
            }
            else
            {
                UIServices.Show(
                    string.Format(
                        CultureInfo.CurrentCulture,
                        StringResources.Dialog_InvalidPackageUrl,
                        packageUrl),
                    MessageLevel.Error
                    );
            }
        }
示例#2
0
        public bool PackageExist(PackageKey package)
        {
            var findLocalPackagesResource = _sourceRepository.GetResource <PackageMetadataResource>();

            var packageIdentity = new NuGet.Packaging.Core.PackageIdentity(package.PackageId, package.Version);

            return(findLocalPackagesResource.GetMetadataAsync(packageIdentity, NullSourceCacheContext.Instance, NullLogger.Instance, CancellationToken.None).Result != null);
        }
 public PackageNotFoundException(NuGet.Packaging.Core.PackageIdentity package, IEnumerable <NuGet.Protocol.Core.Types.SourceRepository> repositories)
     : base(
         string.Format("Package {0} V{1} not found in any of the provided repositories: {2}. See the log for more error details.",
                       package.Id,
                       package.Version,
                       String.Join(", ", repositories))
         )
 {
 }
        private static LocalPackageInfo?GetPackageInfo(InstalledPackageReference packageReference, IEnumerable <LockFileItem> folders)
        {
            var packageIdentity = new NuGet.Packaging.Core.PackageIdentity(packageReference.Name, packageReference.ResolvedVersion);

            foreach (var folder in folders)
            {
                var packageInfo = LocalFolderUtility.GetPackageV3(folder.Path, packageIdentity, Logger);
                return(packageInfo);
            }

            return(null);
        }
示例#5
0
        public Stream Download(PackageKey key)
        {
            var packageIdentity = new NuGet.Packaging.Core.PackageIdentity(key.PackageId, key.Version);

            var downloadResource = _sourceRepository.GetResource <DownloadResource>();

            var packageDownloadContext = new PackageDownloadContext(new SourceCacheContext {
                DirectDownload = true, NoCache = true
            }, Path.GetTempPath(), true);
            var result = downloadResource.GetDownloadResourceResultAsync(packageIdentity, packageDownloadContext,
                                                                         null, new NullLogger(), CancellationToken.None).Result;

            return(result.PackageStream);
        }
示例#6
0
        public PackageManifest GetManifest(PackageKey key, NuGet.Frameworks.NuGetFramework projectFramework)
        {
            Guard.NotNull(projectFramework, nameof(projectFramework));

            var packageIdentity = new NuGet.Packaging.Core.PackageIdentity(key.PackageId, key.Version);

            var packagesResource = _sourceRepository.GetResource <PackageMetadataResource>();
            var packageInfo      = packagesResource.GetMetadataAsync(packageIdentity, NullSourceCacheContext.Instance, NullLogger.Instance, CancellationToken.None).Result;

            NuGet.Packaging.PackageDependencyGroup dependencies = null;

            if (packageInfo.DependencySets.Count() == 1 && packageInfo.DependencySets.First().TargetFramework.IsUnsupported)
            {
                dependencies = packageInfo.DependencySets.First();
            }

            else if (packageInfo.DependencySets.Any())
            {
                dependencies = NuGetFrameworkUtility.GetNearest(packageInfo.DependencySets, projectFramework);

                if (dependencies == null)
                {
                    throw new ApplicationException($"Could not find compatible dependencies for '{packageInfo.Identity}' and framework '{projectFramework}'");
                }
            }

            var manifest = new PackageManifest
            {
                PackageId    = packageInfo.Identity.Id,
                Version      = packageInfo.Identity.Version,
                Dependencies = new List <PackageDependency>()
            };

            if (dependencies == null)
            {
                return(manifest);
            }

            foreach (var dependency in dependencies.Packages)
            {
                manifest.Dependencies.Add(new PackageDependency(dependency.Id, dependency.VersionRange));
            }

            return(manifest);
        }
        public void CheckPathAreExpected()
        {
            var applicationDataService = ServiceLocator.Default.ResolveType <IAppDataService>();
            var contentPath            = System.IO.Path.Combine(applicationDataService.GetApplicationDataDirectory(Catel.IO.ApplicationDataTarget.UserRoaming),
                                                                @"WildGums\PM\");
            var pathResolver             = new PackagePathResolver(contentPath);
            var pathResolverNoSideBySide = new PackagePathResolver(contentPath, false);

            var dummyPackage             = new NuGet.Packaging.Core.PackageIdentity("MyApp", new NuGet.Versioning.NuGetVersion(1, 0, 0));
            var installPath              = pathResolver.GetInstallPath(dummyPackage);
            var installedPackageFilePath = pathResolver.GetInstalledPackageFilePath(dummyPackage);
            var installedPath            = pathResolver.GetInstalledPath(dummyPackage);
            var packageDirectoryName     = pathResolver.GetPackageDirectoryName(dummyPackage);
            var packageFileName          = pathResolver.GetPackageFileName(dummyPackage);

            // We are expecting no packages installed on this path, therefore all "installed" path methods returning null
            Assert.IsNull(installedPackageFilePath);
            Assert.IsNull(installedPath);

            Assert.AreEqual("C:\\Users\\JustAnotherUser\\AppData\\Roaming\\Microsoft Corporation\\Microsoft.TestHost\\WildGums\\PM\\MyApp.1.0.0", installPath);
            Assert.AreEqual("MyApp.1.0.0.nupkg", packageFileName);
            Assert.AreEqual("MyApp.1.0.0", packageDirectoryName);
        }
示例#8
0
 public static NuGet.Protocol.Core.Types.PackageSearchMetadataBuilder FromIdentity(NuGet.Packaging.Core.PackageIdentity identity)
 {
     throw null;
 }
示例#9
0
 public PackageProgressEventArgs(NuGet.Packaging.Core.PackageIdentity identity, NuGet.Configuration.PackageSource source, double complete)
 {
 }
示例#10
0
 public abstract System.Threading.Tasks.Task <bool> Exists(NuGet.Packaging.Core.PackageIdentity identity, bool includeUnlisted, NuGet.Common.ILogger log, System.Threading.CancellationToken token);
示例#11
0
 public System.Threading.Tasks.Task <bool> Exists(NuGet.Packaging.Core.PackageIdentity identity, NuGet.Common.ILogger log, System.Threading.CancellationToken token)
 {
     throw null;
 }
示例#12
0
 public abstract System.Threading.Tasks.Task <NuGet.Protocol.Core.Types.SourcePackageDependencyInfo> ResolvePackage(NuGet.Packaging.Core.PackageIdentity package, NuGet.Frameworks.NuGetFramework projectFramework, NuGet.Common.ILogger log, System.Threading.CancellationToken token);
 public System.Threading.Tasks.Task <NuGet.Packaging.IPackageDownloader> GetPackageDownloaderAsync(NuGet.Packaging.Core.PackageIdentity packageIdentity, NuGet.Protocol.Core.Types.SourceCacheContext cacheContext, NuGet.Common.ILogger logger, System.Threading.CancellationToken cancellationToken)
 {
     throw null;
 }
 public abstract System.Threading.Tasks.Task <NuGet.Protocol.Core.Types.DownloadResourceResult> GetDownloadResourceResultAsync(NuGet.Packaging.Core.PackageIdentity identity, NuGet.Protocol.Core.Types.PackageDownloadContext downloadContext, string globalPackagesFolder, NuGet.Common.ILogger logger, System.Threading.CancellationToken token);
 public abstract System.Threading.Tasks.Task <NuGet.Protocol.Core.Types.IPackageSearchMetadata> GetMetadataAsync(NuGet.Packaging.Core.PackageIdentity package, NuGet.Common.ILogger log, System.Threading.CancellationToken token);
示例#16
0
 public RemoteSourceDependencyInfo(NuGet.Packaging.Core.PackageIdentity identity, bool listed, System.Collections.Generic.IEnumerable <NuGet.Packaging.PackageDependencyGroup> dependencyGroups, string contentUri)
 {
 }
示例#17
0
 public SourcePackageDependencyInfo(NuGet.Packaging.Core.PackageIdentity identity, System.Collections.Generic.IEnumerable <NuGet.Packaging.Core.PackageDependency> dependencies, bool listed, NuGet.Protocol.Core.Types.SourceRepository source, System.Uri downloadUri, string packageHash) : base(default(string), default(NuGet.Versioning.NuGetVersion))
 {
 }
示例#18
0
 public PackageDependencyInfo(NuGet.Packaging.Core.PackageIdentity identity, System.Collections.Generic.IEnumerable <NuGet.Packaging.Core.PackageDependency> dependencies) : base(default(string), default(NuGet.Versioning.NuGetVersion))
 {
 }
示例#19
0
 public abstract System.Threading.Tasks.Task <NuGet.Protocol.Core.Types.DownloadResourceResult> GetDownloadResourceResultAsync(NuGet.Packaging.Core.PackageIdentity identity, NuGet.Configuration.ISettings settings, NuGet.Common.ILogger logger, System.Threading.CancellationToken token);
 public static PackageIdentity ToPackageIdentity(this NuGet.Packaging.Core.PackageIdentity source) =>
 new PackageIdentity(source.Id, source.Version.ToPackageVersion());