Skip to content

Commit 693ea0f

Browse files
committed
(#59) Add property to IChocolateyPackageSearchMetadata
This commit adds a new property to the IChocolateyPackageSearchMetadata interface, and implements this property on all instances of this interface. This is required, since we need a mechanism to store the information about _where_ a package was located. When running the FindPackage method in Chocolatey.CLI, the retured metadata class doesn't have this information, however, at the time of calling this method, we do know what source is being used, so we can record this information, we just need a property to store it. Once stored, it can then be retrieved furhter upstream as/when required. Typically, properties on the IChocolateyPackageSearchMetadata interface don't have a public set, since they are typically initialised when being created, however, since we are only setting this property once the meta data is returned, we need there to be a public set method for this property.
1 parent 86f60fd commit 693ea0f

File tree

12 files changed

+48
-1
lines changed

12 files changed

+48
-1
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
#nullable enable
2+
NuGet.VisualStudio.Internal.Contracts.TransitivePackageSearchMetadata.AvailableVersionSource.get -> string!

src/NuGet.Clients/NuGet.VisualStudio.Internal.Contracts/TransitivePackageSearchMetadata.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public partial class TransitivePackageSearchMetadata : IPackageSearchMetadata
6363

6464
public bool PrefixReserved => _packageSearchMetadata.PrefixReserved;
6565

66+
public string AvailableVersionSource => _packageSearchMetadata.AvailableVersionSource;
6667
public LicenseMetadata LicenseMetadata => _packageSearchMetadata.LicenseMetadata;
6768

6869
public IEnumerable<PackageVulnerabilityMetadata> Vulnerabilities => _packageSearchMetadata.Vulnerabilities;

src/NuGet.Core/NuGet.Protocol/Model/ChocolateyLocalPackageSearchMetadata.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ namespace NuGet.Protocol
1515
{
1616
public partial class LocalPackageSearchMetadata : IPackageSearchMetadata
1717
{
18+
private string _availableVersionSource;
19+
1820
/// <remarks>
1921
/// Not applicable to local packages
2022
/// </remarks>
@@ -187,5 +189,10 @@ public Uri BugTrackerUrl
187189
/// Not applicable to local packages
188190
/// </remarks>
189191
public string PackageScanFlagResult => null;
192+
193+
/// <remarks>
194+
/// Not applicable to local packages
195+
/// </remarks>
196+
public string AvailableVersionSource { get { return _availableVersionSource; } set { _availableVersionSource = value; } }
190197
}
191198
}

src/NuGet.Core/NuGet.Protocol/Model/ChocolateyPackageSearchMetadata.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,7 @@ public partial class PackageSearchMetadata : IPackageSearchMetadata
7676
public DateTime? PackageScanResultDate { get; set; }
7777
[JsonIgnore]
7878
public string PackageScanFlagResult { get; set; }
79+
[JsonIgnore]
80+
public string AvailableVersionSource { get; set; }
7981
}
8082
}

src/NuGet.Core/NuGet.Protocol/Model/ChocolateyPackageSearchMetadataV2Feed.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public IEnumerable<DownloadCache> DownloadCache
8585
public string PackageScanStatus { get; private set; }
8686
public DateTime? PackageScanResultDate { get; private set; }
8787
public string PackageScanFlagResult { get; private set; }
88+
public string AvailableVersionSource { get; set; }
8889

8990
private void FinishInitialization(V2FeedPackageInfo package)
9091
{

src/NuGet.Core/NuGet.Protocol/Model/IChocolateyPackageSearchMetadata.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,7 @@ public partial interface IPackageSearchMetadata
4444
string PackageScanStatus { get; }
4545
DateTime? PackageScanResultDate { get; }
4646
string PackageScanFlagResult { get; }
47+
48+
string AvailableVersionSource { get; set; }
4749
}
4850
}

src/NuGet.Core/NuGet.Protocol/Model/PackageSearchMetadataBuilder.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public partial class ClonedPackageSearchMetadata : IPackageSearchMetadata
7777
[Obsolete("PackagePath is recommended in place of PackageReader")]
7878
public Func<PackageReaderBase> PackageReader { get; set; }
7979
public string PackagePath { get; set; }
80+
public string AvailableVersionSource { get; set; }
8081
}
8182

8283
private PackageSearchMetadataBuilder(IPackageSearchMetadata metadata)
@@ -167,7 +168,7 @@ public IPackageSearchMetadata Build()
167168
DownloadCacheStatus = _metadata.DownloadCacheStatus,
168169
PackageScanStatus = _metadata.PackageScanStatus,
169170
PackageScanResultDate = _metadata.PackageScanResultDate,
170-
PackageScanFlagResult = _metadata.PackageScanFlagResult,
171+
PackageScanFlagResult = _metadata.PackageScanFlagResult
171172

172173
//////////////////////////////////////////////////////////
173174
// End - Chocolatey Specific Modification
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
NuGet.Protocol.Core.Types.IPackageSearchMetadata.AvailableVersionSource.get -> string
2+
NuGet.Protocol.Core.Types.IPackageSearchMetadata.AvailableVersionSource.set -> void
3+
NuGet.Protocol.Core.Types.PackageSearchMetadataBuilder.ClonedPackageSearchMetadata.AvailableVersionSource.get -> string
4+
NuGet.Protocol.Core.Types.PackageSearchMetadataBuilder.ClonedPackageSearchMetadata.AvailableVersionSource.set -> void
5+
NuGet.Protocol.LocalPackageSearchMetadata.AvailableVersionSource.get -> string
6+
NuGet.Protocol.LocalPackageSearchMetadata.AvailableVersionSource.set -> void
7+
NuGet.Protocol.PackageSearchMetadata.AvailableVersionSource.get -> string
8+
NuGet.Protocol.PackageSearchMetadata.AvailableVersionSource.set -> void
9+
NuGet.Protocol.PackageSearchMetadataV2Feed.AvailableVersionSource.get -> string
10+
NuGet.Protocol.PackageSearchMetadataV2Feed.AvailableVersionSource.set -> void
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
NuGet.Protocol.Core.Types.IPackageSearchMetadata.AvailableVersionSource.get -> string
2+
NuGet.Protocol.Core.Types.IPackageSearchMetadata.AvailableVersionSource.set -> void
3+
NuGet.Protocol.Core.Types.PackageSearchMetadataBuilder.ClonedPackageSearchMetadata.AvailableVersionSource.get -> string
4+
NuGet.Protocol.Core.Types.PackageSearchMetadataBuilder.ClonedPackageSearchMetadata.AvailableVersionSource.set -> void
5+
NuGet.Protocol.LocalPackageSearchMetadata.AvailableVersionSource.get -> string
6+
NuGet.Protocol.LocalPackageSearchMetadata.AvailableVersionSource.set -> void
7+
NuGet.Protocol.PackageSearchMetadata.AvailableVersionSource.get -> string
8+
NuGet.Protocol.PackageSearchMetadata.AvailableVersionSource.set -> void
9+
NuGet.Protocol.PackageSearchMetadataV2Feed.AvailableVersionSource.get -> string
10+
NuGet.Protocol.PackageSearchMetadataV2Feed.AvailableVersionSource.set -> void
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
NuGet.Protocol.Core.Types.IPackageSearchMetadata.AvailableVersionSource.get -> string
2+
NuGet.Protocol.Core.Types.IPackageSearchMetadata.AvailableVersionSource.set -> void
3+
NuGet.Protocol.Core.Types.PackageSearchMetadataBuilder.ClonedPackageSearchMetadata.AvailableVersionSource.get -> string
4+
NuGet.Protocol.Core.Types.PackageSearchMetadataBuilder.ClonedPackageSearchMetadata.AvailableVersionSource.set -> void
5+
NuGet.Protocol.LocalPackageSearchMetadata.AvailableVersionSource.get -> string
6+
NuGet.Protocol.LocalPackageSearchMetadata.AvailableVersionSource.set -> void
7+
NuGet.Protocol.PackageSearchMetadata.AvailableVersionSource.get -> string
8+
NuGet.Protocol.PackageSearchMetadata.AvailableVersionSource.set -> void
9+
NuGet.Protocol.PackageSearchMetadataV2Feed.AvailableVersionSource.get -> string
10+
NuGet.Protocol.PackageSearchMetadataV2Feed.AvailableVersionSource.set -> void

0 commit comments

Comments
 (0)