예제 #1
0
 public ProjectReference AddReference(ArchivedProjectAndVersion archivedProjectAndVersion)
 {
   _manifests.AddManifestFor(archivedProjectAndVersion);
   ProjectReference projectReference = new HealthyProjectReference(this, archivedProjectAndVersion);
   _references = null;
   return projectReference;
 }
 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);
   }
 }
예제 #3
0
 public ProjectManifest MakeManifestFor(ArchivedProjectAndVersion version)
 {
   return new ProjectManifest(this.Name, version.Version.Number);
 }
 public void UpdateInstalledVersion(ArchivedProjectAndVersion archivedProjectAndVersion)
 {
   _manifests.AddManifestFor(archivedProjectAndVersion);
   Repository.AccessStrategy.CheckoutVersionFromRepository(archivedProjectAndVersion.Repository, archivedProjectAndVersion.Version, _path);
   Infrastructure.ProjectManifestRepository.SaveProjectManifestStore(_manifests);
 }
예제 #5
0
 public static ReferenceStatus Create(ArchivedProjectAndVersion archivedProjectAndVersion, ProjectDependencyDirectory dependencyDirectory)
 {
   bool isAnyVersionInstalled = dependencyDirectory.IsAnythingInstalled;
   bool isReferencedVersionInstalled = !dependencyDirectory.HasVersionOlderThan(archivedProjectAndVersion.Version);
   bool isOlderVersionInstalled = dependencyDirectory.HasVersionOlderThan(archivedProjectAndVersion.Version);
   bool isToLatestVersion = archivedProjectAndVersion.Project.LatestVersion.Number == archivedProjectAndVersion.Version.Number;
   return new ReferenceStatus(archivedProjectAndVersion.Project.Name, archivedProjectAndVersion.Version.Number, isToLatestVersion, isAnyVersionInstalled, isOlderVersionInstalled, isReferencedVersionInstalled, archivedProjectAndVersion.Version.Tags);
 }
예제 #6
0
 public HealthyProjectReference(Project parentProject, ArchivedProjectAndVersion archivedProjectAndVersion)
 {
   _parentProject = parentProject;
   _archivedProjectAndVersion = archivedProjectAndVersion;
   _installed = new ProjectDependencyDirectory(_parentProject, _archivedProjectAndVersion.Project);
 }
예제 #7
0
 public ProjectVersionAdded(ArchivedProjectAndVersion archivedProjectAndVersion)
 {
   _archivedProjectAndVersion = archivedProjectAndVersion;
 }