public void SaveProjectManifestStore(ProjectManifestStore projectManifestStore)
 {
   _log.Info("Saving: " + projectManifestStore.RootDirectory.AsString);
   foreach (ProjectManifest manifest in projectManifestStore)
   {
     Purl manifestPath = projectManifestStore.RootDirectory.Join(manifest.FileName);
     SaveProjectManifest(manifest, manifestPath);
   }
 }
 public ProjectManifestStore FindProjectManifestStore(Purl path)
 {
   _log.Info("Loading: " + path.AsString);
   if (_cache.ContainsKey(path))
   {
     return _cache[path];
   }
   ProjectManifestStore manifestStore = new ProjectManifestStore(path, ReadManifests(path));
   _cache[manifestStore.RootDirectory] = manifestStore;
   return manifestStore;
 }
 public static IEnumerable<ProjectReference> FindProjectReferences(RepositorySet repositorySet, Project project, ProjectManifestStore manifestStore)
 {
   foreach (ProjectManifest manifest in manifestStore)
   {
     ProjectFromRepository projectFromRepository = repositorySet.FindProject(manifest.ProjectName);
     if (projectFromRepository == null)
     {
       yield return BrokenProjectReference.MissingProject(manifest);
       continue;
     }
     ArchivedProjectVersion version = projectFromRepository.Project.FindVersionInManifest(manifest);
     if (version == null)
     {
       yield return BrokenProjectReference.MissingVersion(manifest);
       continue;
     }
     ArchivedProjectAndVersion archivedProjectAndVersion = new ArchivedProjectAndVersion(projectFromRepository, version);
     yield return new HealthyProjectReference(project, archivedProjectAndVersion);
   }
 }
 public ProjectDependencyDirectory(Project project, ArchivedProject dependency)
 {
   _dependency = dependency;
   _path = project.DependencyPackageDirectoryFor(dependency);
   _manifests = Infrastructure.ProjectManifestRepository.FindProjectManifestStore(_path);
 }
 public CurrentProject(string name, ProjectDirectory rootDirectory, ProjectDirectory buildDirectory, ProjectDirectory libraryDirectory, RepositorySet repositorySet, ProjectManifestStore manifests)
   : base(name, rootDirectory, buildDirectory, libraryDirectory)
 {
   _repositorySet = repositorySet;
   _manifests = manifests;
 }