public PackageSpecReferenceDependencyProvider(
     IPackageSpecResolver projectResolver,
     ExternalProjectReference projectReference)
 {
     _resolver         = projectResolver;
     _projectReference = projectReference;
 }
 public PackageSpecReferenceDependencyProvider(
     IPackageSpecResolver projectResolver,
     ExternalProjectReference projectReference)
 {
     _resolver = projectResolver;
     _projectReference = projectReference;
 }
        public PackageSpecReferenceDependencyProvider(
            IPackageSpecResolver projectResolver,
            IEnumerable <ExternalProjectReference> externalProjects,
            ILogger logger)
        {
            if (projectResolver == null)
            {
                throw new ArgumentNullException(nameof(projectResolver));
            }

            if (externalProjects == null)
            {
                throw new ArgumentNullException(nameof(externalProjects));
            }

            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            _defaultResolver = projectResolver;
            _logger          = logger;

            // The constructor is only executed by a single thread, so TryAdd is fine.
            _resolverCache.TryAdd(projectResolver.RootPath, projectResolver);

            foreach (var project in externalProjects)
            {
                Debug.Assert(
                    !_externalProjectsByPath.ContainsKey(project.UniqueName),
                    $"Duplicate project {project.UniqueName}");

                if (!_externalProjectsByPath.ContainsKey(project.UniqueName))
                {
                    _externalProjectsByPath.Add(project.UniqueName, project);
                }

                Debug.Assert(
                    !_externalProjectsByName.ContainsKey(project.ProjectName),
                    $"Duplicate project {project.ProjectName}");

                if (!_externalProjectsByName.ContainsKey(project.ProjectName))
                {
                    _externalProjectsByName.Add(project.ProjectName, project);
                }
            }
        }
Example #4
0
 public PackageSpecReferenceDependencyProvider(IPackageSpecResolver projectResolver)
 {
     _resolver = projectResolver;
 }