public NuGetProject(List <string> packagesList, string packagesPath, ProjectFile projectFile, ILog log) { this.log = log; this.packagesList = packagesList; this.projectFile = projectFile; installedPackages = new HashSet <PackageIdentity>(); var sourceProvider = new PackageSourceProvider(Settings.LoadDefaultSettings(null)); var sourceRepositoryProvider = new CommandLineSourceRepositoryProvider(sourceProvider); repositories = sourceProvider.LoadPackageSources().Select(sourceRepositoryProvider.CreateRepository) .ToList(); logger = new Console(); var projectFilePath = projectFile.FilePath; var msbuildDirectory = Path.GetDirectoryName(ModuleBuilderHelper.FindMsBuild(null, "Cement NuGet Package Installer")); projectContext = new ConsoleProjectContext(logger); projectSystem = new MSBuildProjectSystem( msbuildDirectory, projectFilePath, projectContext); var projectFolder = Path.GetDirectoryName(projectFilePath); project = new MSBuildNuGetProject(projectSystem, packagesPath, projectFolder); }
public void TestSourceRepoPackageSourcesChanged2() { // Arrange var settingsPath = TestPackageSourceSettings.CreateAndGetSettingFilePath(); var settings = new Settings(settingsPath); var packageSourceProvider = new PackageSourceProvider(settings); var sourceRepositoryProvider = TestSourceRepositoryUtility.CreateSourceRepositoryProvider(packageSourceProvider); // Act var oldEffectivePackageSources = sourceRepositoryProvider.GetRepositories().ToList(); // Assert Assert.Equal(1, oldEffectivePackageSources.Count); Assert.Equal(TestSourceRepositoryUtility.V2PackageSource.Source, oldEffectivePackageSources[0].PackageSource.Source); // Main Act var newPackageSources = new List<PackageSource>() { TestSourceRepositoryUtility.V3PackageSource, TestSourceRepositoryUtility.V2PackageSource }; packageSourceProvider.SavePackageSources(newPackageSources); var newEffectivePackageSources = sourceRepositoryProvider.GetRepositories().ToList(); // Main Assert Assert.Equal(2, newEffectivePackageSources.Count); Assert.Equal(TestSourceRepositoryUtility.V3PackageSource.Source, newEffectivePackageSources[0].PackageSource.Source); Assert.Equal(TestSourceRepositoryUtility.V2PackageSource.Source, newEffectivePackageSources[1].PackageSource.Source); // Clean-up TestFilesystemUtility.DeleteRandomTestFolders(settingsPath); }
public MachineWideSettings() { var baseDirectory = NuGetEnvironment.GetFolderPath(NuGetFolderPath.MachineWideConfigDirectory); _settings = new Lazy <ISettings>( () => SettingsCLass.LoadMachineWideSettings(baseDirectory)); }
private IEnumerable <SourceRepository> GetInternalRepository(string pathToSolution) { var setting = Settings.LoadDefaultSettings(pathToSolution); var sourceRepositoryProvider = new SourceRepositoryProvider( new PackageSourceProvider(setting), Repository.Provider.GetCoreV3()); var repositories = sourceRepositoryProvider .GetRepositories() .Where(r => r.PackageSource.Name.ToLower() != "nuget.org"); return(repositories); }
private IEnumerable <SourceRepository> GetInternalRepository(string pathToSolution) { var setting = Settings.LoadDefaultSettings(pathToSolution); var sourceRepositoryProvider = new SourceRepositoryProvider( new PackageSourceProvider(setting), Repository.Provider.GetCoreV3()); var repositories = sourceRepositoryProvider .GetRepositories() .Where(r => !string.Equals(r.PackageSource.Name, "nuget.org", StringComparison.OrdinalIgnoreCase)); return(repositories); }
private DownloadResourceResult LoadPackage(PackageIdentity package, PackageDownloadContext packageDownloadContext) { var downloadResourceResult = PackageDownloader.GetDownloadResourceResultAsync( repositories, package, packageDownloadContext, SettingsUtility.GetGlobalPackagesFolder(Settings.LoadDefaultSettings(null)), logger, CancellationToken.None ).Result; return(downloadResourceResult); }
public NuGetViewModel([Import(AllowDefault = true)] IExceptionManager?exceptionManager, IApplicationSettings appSettings) { try { var settings = LoadSettings(); ConfigPath = settings.GetConfigFilePaths().First(); GlobalPackageFolder = SettingsUtility.GetGlobalPackagesFolder(settings); DefaultCredentialServiceUtility.SetupDefaultCredentialService(NullLogger.Instance, nonInteractive: false); var sourceProvider = new PackageSourceProvider(settings); _sourceRepositoryProvider = new CommandLineSourceRepositoryProvider(sourceProvider); } catch (Exception e) { _initializationException = ExceptionDispatchInfo.Capture(e); ConfigPath = string.Empty; GlobalPackageFolder = string.Empty; } Settings LoadSettings() { Settings?settings = null; const int retries = 3; for (var i = 1; i <= retries; i++) { try { settings = new Settings(appSettings.GetDefaultDocumentPath(), "RoslynPad.nuget.config"); } catch (NuGetConfigurationException ex) { if (i == retries) { exceptionManager?.ReportError(ex); throw; } } } return(settings !); } }
public NuGetViewModel() { _settings = Settings.LoadDefaultSettings( Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), configFileName: null, machineWideSettings: new CommandLineMachineWideSettings()); _sourceProvider = new PackageSourceProvider(_settings); GlobalPackageFolder = SettingsUtility.GetGlobalPackagesFolder(_settings); _packageSources = GetPackageSources(); _sourceRepositoryProvider = new CommandLineSourceRepositoryProvider(_sourceProvider); _initializationTask = new Lazy <Task>(Initialize); }
public virtual IEnumerable <SourceRepository> GetInternalRepositories(string pathToSolution) { string solutionDirectory = Path.GetDirectoryName(pathToSolution); var settings = Settings.LoadDefaultSettings(solutionDirectory); var sourceRepositoryProvider = new SourceRepositoryProvider( new PackageSourceProvider(settings), Repository.Provider.GetCoreV3()); var repositories = sourceRepositoryProvider .GetRepositories() .Where(r => !string.Equals(r.PackageSource.Name, "nuget.org", StringComparison.OrdinalIgnoreCase) && r.PackageSource.IsEnabled && !string.Equals(r.PackageSource.Name, "microsoft visual studio offline packages", StringComparison.OrdinalIgnoreCase)) .ToList(); return(repositories); }
public static SharedInfo Create(string currentFolder) { var jsonConfig = File.ReadAllText(Path.Combine(currentFolder, "nugetviz.json")); var nugetConfig = new Settings(currentFolder, "NuGet.config"); var config = JsonConvert.DeserializeObject<AppConfig>(jsonConfig); if (string.IsNullOrEmpty(config.PackageDownloadFolderName)) { config.PackageDownloadFolderName = ".nuget"; } if (!Path.IsPathRooted(config.PackageDownloadFolderName)) { config.PackageDownloadFolderName = Path.Combine(currentFolder, config.PackageDownloadFolderName); } return Create(config, nugetConfig); }
public NuGetViewModel() { try { _settings = Settings.LoadDefaultSettings( root: null, configFileName: null, machineWideSettings: new CommandLineMachineWideSettings()); _sourceProvider = new PackageSourceProvider(_settings); GlobalPackageFolder = SettingsUtility.GetGlobalPackagesFolder(_settings); _packageSources = GetPackageSources(); _sourceRepositoryProvider = new CommandLineSourceRepositoryProvider(_sourceProvider); } catch (Exception e) { _initializationException = ExceptionDispatchInfo.Capture(e); } }
#pragma warning disable CS8618 // Non-nullable field is uninitialized. public NuGetViewModel() #pragma warning restore CS8618 // Non-nullable field is uninitialized. { try { var settings = Settings.LoadDefaultSettings( root: null, configFileName: null, machineWideSettings: new XPlatMachineWideSetting()); GlobalPackageFolder = SettingsUtility.GetGlobalPackagesFolder(settings); _configFilePaths = settings.GetConfigFilePaths(); _packageSources = SettingsUtility.GetEnabledSources(settings); DefaultCredentialServiceUtility.SetupDefaultCredentialService(NullLogger.Instance, nonInteractive: false); var sourceProvider = new PackageSourceProvider(settings); _sourceRepositoryProvider = new CommandLineSourceRepositoryProvider(sourceProvider); } catch (Exception e) { _initializationException = ExceptionDispatchInfo.Capture(e); } }
private IEnumerable<PackageSource> LoadConfigurationDefaultSources() { #if !DNXCORE50 var baseDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "NuGet"); #else var baseDirectory = Path.Combine(Environment.GetEnvironmentVariable("ProgramData"), "NuGet"); #endif var settings = new Settings(baseDirectory, ConfigurationDefaultsFile); var sources = new List<PackageSource>(); IList<SettingValue> disabledPackageSources = settings.GetSettingValues("disabledPackageSources"); IList<SettingValue> packageSources = settings.GetSettingValues("packageSources"); foreach (var settingValue in packageSources) { // In a SettingValue representing a package source, the Key represents the name of the package source and the Value its source sources.Add(new PackageSource(settingValue.Value, settingValue.Key, isEnabled: !disabledPackageSources.Any<SettingValue>(p => p.Key.Equals(settingValue.Key, StringComparison.CurrentCultureIgnoreCase)), isOfficial: true)); } return sources; }
public NuGetViewModel(ITelemetryProvider telemetryProvider) #pragma warning restore CS8618 // Non-nullable field is uninitialized. { try { ISettings settings; try { settings = Settings.LoadDefaultSettings( root: null, configFileName: null, machineWideSettings: new XPlatMachineWideSetting()); } catch (NuGetConfigurationException ex) { telemetryProvider.ReportError(ex); // create default settings using a non-existent config file settings = new Settings(nameof(RoslynPad)); } GlobalPackageFolder = SettingsUtility.GetGlobalPackagesFolder(settings); _configFilePaths = SettingsUtility.GetConfigFilePaths(settings); _packageSources = SettingsUtility.GetEnabledSources(settings); DefaultCredentialServiceUtility.SetupDefaultCredentialService(NullLogger.Instance, nonInteractive: false); var sourceProvider = new PackageSourceProvider(settings); _sourceRepositoryProvider = new CommandLineSourceRepositoryProvider(sourceProvider); } catch (Exception e) { _initializationException = ExceptionDispatchInfo.Capture(e); } }
private IEnumerable<PackageSource> LoadConfigurationDefaultSources() { #if !DNXCORE50 // Global default NuGet source doesn't make sense on Mono if (_isMono.Value) { return Enumerable.Empty<PackageSource>(); } var baseDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "NuGet"); #else var baseDirectory = Path.Combine(Environment.GetEnvironmentVariable("ProgramData"), "NuGet"); #endif var settings = new Settings(baseDirectory, ConfigurationContants.ConfigurationDefaultsFile); var disabledPackageSources = settings.GetSettingValues(ConfigurationContants.DisabledPackageSources); var packageSources = settings.GetSettingValues(ConfigurationContants.PackageSources); var packageSourceLookup = new Dictionary<string, IndexedPackageSource>(StringComparer.OrdinalIgnoreCase); var packageIndex = 0; foreach (var settingValue in packageSources) { // In a SettingValue representing a package source, the Key represents the name of the package source and the Value its source var isEnabled = !disabledPackageSources.Any(p => p.Key.Equals(settingValue.Key, StringComparison.OrdinalIgnoreCase)); var packageSource = ReadPackageSource(settingValue, isEnabled); packageSource.IsOfficial = true; packageIndex = AddOrUpdateIndexedSource(packageSourceLookup, packageIndex, packageSource); } return packageSourceLookup.Values .OrderBy(source => source.Index) .Select(source => source.PackageSource); }
public async Task DownloadPackage(string packageID, string version, string[] targetFrameworkSets) { Settings settings = new Settings(Environment.CurrentDirectory, "NuGet.config"); var sources = settings.GetSettingValues("activePackageSource"); output.WriteLine("Sources :" + string.Join(",", sources.Select(x => x.Value))); Assert.True(sources.Count > 0); var repo = Repository.Factory.GetVisualStudio("http://api.nuget.org/v3/index.json"); var downloadResource = await repo.GetResourceAsync<DownloadResource>(); var package = new PackageIdentity(packageID, NuGetVersion.Parse(version)); var info = await downloadResource.GetDownloadResourceResultAsync(package, settings, CancellationToken.None); // RefItems provides us only those frameworks for which there is a folder in lib\... // so safer to use that var refItems = info.PackageReader.GetReferenceItems().ToList(); foreach (var item in refItems) { output.WriteLine("Framework JSON: " + JsonConvert.SerializeObject(item.TargetFramework, Formatting.Indented)); } var fx = info.PackageReader.GetSupportedFrameworks().ToList(); foreach (var item in fx) { output.WriteLine("Framework JSON: " + JsonConvert.SerializeObject(item, Formatting.Indented)); } foreach (var item in refItems) { Assert.True(targetFrameworkSets.Any(x => item.TargetFramework.DotNetFrameworkName.Equals(x))); } //var packageName = ((System.IO.FileStream)depInfo.PackageStream).Name; //Directory.Delete(Path.GetDirectoryName(packageName), true); Assert.NotNull(refItems.Count == targetFrameworkSets.Length); }