void NotifyClient(IFile wrapPath, IPackageAssembliesListener listener) { if (!_notificationClients.ContainsKey(wrapPath.Path)) return; var d = _notificationClients[wrapPath.Path]; d.Repository.RefreshPackages(); var parsedDescriptor = new PackageDescriptorReaderWriter().Read(wrapPath); listener.AssembliesUpdated(PackageResolver.GetAssemblyReferences(false, listener.Environment, parsedDescriptor, d.Repository)); }
public void ProcessWrapDescriptor(IFile wrapFile, IPackageRepository packageRepository, IPackageAssembliesListener listener) { if (!wrapFile.Exists) return; if (packageRepository == null) throw new ArgumentNullException("packageRepository"); if (listener == null) throw new ArgumentNullException("listener"); var descriptor = GetDescriptor(wrapFile, packageRepository); if (listener.IsLongRunning) descriptor.Clients.Add(listener); NotifyClient(wrapFile, listener); }