private static void WriteRuntimeDependencySet(JObject jObject, RuntimeDependencySet data) { var value = new JObject(); jObject[data.Id] = value; foreach (var x in data.Dependencies.Values) { WritePackageDependency(value, x); } }
private static PackageSpec CreatePackageSpec(bool withRestoreSettings, WarningProperties warningProperties = null) { var unsortedArray = new[] { "b", "a", "c" }; var unsortedReadOnlyList = new List <string>(unsortedArray).AsReadOnly(); var libraryRange = new LibraryRange("library", new VersionRange(new NuGetVersion("1.2.3")), LibraryDependencyTarget.Package); var libraryRangeWithNoWarn = new LibraryRange("libraryWithNoWarn", new VersionRange(new NuGetVersion("1.2.3")), LibraryDependencyTarget.Package); var libraryRangeWithNoWarnGlobal = new LibraryRange("libraryRangeWithNoWarnGlobal", new VersionRange(new NuGetVersion("1.2.3")), LibraryDependencyTarget.Package); var libraryDependency = new LibraryDependency() { IncludeType = LibraryIncludeFlags.Build, LibraryRange = libraryRange }; var libraryDependencyWithNoWarn = new LibraryDependency() { IncludeType = LibraryIncludeFlags.Build, LibraryRange = libraryRangeWithNoWarn, NoWarn = new List <NuGetLogCode> { NuGetLogCode.NU1500, NuGetLogCode.NU1601 } }; var libraryDependencyWithNoWarnGlobal = new LibraryDependency() { IncludeType = LibraryIncludeFlags.Build, LibraryRange = libraryRangeWithNoWarnGlobal, NoWarn = new List <NuGetLogCode> { NuGetLogCode.NU1500, NuGetLogCode.NU1608 } }; var nugetFramework = new NuGetFramework("frameworkIdentifier", new Version("1.2.3"), "frameworkProfile"); var nugetFrameworkWithNoWarn = new NuGetFramework("frameworkIdentifierWithNoWarn", new Version("1.2.5"), "frameworkProfileWithNoWarn"); var packageSpec = new PackageSpec() { Authors = unsortedArray, BuildOptions = new BuildOptions() { OutputName = "outputName" }, ContentFiles = new List <string>(unsortedArray), Copyright = "copyright", Dependencies = new List <LibraryDependency>() { libraryDependency, libraryDependencyWithNoWarnGlobal }, Description = "description", FilePath = "filePath", HasVersionSnapshot = true, IconUrl = "iconUrl", IsDefaultVersion = false, Language = "language", LicenseUrl = "licenseUrl", Name = "name", Owners = unsortedArray, PackOptions = new PackOptions() { IncludeExcludeFiles = new IncludeExcludeFiles() { Exclude = unsortedReadOnlyList, ExcludeFiles = unsortedReadOnlyList, Include = unsortedReadOnlyList, IncludeFiles = unsortedReadOnlyList } }, ProjectUrl = "projectUrl", ReleaseNotes = "releaseNotes", RequireLicenseAcceptance = true, RestoreMetadata = new ProjectRestoreMetadata() { CrossTargeting = true, FallbackFolders = unsortedReadOnlyList, ConfigFilePaths = unsortedReadOnlyList, LegacyPackagesDirectory = false, OriginalTargetFrameworks = unsortedReadOnlyList, OutputPath = "outputPath", ProjectStyle = ProjectStyle.PackageReference, PackagesPath = "packagesPath", ProjectJsonPath = "projectJsonPath", ProjectName = "projectName", ProjectPath = "projectPath", ProjectUniqueName = "projectUniqueName", Sources = new List <PackageSource>() { new PackageSource("source", "name", isEnabled: true, isOfficial: false, isPersistable: true) }, TargetFrameworks = new List <ProjectRestoreMetadataFrameworkInfo>() { new ProjectRestoreMetadataFrameworkInfo(nugetFramework) } }, Summary = "summary", Tags = unsortedArray, Title = "title", Version = new NuGetVersion("1.2.3") }; if (withRestoreSettings) { packageSpec.RestoreSettings = new ProjectRestoreSettings() { HideWarningsAndErrors = true }; } if (warningProperties != null) { packageSpec.RestoreMetadata.ProjectWideWarningProperties = warningProperties; } packageSpec.PackInclude.Add("b", "d"); packageSpec.PackInclude.Add("a", "e"); packageSpec.PackInclude.Add("c", "f"); var runtimeDependencySet = new RuntimeDependencySet("id", new[] { new RuntimePackageDependency("id", new VersionRange(new NuGetVersion("1.2.3"))) }); var runtimes = new List <RuntimeDescription>() { new RuntimeDescription("runtimeIdentifier", unsortedArray, new [] { runtimeDependencySet }) }; var compatibilityProfiles = new List <CompatibilityProfile>() { new CompatibilityProfile("name", new[] { new FrameworkRuntimePair(nugetFramework, "runtimeIdentifier") }) }; packageSpec.RuntimeGraph = new RuntimeGraph(runtimes, compatibilityProfiles); packageSpec.Scripts.Add("b", unsortedArray); packageSpec.Scripts.Add("a", unsortedArray); packageSpec.Scripts.Add("c", unsortedArray); packageSpec.TargetFrameworks.Add(new TargetFrameworkInformation() { Dependencies = new List <LibraryDependency>(), FrameworkName = nugetFramework, Imports = new List <NuGetFramework>() { nugetFramework }, }); packageSpec.TargetFrameworks.Add(new TargetFrameworkInformation() { Dependencies = new List <LibraryDependency>() { libraryDependencyWithNoWarn }, FrameworkName = nugetFrameworkWithNoWarn, Imports = new List <NuGetFramework>() { nugetFrameworkWithNoWarn }, Warn = true }); return(packageSpec); }