Beispiel #1
0
 private static void SetFrameworkReferences(IObjectWriter writer, ISet <string> frameworkReferences)
 {
     if (frameworkReferences?.Any() == true)
     {
         writer.WriteNameArray("frameworkReferences", frameworkReferences.OrderBy(e => e));
     }
 }
Beispiel #2
0
 private static void SetArrayValue(IObjectWriter writer, string name, IEnumerable <string> values)
 {
     if (values != null && values.Any())
     {
         writer.WriteNameArray(name, values);
     }
 }
Beispiel #3
0
        private static void SetImports(IObjectWriter writer, IList <NuGetFramework> frameworks)
        {
            if (frameworks?.Any() == true)
            {
                var imports = frameworks.Select(framework => framework.GetShortFolderName());

                writer.WriteNameArray("imports", imports);
            }
        }
Beispiel #4
0
        private static void SetFrameworkArrayToProperty(IObjectWriter writer, IList <NuGetFramework> frameworks, string propertyName)
        {
            if (frameworks?.Any() == true)
            {
                var shortNames = frameworks.Select(framework => framework.GetShortFolderName());

                writer.WriteNameArray(propertyName, shortNames);
            }
        }
            public void WriteNameArray(string name, IEnumerable <string> values)
            {
                // if we are writing an empty import array, skip it.
                if (name == "#import" && !values.Any())
                {
                    return;
                }

                innerWriter.WriteNameArray(name, values);
            }
Beispiel #6
0
        private static void SetDictionaryValues(IObjectWriter writer, string name, IDictionary <string, IEnumerable <string> > values)
        {
            if (values != null && values.Any())
            {
                writer.WriteObjectStart(name);

                var sortedValues = values.OrderBy(pair => pair.Key, StringComparer.Ordinal);

                foreach (var pair in sortedValues)
                {
                    writer.WriteNameArray(pair.Key, pair.Value);
                }

                writer.WriteObjectEnd();
            }
        }
        private static void WriteRuntimeDescription(IObjectWriter writer, RuntimeDescription data)
        {
            writer.WriteObjectStart(data.RuntimeIdentifier);

            writer.WriteNameArray("#import", data.InheritedRuntimes);

            var sortedDependencySets = data.RuntimeDependencySets
                                       .OrderBy(pair => pair.Key, StringComparer.Ordinal)
                                       .Select(pair => pair.Value);

            foreach (var set in sortedDependencySets)
            {
                WriteRuntimeDependencySet(writer, set);
            }

            writer.WriteObjectEnd();
        }
        private static void WriteCompatibilityProfile(IObjectWriter writer, CompatibilityProfile data)
        {
            writer.WriteObjectStart(data.Name);

            var frameworkGroups = data.RestoreContexts.GroupBy(context => context.Framework);

            foreach (var frameworkGroup in frameworkGroups)
            {
                var name     = frameworkGroup.Key.GetShortFolderName();
                var runtimes = frameworkGroup.ToList();
                if (runtimes.Count == 1)
                {
                    // Write a string
                    writer.WriteNameValue(name, runtimes[0].RuntimeIdentifier);
                }
                else if (runtimes.Count > 0)
                {
                    writer.WriteNameArray(name, runtimes.Select(rt => rt.RuntimeIdentifier));
                }
            }

            writer.WriteObjectEnd();
        }