IQueryable <IPackage> GetUpdatedPackages() { IPackageRepository aggregateRepository = registeredPackageRepositories.CreateAggregateRepository(); UpdatedPackages updatedPackages = CreateUpdatedPackages(aggregateRepository); updatedPackages.SearchTerms = Filter; return(updatedPackages.GetUpdatedPackages().AsQueryable()); }
IQueryable <IPackage> GetUpdatedPackages() { IPackageRepository aggregateRepository = registeredPackageRepositories.CreateAggregateRepository(); IPackageManagementProject project = GetSelectedProject(aggregateRepository); var updatedPackages = new UpdatedPackages(project, aggregateRepository); updatedPackages.SearchTerms = Filter; return(updatedPackages.GetUpdatedPackages().AsQueryable()); }
void CreateUpdatedPackages() { sourceRepository.GetUpdatesAction = (packagesNames, includePrerelease, includeAllVersions, targetFrameworks, versionConstraints) => { includePreleaseUsedWhenCheckingForUpdates = includePrerelease; packageNamesUsedWhenCheckingForUpdates.AddRange(packagesNames.Select(p => (IPackageName)p)); return(sourceRepositoryPackages.AsQueryable()); }; updatedPackages = new UpdatedPackages(project, sourceRepository); }
IQueryable <IPackage> GetUpdatedPackages() { IPackageRepository repository = CreatePackageRepositoryForActivePackageSource(); UpdatedPackages updatedPackages = CreateUpdatedPackages(repository); updatedPackages.SearchTerms = Filter; return(updatedPackages .GetUpdatedPackages(IncludePrerelease) .AsQueryable()); }
void CreateUpdatedPackages() { sourceRepository .Stub(repository => repository.GetPackages()) .Return(sourceRepositoryPackages.AsQueryable()); sourceRepository .Stub(repository => repository.GetUpdates( Arg <IEnumerable <IPackage> > .Is.Anything, Arg <bool> .Is.Anything, Arg <bool> .Is.Anything, Arg <IEnumerable <FrameworkName> > .Is.Anything, Arg <IEnumerable <IVersionSpec> > .Is.Anything)) .WhenCalled(call => { includePreleaseUsedWhenCheckingForUpdates = (bool)call.Arguments[1]; packagesUsedWhenCheckingForUpdates.AddRange(call.Arguments[0] as IEnumerable <IPackage>); }) .Return(sourceRepositoryPackages.AsQueryable()); updatedPackages = new UpdatedPackages(installedPackages.AsQueryable(), sourceRepository); }
void CreateUpdatedPackages(IPackageRepository repository) { updatedPackages = new UpdatedPackages(project, repository); }
/// <summary> /// Visists a project. /// </summary> /// <param name="directory">The directory of the project.</param> /// <param name="config">The <see cref="GitDependFile"/> with project configuration information.</param> /// <returns>The return code.</returns> public ReturnCode VisitProject(string directory, GitDependFile config) { if (config == null) { return(ReturnCode = ReturnCode.Success); } // If there are specific dependencies specified // and this one isn't in the list // skip it. if (_whitelist.Any() && _whitelist.All(d => !string.Equals(d, config.Name, StringComparison.InvariantCultureIgnoreCase))) { return(ReturnCode.Success); } if (string.IsNullOrEmpty(directory) || !_fileSystem.Directory.Exists(directory)) { return(ReturnCode = ReturnCode.DirectoryDoesNotExist); } StringBuilder commitMessage = new StringBuilder(); commitMessage.AppendLine("GitDepend: updating dependencies"); commitMessage.AppendLine(); var solutions = _fileSystem.Directory.GetFiles(directory, "*.sln", SearchOption.AllDirectories); foreach (var solution in solutions) { _nuget.Restore(solution); } foreach (var solution in solutions) { var path = solution.Remove(0, directory.Length + 1); commitMessage.AppendLine(path); foreach (var dependency in config.Dependencies) { // If there are specific dependencies specified // and this one isn't in the list // skip it. if (_whitelist.Any() && _whitelist.All(d => !string.Equals(d, dependency.Configuration.Name, StringComparison.InvariantCultureIgnoreCase))) { continue; } var dependencyDir = _fileSystem.Path.GetFullPath(_fileSystem.Path.Combine(directory, dependency.Directory)); var dir = _fileSystem.Path.GetFullPath(_fileSystem.Path.Combine(dependencyDir, dependency.Configuration.Packages.Directory)); foreach (var file in _fileSystem.Directory.GetFiles(dir, "*.nupkg")) { var name = _fileSystem.Path.GetFileNameWithoutExtension(file); if (string.IsNullOrEmpty(name)) { continue; } var match = Pattern.Match(name); if (!match.Success) { continue; } var id = match.Groups["id"].Value; var version = match.Groups["version"].Value; commitMessage.AppendLine($"* {id}.{version}"); _nuget.WorkingDirectory = directory; var cacheDir = GetCacheDirectory(); if (string.IsNullOrEmpty(cacheDir)) { return(ReturnCode = ReturnCode.CouldNotCreateCacheDirectory); } _nuget.Update(solution, id, version, cacheDir); var package = $"{id}.{version}"; if (!UpdatedPackages.Contains(package)) { UpdatedPackages.Add(package); } } } } _console.WriteLine("================================================================================"); _console.WriteLine($"Making update commit on {directory}"); _git.WorkingDirectory = directory; _git.Add("*.csproj", @"*\packages.config"); _console.WriteLine("================================================================================"); _git.Status(); _git.Commit(commitMessage.ToString()); return(ReturnCode = ReturnCode.Success); }
public override string ToString() { return($"Validation {(Outcome ? "succeeded" : "failed")} with {UpdatedPackages.Count()} matched assets ({DurationMilliseconds:N0}-ms)"); }