示例#1
0
 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);
        }