@@ -14,6 +14,8 @@ namespace UniGetUI.PackageEngine.Managers.PowerShellManager
1414{
1515 public abstract class BaseNuGet : PackageManager
1616 {
17+ public static Dictionary < long , string > Manifests = new ( ) ;
18+
1719 public sealed override void Initialize ( )
1820 {
1921 if ( DetailsHelper is not BaseNuGetDetailsHelper )
@@ -39,6 +41,7 @@ private struct SearchResult
3941 public string version ;
4042 public CoreTools . Version version_float ;
4143 public string id ;
44+ public string manifest ;
4245 }
4346
4447 protected sealed override IReadOnlyList < Package > FindPackages_UnSafe ( string query )
@@ -93,14 +96,13 @@ protected sealed override IReadOnlyList<Package> FindPackages_UnSafe(string quer
9396 var float_version = CoreTools . VersionStringToStruct ( version ) ;
9497 // Match title = Regex.Match(match.Value, "<title[ \\\"\\=A-Za-z0-9]+>([^<>]+)<\\/title>");
9598
96- if ( AlreadyProcessedPackages . TryGetValue ( id , out var value ) &&
97- value . version_float >= float_version )
99+ if ( AlreadyProcessedPackages . TryGetValue ( id , out var value ) && value . version_float >= float_version )
98100 {
99101 continue ;
100102 }
101103
102104 AlreadyProcessedPackages [ id ] =
103- new SearchResult { id = id , version = version , version_float = float_version } ;
105+ new SearchResult { id = id , version = version , version_float = float_version , manifest = match . Value } ;
104106 }
105107
106108 SearchUrl = null ;
@@ -115,7 +117,9 @@ protected sealed override IReadOnlyList<Package> FindPackages_UnSafe(string quer
115117 foreach ( SearchResult package in AlreadyProcessedPackages . Values )
116118 {
117119 logger . Log ( $ "Found package { package . id } version { package . version } on source { source . Name } ") ;
118- Packages . Add ( new Package ( CoreTools . FormatAsName ( package . id ) , package . id , package . version , source , this ) ) ;
120+ var nativePackage = new Package ( CoreTools . FormatAsName ( package . id ) , package . id , package . version , source , this ) ;
121+ Packages . Add ( nativePackage ) ;
122+ Manifests [ nativePackage . GetHash ( ) ] = package . manifest ;
119123 }
120124 }
121125
@@ -182,7 +186,10 @@ protected override IReadOnlyList<Package> GetAvailableUpdates_UnSafe()
182186 // Match title = Regex.Match(match.Value, "<title[ \\\"\\=A-Za-z0-9]+>([^<>]+)<\\/title>");
183187
184188 logger . Log ( $ "Found package { id } version { new_version } on source { pair . Key . Name } ") ;
185- Packages . Add ( new Package ( CoreTools . FormatAsName ( id ) , id , packageIdVersion [ id . ToLower ( ) ] , new_version , pair . Key , this ) ) ;
189+
190+ var nativePackage = new Package ( CoreTools . FormatAsName ( id ) , id , packageIdVersion [ id . ToLower ( ) ] , new_version , pair . Key , this ) ;
191+ Packages . Add ( nativePackage ) ;
192+ Manifests [ nativePackage . GetHash ( ) ] = match . Value ;
186193 }
187194 }
188195 }
0 commit comments