WIP package resolution

main
Paul Schneider 2 months ago
parent 01405abdf2
commit 8532b81638
5 changed files with 66 additions and 43 deletions

@ -1,30 +1,41 @@
{ {
"version": 1, "version": 1,
"isRoot": true, "isRoot": true,
"tools": { "tools": {
"codecov.tool": { "codecov.tool": {
"version": "1.13.0", "version": "1.13.0",
"commands": [ "commands": [
"codecov" "codecov"
] ],
}, "rollForward": false
"gitversion.tool": { },
"version": "5.10.1", "gitversion.tool": {
"commands": [ "version": "5.10.1",
"dotnet-gitversion" "commands": [
] "dotnet-gitversion"
}, ],
"gitreleasemanager.tool": { "rollForward": false
"version": "0.13.0", },
"commands": [ "gitreleasemanager.tool": {
"dotnet-gitreleasemanager" "version": "0.13.0",
] "commands": [
}, "dotnet-gitreleasemanager"
"Wyam2.Tool": { ],
"version": "3.0.0-rc3", "rollForward": false
"commands": [ },
"wyam2" "Wyam2.Tool": {
] "version": "3.0.0-rc3",
} "commands": [
"wyam2"
],
"rollForward": false
},
"dotnet-ef": {
"version": "8.0.7",
"commands": [
"dotnet-ef"
],
"rollForward": false
} }
} }
}

@ -35,10 +35,8 @@ namespace isnd.Data.Catalog
IsListed = !pkg.IsDeleted && pkg.Package.Public; IsListed = !pkg.IsDeleted && pkg.Package.Public;
if (pkg.DependencyGroups!=null) if (pkg.DependencyGroups!=null)
{ {
if (pkg.DependencyGroups.Count>0) DependencySets = pkg.DependencyGroups.ToDepSetInfo();
{
DependencySets = pkg.DependencyGroups.ToNugetDepSet();
}
} }
PackageDetailsUrl = new Uri(this.id); PackageDetailsUrl = new Uri(this.id);
@ -212,7 +210,9 @@ namespace isnd.Data.Catalog
public LicenseMetadata LicenseMetadata { get; set; } public LicenseMetadata LicenseMetadata { get; set; }
public IEnumerable<NuGet.Packaging.PackageDependencyGroup> DependencySets {get; set;} public IEnumerable<PackageDependencyGroupInfo> DependencySets {get; set;}
IEnumerable<NuGet.Packaging.PackageDependencyGroup> IPackageSearchMetadata.DependencySets => throw new NotImplementedException();
public Task<PackageDeprecationMetadata> GetDeprecationMetadataAsync() public Task<PackageDeprecationMetadata> GetDeprecationMetadataAsync()
{ {
@ -224,4 +224,14 @@ namespace isnd.Data.Catalog
throw new NotImplementedException(); throw new NotImplementedException();
} }
} }
public class PackageDependencyGroupInfo
{
private PackageDependencyGroup group;
public PackageDependencyGroupInfo(PackageDependencyGroup group)
{
this.group = group;
}
}
} }

@ -8,12 +8,15 @@ namespace isnd.Data
{ {
public class Dependency public class Dependency
{ {
[JsonIgnore]
[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string Id { get;set;} public string Id { get;set;}
/// <summary> /// <summary>
/// Dependency Package Identifier /// Dependency Package Identifier
/// </summary> /// </summary>
/// <value></value> /// <value></value>
[JsonProperty("id")]
public string PackageId { get;set;} public string PackageId { get;set;}
/// <summary> /// <summary>
@ -28,8 +31,9 @@ namespace isnd.Data
[JsonIgnore] [JsonIgnore]
public virtual PackageDependencyGroup Group{ get; set; } public virtual PackageDependencyGroup Group{ get; set; }
// TODO Version Range
[JsonProperty("range")]
public string Version { get; set; } public string Version { get; set; }
public string Exclude { get; set; }
} }
} }

@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using System.Linq; using System.Linq;
using isnd.Data.Catalog;
using Microsoft.DotNet.Scaffolding.Shared.ProjectModel; using Microsoft.DotNet.Scaffolding.Shared.ProjectModel;
using Microsoft.Identity.Client; using Microsoft.Identity.Client;
using Newtonsoft.Json; using Newtonsoft.Json;
@ -15,12 +16,9 @@ namespace isnd.Data
{ {
static class Helpers static class Helpers
{ {
public static NuGet.Packaging.PackageDependencyGroup[] ToNugetDepSet(this IEnumerable<PackageDependencyGroup> groups) public static PackageDependencyGroupInfo[] ToDepSetInfo(this IEnumerable<PackageDependencyGroup> groups)
{ {
return groups.Select(group => new NuGet.Packaging.PackageDependencyGroup( return groups.Select(group => new PackageDependencyGroupInfo(group)).ToArray();
new NuGetFramework(group.TargetFramework),
group.Dependencies.Select(dep => new PackageDependency(dep.PackageId))
)).ToArray();
} }
} }
public class PackageDependencyGroup public class PackageDependencyGroup
@ -30,7 +28,7 @@ namespace isnd.Data
public string Id { get ; set;} public string Id { get ; set;}
[Required] [Required]
[JsonIgnore] [JsonProperty("id")]
public string PackageId { get ; set;} public string PackageId { get ; set;}
[Required] [Required]
@ -41,7 +39,7 @@ namespace isnd.Data
[Required] [Required]
public string TargetFramework { get; set; } public string TargetFramework { get; set; }
[JsonProperty("dependencies")] [JsonIgnore]
[ForeignKey("DependencyGroupId")] [ForeignKey("DependencyGroupId")]
public virtual List<Dependency> Dependencies { get; set; } public virtual List<Dependency> Dependencies { get; set; }

@ -3,6 +3,6 @@
ViewData["Title"] = "Home Page"; ViewData["Title"] = "Home Page";
} }
<div class="text-center"> <div class="text-center">
<h1 class="display-4">Wasa!</h1> <h1 class="display-4">Bom</h1>
<p>hum.</p> <p>'Key!</p>
</div> </div>
Loading…