public void ClearPackageErrors(IPackage package) { var packagePreUpdate = package.Clone(); package.ClearErrors(); onPackagesChanged?.Invoke(k_EmptyList, k_EmptyList, new[] { packagePreUpdate }, new[] { package }); }
/// <inheritdoc /> public void Install(IRepositoryInstalled repository, IPackage package) { if (!IsInstalled(repository, package)) { repository.AddPackage((IPackage)package.Clone()); } }
public void AddPackageError(IPackage package, Error error) { var packagePreUpdate = package.Clone(); package.AddError(error); onPackagesChanged?.Invoke(k_EmptyList, k_EmptyList, new[] { packagePreUpdate }, new[] { package }); }
/// <inheritdoc /> public virtual void Update(IRepositoryInstalled repository, IPackage initial, IPackage target) { if (!repository.HasPackage(initial)) { throw new InvalidArgumentException($"Package is not installed: {initial}"); } installerBinary.Remove(initial); UpdateLibrary(initial, target); installerBinary.Install(target, GetInstallPath(target)); repository.RemovePackage(initial); if (!repository.HasPackage(target)) { repository.AddPackage((IPackage)target.Clone()); } }
/// <inheritdoc /> public void Update(IRepositoryInstalled repository, IPackage initial, IPackage target) { if (!repository.HasPackage(initial)) { throw new InvalidArgumentException($"Package is not installed: {initial}"); } var name = target.GetName(); var from = initial.GetVersionPrettyFull(); var to = target.GetVersionPrettyFull(); var actionName = VersionParser.IsUpgrade(initial.GetVersion(), target.GetVersion()) ? "Updating" : "Downgrading"; io.WriteError($" - {actionName} <info>{name}</info> (<comment>{from}</comment> => <comment>{to}</comment>)"); repository.RemovePackage(initial); repository.AddPackage((IPackage)target.Clone()); }
/// <inheritdoc /> public virtual void Install(IRepositoryInstalled repository, IPackage package) { var installPath = GetInstallPath(package); // remove the binaries if it appears the package files are missing. if (!fileSystem.Exists(installPath, FileSystemOptions.Directory) && repository.HasPackage(package)) { installerBinary.Remove(package); } InstallLibaray(package); installerBinary.Install(package, installPath); if (!repository.HasPackage(package)) { repository.AddPackage((IPackage)package.Clone()); } }
/// <summary> /// Erstellt einen neuen Log Eintrag. /// </summary> /// <param name="package">Das zu loggende Paket.</param> /// <param name="origin">Die Herkunft des Paketes.</param> /// <param name="timeStamp">Der Zeitpunkt des Log Eintrages.</param> public PackageLogEntry(IPackage package, PackageOrigin origin, DateTime timeStamp) { Package = package.Clone().hideFields(); Origin = origin; TimeStamp = timeStamp; }
/// <inheritdoc /> public void Install(IRepositoryInstalled repository, IPackage package) { io.WriteError($" - Installing <info>{package.GetName()}</info> (<comment>{package.GetVersionPrettyFull()}</comment>)"); repository.AddPackage((IPackage)package.Clone()); }