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,
"isRoot": true,
"tools": {
"codecov.tool": {
"version": "1.13.0",
"commands": [
"codecov"
]
},
"gitversion.tool": {
"version": "5.10.1",
"commands": [
"dotnet-gitversion"
]
},
"gitreleasemanager.tool": {
"version": "0.13.0",
"commands": [
"dotnet-gitreleasemanager"
]
},
"Wyam2.Tool": {
"version": "3.0.0-rc3",
"commands": [
"wyam2"
]
}
"version": 1,
"isRoot": true,
"tools": {
"codecov.tool": {
"version": "1.13.0",
"commands": [
"codecov"
],
"rollForward": false
},
"gitversion.tool": {
"version": "5.10.1",
"commands": [
"dotnet-gitversion"
],
"rollForward": false
},
"gitreleasemanager.tool": {
"version": "0.13.0",
"commands": [
"dotnet-gitreleasemanager"
],
"rollForward": false
},
"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;
if (pkg.DependencyGroups!=null)
{
if (pkg.DependencyGroups.Count>0)
{
DependencySets = pkg.DependencyGroups.ToNugetDepSet();
}
DependencySets = pkg.DependencyGroups.ToDepSetInfo();
}
PackageDetailsUrl = new Uri(this.id);
@ -212,7 +210,9 @@ namespace isnd.Data.Catalog
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()
{
@ -224,4 +224,14 @@ namespace isnd.Data.Catalog
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
{
[JsonIgnore]
[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public string Id { get;set;}
/// <summary>
/// Dependency Package Identifier
/// </summary>
/// <value></value>
[JsonProperty("id")]
public string PackageId { get;set;}
/// <summary>
@ -28,8 +31,9 @@ namespace isnd.Data
[JsonIgnore]
public virtual PackageDependencyGroup Group{ get; set; }
// TODO Version Range
[JsonProperty("range")]
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.Schema;
using System.Linq;
using isnd.Data.Catalog;
using Microsoft.DotNet.Scaffolding.Shared.ProjectModel;
using Microsoft.Identity.Client;
using Newtonsoft.Json;
@ -15,12 +16,9 @@ namespace isnd.Data
{
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(
new NuGetFramework(group.TargetFramework),
group.Dependencies.Select(dep => new PackageDependency(dep.PackageId))
)).ToArray();
return groups.Select(group => new PackageDependencyGroupInfo(group)).ToArray();
}
}
public class PackageDependencyGroup
@ -30,7 +28,7 @@ namespace isnd.Data
public string Id { get ; set;}
[Required]
[JsonIgnore]
[JsonProperty("id")]
public string PackageId { get ; set;}
[Required]
@ -41,7 +39,7 @@ namespace isnd.Data
[Required]
public string TargetFramework { get; set; }
[JsonProperty("dependencies")]
[JsonIgnore]
[ForeignKey("DependencyGroupId")]
public virtual List<Dependency> Dependencies { get; set; }

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