async Task <NuGetVersion> GetLatestPackageVersion(
            IEnumerable <SourceRepository> repositories,
            DependencyBehavior dependencyBehavior,
            SourceCacheContext sourceCacheContext,
            CancellationToken token)
        {
            var latestVersionContext = new ResolutionContext(
                dependencyBehavior,
                message.AllowPrerelease,
                false,
                VersionConstraints.None,
                new GatherCache(),
                sourceCacheContext
                );

            ResolvedPackage resolvedPackage = await packageManager.GetLatestVersionAsync(
                message.PackageId,
                nugetProject,
                latestVersionContext,
                repositories,
                new ProjectContextLogger (projectContext),
                token);

            if (resolvedPackage?.LatestVersion == null)
            {
                throw new InvalidOperationException(GettextCatalog.GetString("Unable to find package '{0}", message.PackageId));
            }

            return(resolvedPackage?.LatestVersion);
        }
        async Task ExecuteAsync(CancellationToken cancellationToken)
        {
            if (Version == null)
            {
                ResolvedPackage resolvedPackage = await GetLatestPackageVersion(PackageId, cancellationToken);

                Version = resolvedPackage?.LatestVersion;
            }

            var identity = new PackageIdentity(PackageId, Version);

            var resolutionContext = CreateResolutionContext();

            actions = await packageManager.PreviewInstallPackageAsync(
                project,
                identity,
                resolutionContext,
                context,
                primarySources,
                secondarySources,
                cancellationToken);

            if (LicensesMustBeAccepted)
            {
                await CheckLicenses(cancellationToken);
            }

            if (ShouldOpenReadmeFile(identity))
            {
                packageManager.SetDirectInstall(identity, context);
            }

            using (IDisposable fileMonitor = CreateFileMonitor()) {
                using (var referenceMaintainer = CreateProjectReferenceMaintainer()) {
                    await packageManager.ExecuteNuGetProjectActionsAsync(
                        project,
                        actions,
                        context,
                        resolutionContext.SourceCacheContext,
                        cancellationToken);

                    if (referenceMaintainer != null)
                    {
                        await referenceMaintainer.ApplyChanges();
                    }
                }
            }

            packageManager.ClearDirectInstall(context);

            project.OnAfterExecuteActions(actions);

            await project.RunPostProcessAsync(context, cancellationToken);
        }
Пример #3
0
        public Task <ResolvedPackage> GetLatestVersionAsync(
            string packageId,
            NuGetProject project,
            ResolutionContext resolutionContext,
            IEnumerable <SourceRepository> sources,
            ILogger log,
            CancellationToken token)
        {
            GetLatestVersionPackageId         = packageId;
            GetLatestVersionProject           = project;
            GetLatestVersionResolutionContext = resolutionContext;
            GetLatestVersionSources           = sources.ToList();
            GetLatestVersionLogger            = log;
            GetLatestVersionCancellationToken = token;

            var resolvedPackage = new ResolvedPackage(LatestVersion, true);

            return(Task.FromResult(resolvedPackage));
        }
Пример #4
0
 public PackageMissingResult(ResolvedPackage result)
     : base(result)
 {
     Type = CommandResultType.Error;
 }
Пример #5
0
 public PackageMissingResult(ResolvedPackage result)
     : base(result)
 {
 }
Пример #6
0
 public PackageResolveError(ResolvedPackage result)
 {
     Package = result;
 }
Пример #7
0
 static PackageOperationResult PackageMissing(ResolvedPackage resolvedPackage)
 {
     return new PackageMissingResult(resolvedPackage);
 }
Пример #8
0
 public PackageMissingResult(ResolvedPackage result)
     : base(result)
 {
 }
Пример #9
0
 static IPackageInfo GetExistingPackage(ISupportPublishing destinationRepository, ResolvedPackage foundPackage, Func<Version, bool> versionSelector)
 {
     return destinationRepository.PackagesByName.Contains(foundPackage.Identifier.Name)
                    ? destinationRepository.PackagesByName[foundPackage.Identifier.Name]
                              .Where(x => foundPackage.Identifier.Version != null && versionSelector(x.Version))
                              .OrderByDescending(x => x.Version)
                              .FirstOrDefault()
                    : null;
 }
Пример #10
0
 public PackageConflictResult(ResolvedPackage result)
     : base(result)
 {
 }
Пример #11
0
 static PackageOperationResult PackageMissing(ResolvedPackage resolvedPackage)
 {
     return(new PackageMissingResult(resolvedPackage));
 }
Пример #12
0
 static PackageOperationResult PackageConflict(ResolvedPackage resolvedPackage)
 {
     return(new PackageConflictResult(resolvedPackage));
 }
Пример #13
0
 static IPackageInfo GetExistingPackage(IPackageRepository destinationRepository, ResolvedPackage foundPackage, Func <Version, bool> versionSelector)
 {
     return(destinationRepository.PackagesByName.Contains(foundPackage.Identifier.Name)
                    ? destinationRepository.PackagesByName[foundPackage.Identifier.Name]
            .Where(x => foundPackage.Identifier.Version != null && versionSelector(x.Version))
            .OrderByDescending(x => x.Version)
            .FirstOrDefault()
                    : null);
 }
Пример #14
0
 public PackageMissingResult(ResolvedPackage result)
     : base(result)
 {
     Type = CommandResultType.Error;
 }
Пример #15
0
        private static void Run(ResolvedPackage resolvedPackage)
        {
            var runner = new Runner();

            runner.Run(resolvedPackage);
        }
Пример #16
0
 static PackageOperationResult PackageConflict(ResolvedPackage resolvedPackage)
 {
     return new PackageConflictResult(resolvedPackage);
 }
Пример #17
0
 public PackageConflictResult(ResolvedPackage result)
     : base(result)
 {
 }
Пример #18
0
 public PackageResolveError(ResolvedPackage result)
 {
     Package = result;
 }