private void UpdateFramework(JObject json) { var frameworks = JsonConfigUtility.GetFrameworks(json); if (InternalMetadata.TryGetValue(NuGetProjectMetadataKeys.TargetFramework, out object newTargetFramework)) { if (IsUAPFramework(newTargetFramework as NuGetFramework) && frameworks.Count() == 1) { // project.json can have only one target framework JsonConfigUtility.ClearFrameworks(json); JsonConfigUtility.AddFramework(json, newTargetFramework as NuGetFramework); } } }
public void JsonConfigUtility_AddFramework() { // Arrange var json = BasicConfig; var frameworks = JsonConfigUtility.GetFrameworks(json); Assert.Equal(1, frameworks.Count()); // Act JsonConfigUtility.AddFramework(json, new NuGet.Frameworks.NuGetFramework("uap", new Version("10.0.0"))); frameworks = JsonConfigUtility.GetFrameworks(json); //Assert Assert.Equal(2, frameworks.Count()); }
private async Task UpdateFrameworkAsync(JObject json) { // Update the internal target framework with TPMinV from csproj await UpdateInternalTargetFrameworkAsync(); if (TryGetInternalFramework(out object newTargetFrameworkObject)) { var frameworks = JsonConfigUtility.GetFrameworks(json); var newTargetFramework = newTargetFrameworkObject as NuGetFramework; if (IsUAPFramework(newTargetFramework) && frameworks.Count() == 1 && frameworks.Single() != newTargetFramework) { // project.json can have only one target framework JsonConfigUtility.ClearFrameworks(json); JsonConfigUtility.AddFramework(json, newTargetFramework as NuGetFramework); } } }
public OneDasPackageManager(IExtensionFactory extensionFactory, IOptions <OneDasOptions> options, ILoggerFactory loggerFactory) { JObject jobject; VersionRange versionRange; _extensionFactory = extensionFactory; _options = options.Value; // settings _settings = new Settings(_options.NugetDirectoryPath); _settings.SetValues(ConfigurationConstants.PackageSources, new List <SettingValue>() { new SettingValue("NuGet", "https://api.nuget.org/v3/index.json", false) }); _settings.SetValues(ConfigurationConstants.PackageSources, new List <SettingValue>() { new SettingValue("MyGet (CI)", "https://www.myget.org/F/onedas/api/v3/index.json", false) }); if (!File.Exists(_options.NugetProjectFilePath)) { jobject = new JObject(); versionRange = new VersionRange(new NuGetVersion("2.0.3")); JsonConfigUtility.AddFramework(jobject, FrameworkConstants.CommonFrameworks.NetStandard20); JsonConfigUtility.AddDependency(jobject, new PackageDependency("NETStandard.Library", versionRange)); jobject.Add("runtimes", new JObject(new JProperty(_options.RestoreRuntimeId, new JObject()))); File.WriteAllText(_options.NugetProjectFilePath, jobject.ToString(Formatting.Indented)); } _project = new OneDasNugetProject(_options.NugetProjectFilePath); _projectContext = new OneDasNuGetProjectContext(loggerFactory.CreateLogger("Nuget")); _sourceRepositoryProvider = this.CreateSourceRepositoryProvider(); _packageManager = this.CreateNuGetPackageManager(_sourceRepositoryProvider); this.PackageSourceSet = SettingsUtility.GetEnabledSources(_settings).ToList(); }