Beispiel #1
0
        private PackageReferenceManager LoadDependencyInfo()
        {
            PackageReferenceManager packageReferenceManager = new PackageReferenceManager();

            foreach (AssemblyDependencyInfo assemblyDependencyInfo in _assemblyDependencyInfos)
            {
                foreach (PackageReference packageReference in assemblyDependencyInfo.GetPackageReferences())
                {
                    packageReferenceManager.Add(packageReference, assemblyDependencyInfo.ConfigFileName);
                }
            }
            return(packageReferenceManager);
        }
Beispiel #2
0
        public bool TryRun(out string outputMessage)
        {
            bool success = true;

            outputMessage = Resources.AllPackagesConsolidated;
            RepositoryDependencyInfo repositoryDependencyInfo = new RepositoryDependencyInfo(_directoryPath);
            PackageReferenceManager  packageReferenceManager  = repositoryDependencyInfo.GetPackageReferences();

            if (!packageReferenceManager.HasPackageReferences())
            {
                outputMessage = Resources.NoPackageReferencesFound;
            }
            else
            {
                IEnumerable <string> packagesWithMultipleVersions           = packageReferenceManager.GetPackagesWithMultipleVersions();
                IEnumerable <string> nonIgnoredPackagesWithMultipleVersions = packagesWithMultipleVersions.Except(_ignoredPackages);
                IEnumerable <string> ignoredPackagesWithMultipleVersions    = packagesWithMultipleVersions.Intersect(_ignoredPackages);

                if (ignoredPackagesWithMultipleVersions.Any())
                {
                    outputMessage = string.Join(Environment.NewLine, ignoredPackagesWithMultipleVersions.Select(package => string.Format(Resources.Package_0_IsIgnoredAndHasMultipleVersions, package)));
                }

                if (nonIgnoredPackagesWithMultipleVersions.Any())
                {
                    outputMessage = Resources.UnconsolidatedPackageVersionsFound + Environment.NewLine;
                    foreach (string packageIdentity in nonIgnoredPackagesWithMultipleVersions)
                    {
                        foreach (PackageReference packageReferenceInfo in packageReferenceManager.GetPackageReferences(packageIdentity))
                        {
                            outputMessage += $"{packageReferenceInfo}{Environment.NewLine}";
                        }
                    }
                    success = false;
                }
            }
            return(success);
        }