Ejemplo n.º 1
0
        // Based primarily on NuGet.CommandLine.Commands.UpdateCommand
        internal void InstallPackages()
        {
            Trace.Verbose($"Installing packages to {GetAbsolutePackagesPath().FullPath} (using {(UseLocal ? "local" : "global")} packages folder)");
            SourceRepository        localSourceRepository     = SourceRepositoryProvider.CreateRepository(new PackageSource(GetAbsolutePackagesPath().FullPath));
            List <SourceRepository> defaultSourceRepositories = _packageSources.Select(SourceRepositoryProvider.CreateRepository).ToList();

            // Install the packages
            _nuGetProject.StartPackageInstall();
            Parallel.ForEach(_packages, package =>
            {
                List <SourceRepository> sourceRepositories = defaultSourceRepositories;
                if (package.PackageSources != null && package.PackageSources.Count > 0)
                {
                    sourceRepositories = package.PackageSources.Select(SourceRepositoryProvider.CreateRepository).ToList();
                    if (!package.Exclusive)
                    {
                        sourceRepositories = sourceRepositories.Concat(defaultSourceRepositories).ToList();
                    }
                }
                package.InstallPackage(this, UpdatePackages, localSourceRepository, sourceRepositories);
            });

            // Process the package (do this after all packages have been installed)
            _nuGetProject.ProcessAssembliesAndContent();
        }
Ejemplo n.º 2
0
 internal PackageInstaller(IFileSystem fileSystem, AssemblyLoader assemblyLoader)
 {
     _fileSystem         = fileSystem;
     _assemblyLoader     = assemblyLoader;
     _currentFramework   = GetCurrentFramework();
     _settings           = Settings.LoadDefaultSettings(fileSystem.RootPath.FullPath, null, new MachineWideSettings());
     _sourceRepositories = new SourceRepositoryProvider(_settings);
 }
 internal PackageInstaller(IFileSystem fileSystem, AssemblyLoader assemblyLoader)
 {
     _fileSystem       = fileSystem;
     _assemblyLoader   = assemblyLoader;
     _currentFramework = GetCurrentFramework();
     _settings         = Settings.LoadDefaultSettings(fileSystem.RootPath.FullPath, null, new XPlatMachineWideSetting());
     SettingsUtility.SetConfigValue(
         _settings,
         ConfigurationConstants.SignatureValidationMode,
         nameof(SignatureValidationMode.Accept));
     _sourceRepositories = new SourceRepositoryProvider(_settings);
 }