Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove PackageDependencyGroupConverter #5872

Merged
merged 17 commits into from
Sep 12, 2024
3 changes: 3 additions & 0 deletions src/NuGet.Core/NuGet.Packaging/Core/PackageDependency.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using NuGet.Versioning;

namespace NuGet.Packaging.Core
Expand Down Expand Up @@ -34,6 +35,7 @@ public class PackageDependency : IEquatable<PackageDependency>
/// <summary>
/// Range of versions allowed for the depenency
/// </summary>
[JsonProperty(PropertyName = "range")]
public VersionRange VersionRange
{
get { return _versionRange; }
Expand All @@ -44,6 +46,7 @@ public PackageDependency(string id)
{
}

[JsonConstructor]
public PackageDependency(string id, VersionRange versionRange)
: this(id, versionRange, include: null, exclude: null)
{
Expand Down
18 changes: 18 additions & 0 deletions src/NuGet.Core/NuGet.Packaging/Core/PackageDependencyGroup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using NuGet.Frameworks;
using NuGet.Packaging.Core;
using NuGet.Shared;
Expand All @@ -18,6 +19,21 @@ public class PackageDependencyGroup : IEquatable<PackageDependencyGroup>, IFrame
private readonly NuGetFramework _targetFramework;
private readonly IEnumerable<PackageDependency> _packages;

[JsonConstructor]
private PackageDependencyGroup(NuGetFramework targetFramework)
Comment on lines +22 to +23
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand how the JSON deserialization sets the packages list, if this is the json constructor. But there are tests that pass? 😕

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's weird, since there is already a constructor that takes targetFramework and dependencies and null checks them I didn't want to change the behavior of it.

Previous converter would initialize an empty list for dependencies when it was null (no dependencies property in the json) thats why I added a constructor that takes only the TargetFramework that helps me create the empty list, this constructor is called only when deserialization happens. If we add a [JsonConstructor] it first attempts to use it and then populate the rest of the properties that have [JsonProperty]. JsonProperty doesn't needs a constructor to work.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The properties are get only, and they're not even auto-props. If Newtonsoft.Json is using reflection to set the value directly on the backing store, I don't understand how it can determine what the backing field name is. 🤷

{
if (targetFramework == null)
{
_targetFramework = NuGetFramework.AnyFramework;
}
else
{
_targetFramework = targetFramework;
}

_packages = new List<PackageDependency>();
martinrrm marked this conversation as resolved.
Show resolved Hide resolved
}

/// <summary>
/// Dependency group
/// </summary>
Expand All @@ -42,6 +58,7 @@ public PackageDependencyGroup(NuGetFramework targetFramework, IEnumerable<Packag
/// <summary>
/// Dependency group target framework
/// </summary>
[JsonProperty(PropertyName = "targetFramework")]
public NuGetFramework TargetFramework
{
get { return _targetFramework; }
Expand All @@ -50,6 +67,7 @@ public NuGetFramework TargetFramework
/// <summary>
/// Package dependencies
/// </summary>
[JsonProperty(PropertyName = "dependencies")]
public IEnumerable<PackageDependency> Packages
{
get { return _packages; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ public static class JsonExtensions
new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal },
new FingerprintsConverter(),
new VersionRangeConverter(),
new PackageVulnerabilityInfoConverter()
new PackageVulnerabilityInfoConverter(),
new NuGetFrameworkConverter()
},
};

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.

using System;
using Newtonsoft.Json;

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Unit Tests on Linux (.NET 8.0) Unit Tests on Linux (.NET 8.0))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Unit Tests on Linux (.NET 8.0) Unit Tests on Linux (.NET 8.0))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Unit Tests on MacOS (.NET Core 3.1) Unit Tests on MacOS (.NET Core 3.1))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Unit Tests on MacOS (.NET Core 3.1) Unit Tests on MacOS (.NET Core 3.1))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Functional Tests on Linux (.NET Core 3.1) Functional Tests on Linux (.NET Core 3.1))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Functional Tests on Linux (.NET Core 3.1) Functional Tests on Linux (.NET Core 3.1))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Unit Tests on Linux (.NET Core 3.1) Unit Tests on Linux (.NET Core 3.1))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Unit Tests on Linux (.NET Core 3.1) Unit Tests on Linux (.NET Core 3.1))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Unit Tests on MacOS (.NET 8.0) Unit Tests on MacOS (.NET 8.0))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Unit Tests on MacOS (.NET 8.0) Unit Tests on MacOS (.NET 8.0))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Functional Tests on Linux (.NET 8.0) Functional Tests on Linux (.NET 8.0))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Functional Tests on Linux (.NET 8.0) Functional Tests on Linux (.NET 8.0))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Functional Tests on MacOS (.NET 8.0) Functional Tests on MacOS (.NET 8.0))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Functional Tests on MacOS (.NET 8.0) Functional Tests on MacOS (.NET 8.0))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Functional Tests on MacOS (.NET Core 3.1) Functional Tests on MacOS (.NET Core 3.1))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)

Check failure on line 5 in src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs

View check run for this annotation

Azure Pipelines / NuGet.Client CI (Functional Tests on MacOS (.NET Core 3.1) Functional Tests on MacOS (.NET Core 3.1))

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs#L5

src/NuGet.Core/NuGet.Protocol/Converters/NuGetFrameworkConverter.cs(5,1): Error IDE0005: Using directive is unnecessary. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0005)
using NuGet.Frameworks;

namespace NuGet.Protocol.Converters
{
internal class NuGetFrameworkConverter : JsonConverter
martinrrm marked this conversation as resolved.
Show resolved Hide resolved
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
serializer.Serialize(writer, value.ToString());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nitpick: this is... complicated 😆

The TFM value most people are used to reading, is not the value returned by .ToString(), but the value returned by .GetShortFoldername(). And for some reason, .nuspec files use a 3rd format, which is what we'll probably see from package sources when deserializing dependency groups.

But since this is a generic NuGetFramework converter, it's hard to say what's "correct" to use. However, I don't know of any scenario where NuGet will serialize this, so this method will probably never be used.

I wonder if we can use this overload of JsonConverterAttribute to pass data to the converter about which format type is preferred for the specific file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like your comment but since this is targeted for 17.2 P3 I believe I don't have enough time for this at this time, do you want me to investigate this further for next release?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly, I think my preference would be to throw on write, like the old converter did. If anything needs to convert a NuGetFramework to a string in the future, then we can either investigate that "parameterized" converter, or create one converter per string format.

But I can also live with using ToString.

Copy link
Contributor

@kartheekp-ms kartheekp-ms Sep 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we throw a not implemented exception here if there are going to be no callers for this method? We can address Andy's feedback in a follow up PR.

The existing code throw not implemented exception for the WriteJson method.

https://github.com/NuGet/NuGet.Client/pull/5872/files/f14e6f769612dbaf2e04eb9a702e7b3dcbe8b52b#diff-4e6ff8097dc206e72c42f58c234a65f2875f468c5bd9593c630a4cade52caf0aL49

}

public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
var value = reader.Value.ToString();
var framework = NuGetFramework.AnyFramework;

if (!string.IsNullOrEmpty(value))
{
framework = NuGetFramework.Parse(value);
}

return framework;
}

public override bool CanConvert(Type objectType) => objectType == typeof(NuGetFramework);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class PackageSearchMetadata : IPackageSearchMetadata
[JsonConverter(typeof(MetadataFieldConverter))]
public string Authors { get; private set; }

[JsonProperty(PropertyName = JsonProperties.DependencyGroups, ItemConverterType = typeof(PackageDependencyGroupConverter))]
[JsonProperty(PropertyName = JsonProperties.DependencyGroups)]
public IEnumerable<PackageDependencyGroup> DependencySetsInternal { get; private set; }

[JsonIgnore]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -721,8 +721,6 @@ NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheI
~NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheInfo.ServiceDocument.get -> NuGet.Protocol.ODataServiceDocumentResourceV2
~NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheInfo.ServiceDocument.set -> void
NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentResourceV2Provider() -> void
NuGet.Protocol.PackageDependencyGroupConverter
NuGet.Protocol.PackageDependencyGroupConverter.PackageDependencyGroupConverter() -> void
NuGet.Protocol.PackageDeprecationMetadata
~NuGet.Protocol.PackageDeprecationMetadata.AlternatePackage.get -> NuGet.Protocol.AlternatePackageMetadata
~NuGet.Protocol.PackageDeprecationMetadata.Message.get -> string
Expand Down Expand Up @@ -1775,10 +1773,6 @@ override NuGet.Protocol.Model.PackageVulnerabilityInfo.GetHashCode() -> int
~override NuGet.Protocol.NuGetVersionConverter.ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) -> object
~override NuGet.Protocol.NuGetVersionConverter.WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) -> void
~override NuGet.Protocol.ODataServiceDocumentResourceV2Provider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository source, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Tuple<bool, NuGet.Protocol.Core.Types.INuGetResource>>
~override NuGet.Protocol.PackageDependencyGroupConverter.CanConvert(System.Type objectType) -> bool
override NuGet.Protocol.PackageDependencyGroupConverter.CanWrite.get -> bool
~override NuGet.Protocol.PackageDependencyGroupConverter.ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) -> object
~override NuGet.Protocol.PackageDependencyGroupConverter.WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) -> void
~override NuGet.Protocol.PackageDetailsUriResourceV3Provider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository source, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Tuple<bool, NuGet.Protocol.Core.Types.INuGetResource>>
~override NuGet.Protocol.PackageMetadataResourceV2Feed.GetMetadataAsync(NuGet.Packaging.Core.PackageIdentity package, NuGet.Protocol.Core.Types.SourceCacheContext sourceCacheContext, NuGet.Common.ILogger log, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<NuGet.Protocol.Core.Types.IPackageSearchMetadata>
~override NuGet.Protocol.PackageMetadataResourceV2Feed.GetMetadataAsync(string packageId, bool includePrerelease, bool includeUnlisted, NuGet.Protocol.Core.Types.SourceCacheContext sourceCacheContext, NuGet.Common.ILogger log, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<NuGet.Protocol.Core.Types.IPackageSearchMetadata>>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -721,8 +721,6 @@ NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheI
~NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheInfo.ServiceDocument.get -> NuGet.Protocol.ODataServiceDocumentResourceV2
~NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheInfo.ServiceDocument.set -> void
NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentResourceV2Provider() -> void
NuGet.Protocol.PackageDependencyGroupConverter
NuGet.Protocol.PackageDependencyGroupConverter.PackageDependencyGroupConverter() -> void
NuGet.Protocol.PackageDeprecationMetadata
~NuGet.Protocol.PackageDeprecationMetadata.AlternatePackage.get -> NuGet.Protocol.AlternatePackageMetadata
~NuGet.Protocol.PackageDeprecationMetadata.Message.get -> string
Expand Down Expand Up @@ -1766,10 +1764,6 @@ override NuGet.Protocol.Model.PackageVulnerabilityInfo.GetHashCode() -> int
~override NuGet.Protocol.NuGetVersionConverter.ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) -> object
~override NuGet.Protocol.NuGetVersionConverter.WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) -> void
~override NuGet.Protocol.ODataServiceDocumentResourceV2Provider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository source, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Tuple<bool, NuGet.Protocol.Core.Types.INuGetResource>>
~override NuGet.Protocol.PackageDependencyGroupConverter.CanConvert(System.Type objectType) -> bool
override NuGet.Protocol.PackageDependencyGroupConverter.CanWrite.get -> bool
~override NuGet.Protocol.PackageDependencyGroupConverter.ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) -> object
~override NuGet.Protocol.PackageDependencyGroupConverter.WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) -> void
~override NuGet.Protocol.PackageDetailsUriResourceV3Provider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository source, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Tuple<bool, NuGet.Protocol.Core.Types.INuGetResource>>
~override NuGet.Protocol.PackageMetadataResourceV2Feed.GetMetadataAsync(NuGet.Packaging.Core.PackageIdentity package, NuGet.Protocol.Core.Types.SourceCacheContext sourceCacheContext, NuGet.Common.ILogger log, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<NuGet.Protocol.Core.Types.IPackageSearchMetadata>
~override NuGet.Protocol.PackageMetadataResourceV2Feed.GetMetadataAsync(string packageId, bool includePrerelease, bool includeUnlisted, NuGet.Protocol.Core.Types.SourceCacheContext sourceCacheContext, NuGet.Common.ILogger log, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<NuGet.Protocol.Core.Types.IPackageSearchMetadata>>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -721,8 +721,6 @@ NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheI
~NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheInfo.ServiceDocument.get -> NuGet.Protocol.ODataServiceDocumentResourceV2
~NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentCacheInfo.ServiceDocument.set -> void
NuGet.Protocol.ODataServiceDocumentResourceV2Provider.ODataServiceDocumentResourceV2Provider() -> void
NuGet.Protocol.PackageDependencyGroupConverter
NuGet.Protocol.PackageDependencyGroupConverter.PackageDependencyGroupConverter() -> void
NuGet.Protocol.PackageDeprecationMetadata
~NuGet.Protocol.PackageDeprecationMetadata.AlternatePackage.get -> NuGet.Protocol.AlternatePackageMetadata
~NuGet.Protocol.PackageDeprecationMetadata.Message.get -> string
Expand Down Expand Up @@ -1766,10 +1764,6 @@ override NuGet.Protocol.Model.PackageVulnerabilityInfo.GetHashCode() -> int
~override NuGet.Protocol.NuGetVersionConverter.ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) -> object
~override NuGet.Protocol.NuGetVersionConverter.WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) -> void
~override NuGet.Protocol.ODataServiceDocumentResourceV2Provider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository source, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Tuple<bool, NuGet.Protocol.Core.Types.INuGetResource>>
~override NuGet.Protocol.PackageDependencyGroupConverter.CanConvert(System.Type objectType) -> bool
override NuGet.Protocol.PackageDependencyGroupConverter.CanWrite.get -> bool
~override NuGet.Protocol.PackageDependencyGroupConverter.ReadJson(Newtonsoft.Json.JsonReader reader, System.Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer) -> object
~override NuGet.Protocol.PackageDependencyGroupConverter.WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) -> void
~override NuGet.Protocol.PackageDetailsUriResourceV3Provider.TryCreate(NuGet.Protocol.Core.Types.SourceRepository source, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Tuple<bool, NuGet.Protocol.Core.Types.INuGetResource>>
~override NuGet.Protocol.PackageMetadataResourceV2Feed.GetMetadataAsync(NuGet.Packaging.Core.PackageIdentity package, NuGet.Protocol.Core.Types.SourceCacheContext sourceCacheContext, NuGet.Common.ILogger log, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<NuGet.Protocol.Core.Types.IPackageSearchMetadata>
~override NuGet.Protocol.PackageMetadataResourceV2Feed.GetMetadataAsync(string packageId, bool includePrerelease, bool includeUnlisted, NuGet.Protocol.Core.Types.SourceCacheContext sourceCacheContext, NuGet.Common.ILogger log, System.Threading.CancellationToken token) -> System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<NuGet.Protocol.Core.Types.IPackageSearchMetadata>>
Expand Down
Loading
Loading