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); } }
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); }
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); }
public HealthyProjectReference(Project parentProject, ArchivedProjectAndVersion archivedProjectAndVersion) { _parentProject = parentProject; _archivedProjectAndVersion = archivedProjectAndVersion; _installed = new ProjectDependencyDirectory(_parentProject, _archivedProjectAndVersion.Project); }
public ProjectVersionAdded(ArchivedProjectAndVersion archivedProjectAndVersion) { _archivedProjectAndVersion = archivedProjectAndVersion; }