Example #1
0
 private void UpdatePackages(IPackageRepository packageRepository, PackageUpdateMode updateMode, bool updateDependencies, bool allowPrereleaseVersions, ILogger logger, IPackageOperationEventListener eventListener)
 {
     UpdatePackages(
         packageRepository,
         package => UpdatePackage(package.Id, updateMode, updateDependencies, allowPrereleaseVersions, logger, eventListener),
         logger);
 }
Example #2
0
        private IVersionSpec GetUpgradeVersionSpec(string packageId, PackageUpdateMode updateMode)
        {
            bool     appliesToProject;
            IPackage package = FindLocalPackage(packageId, out appliesToProject);

            return(VersionUtility.GetUpgradeVersionSpec(package.Version, updateMode));
        }
Example #3
0
        public static IVersionSpec GetUpgradeVersionSpec(SemanticVersion version, PackageUpdateMode updateMode)
        {
            var spec = new VersionSpec
            {
                IsMinInclusive = false,
                IsMaxInclusive = false,
                MinVersion     = version,
            };

            switch (updateMode)
            {
            case PackageUpdateMode.Minor:
                spec.MaxVersion = new SemanticVersion(new Version(version.Version.Major + 1, 0));
                break;

            case PackageUpdateMode.Safe:
                spec.MaxVersion = new SemanticVersion(new Version(version.Version.Major, version.Version.Minor + 1));
                break;

            case PackageUpdateMode.Newest:
                spec.IsMaxInclusive = true;
                break;

            default:
                // TODO: resx
                throw new ArgumentException("Unsupported PackageUpdateMode " + updateMode, "updateMode");
            }

            return(spec);
        }
Example #4
0
        internal void UpdatePackages(IPackageRepository localRepository,
                                     IProjectManager projectManager)
        {
            foreach (var package in GetPackages(localRepository))
            {
                if (localRepository.Exists(package.Id))
                {
                    try
                    {
                        // If the user explicitly allows prerelease or if the package being updated is prerelease we'll include prerelease versions in our list of packages
                        // being considered for an update.
                        bool allowPrerelease = Prerelease || !package.IsReleaseVersion();

                        PackageUpdateMode updateMode = PackageUpdateMode.Newest;

                        if (Safe)
                        {
                            updateMode = PackageUpdateMode.Safe;
                        }
                        else if (Minor)
                        {
                            updateMode = PackageUpdateMode.Minor;
                        }

                        var spec = VersionUtility.GetUpgradeVersionSpec(package.Version, updateMode);
                        projectManager.UpdatePackageReference(package.Id, spec, updateDependencies: true, allowPrereleaseVersions: allowPrerelease);
                    }
                    catch (InvalidOperationException e)
                    {
                        Console.WriteWarning(e.Message);
                    }
                }
            }
        }
Example #5
0
 public void UpdatePackage(IProjectManager projectManager, string packageId, PackageUpdateMode updateMode, bool updateDependencies, bool allowPrereleaseVersions, ILogger logger)
 {
     UpdatePackage(projectManager,
                   packageId,
                   () => UpdatePackageReference(projectManager, packageId, GetUpgradeVersionSpec(projectManager, packageId, updateMode), updateDependencies, allowPrereleaseVersions),
                   () => SourceRepository.FindPackage(packageId, GetUpgradeVersionSpec(packageId, updateMode), allowPrereleaseVersions: false, allowUnlisted: false),
                   updateDependencies,
                   allowPrereleaseVersions,
                   logger);
 }
Example #6
0
 public void UpdatePackages(IProjectManager projectManager, PackageUpdateMode updateMode, bool updateDependencies, bool allowPrereleaseVersions, ILogger logger)
 {
     UpdatePackages(projectManager, updateDependencies, updateMode: updateMode, allowPrereleaseVersions: allowPrereleaseVersions, logger: logger);
 }
Example #7
0
 public void UpdatePackages(PackageUpdateMode updateMode, bool updateDependencies, bool allowPrereleaseVersions, ILogger logger, IPackageOperationEventListener eventListener)
 {
     UpdatePackages(packageRepository: LocalRepository, updateMode: updateMode, updateDependencies: updateDependencies, allowPrereleaseVersions: allowPrereleaseVersions, logger: logger, eventListener: eventListener);
 }
Example #8
0
 private void UpdatePackages(IProjectManager projectManager, bool updateDependencies, PackageUpdateMode updateMode, bool allowPrereleaseVersions, ILogger logger)
 {
     UpdatePackages(
         projectManager.LocalRepository,
         package => UpdatePackage(projectManager, package.Id, updateMode, updateDependencies, allowPrereleaseVersions, logger),
         logger);
 }
Example #9
0
 public void UpdatePackage(IProjectManager projectManager, string packageId, PackageUpdateMode updateMode, bool updateDependencies, bool allowPrereleaseVersions, ILogger logger)
 {
     UpdatePackage(projectManager,
                   packageId,
                   () => UpdatePackageReference(projectManager, packageId, GetUpgradeVersionSpec(projectManager, packageId, updateMode), updateDependencies, allowPrereleaseVersions),
                   () => SourceRepository.FindPackage(packageId, GetUpgradeVersionSpec(packageId, updateMode), allowPrereleaseVersions: false, allowUnlisted: false),
                   updateDependencies,
                   allowPrereleaseVersions,
                   logger);
 }
Example #10
0
 public void UpdatePackages(IProjectManager projectManager, PackageUpdateMode updateMode, bool updateDependencies, bool allowPrereleaseVersions, ILogger logger)
 {
     UpdatePackages(projectManager, updateDependencies, updateMode: updateMode, allowPrereleaseVersions: allowPrereleaseVersions, logger: logger);
 }
Example #11
0
 public void UpdatePackages(PackageUpdateMode updateMode, bool updateDependencies, bool allowPrereleaseVersions, ILogger logger, IPackageOperationEventListener eventListener)
 {
     UpdatePackages(packageRepository: LocalRepository, updateMode: updateMode, updateDependencies: updateDependencies, allowPrereleaseVersions: allowPrereleaseVersions, logger: logger, eventListener: eventListener);
 }
Example #12
0
 private IVersionSpec GetUpgradeVersionSpec(IProjectManager projectManager, string packageId, PackageUpdateMode updateMode)
 {
     bool appliesToProject;
     IPackage package = FindLocalPackageForUpdate(projectManager, packageId, out appliesToProject);
     return VersionUtility.GetUpgradeVersionSpec(package.Version, updateMode);
 }
Example #13
0
 private void UpdatePackages(IPackageRepository packageRepository, PackageUpdateMode updateMode, bool updateDependencies, bool allowPrereleaseVersions, ILogger logger, IPackageOperationEventListener eventListener)
 {
     UpdatePackages(
         packageRepository,
         package => UpdatePackage(package.Id, updateMode, updateDependencies, allowPrereleaseVersions, logger, eventListener),
         logger);
 }
Example #14
0
 private void UpdatePackages(IProjectManager projectManager, bool updateDependencies, PackageUpdateMode updateMode, bool allowPrereleaseVersions, ILogger logger)
 {
     UpdatePackages(
         projectManager.LocalRepository,
         package => UpdatePackage(projectManager, package.Id, updateMode, updateDependencies, allowPrereleaseVersions, logger),
         logger);
 }