fix nuget
All checks were successful
Build / Compute Version (push) Successful in 5s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 2m38s
Build / Build Nuget package (NuGet) (push) Successful in 2m24s
Build / Build Nuget package (CringePlugins) (push) Successful in 2m48s
Build / Build Nuget package (SharedCringe) (push) Successful in 2m29s
Build / Build Launcher (push) Successful in 3m50s
All checks were successful
Build / Compute Version (push) Successful in 5s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 2m38s
Build / Build Nuget package (NuGet) (push) Successful in 2m24s
Build / Build Nuget package (CringePlugins) (push) Successful in 2m48s
Build / Build Nuget package (SharedCringe) (push) Successful in 2m29s
Build / Build Launcher (push) Successful in 3m50s
This commit is contained in:
@@ -8,6 +8,7 @@ using NLog;
|
||||
using NuGet;
|
||||
using NuGet.Deps;
|
||||
using NuGet.Frameworks;
|
||||
using NuGet.Versioning;
|
||||
|
||||
namespace CringePlugins.Loader;
|
||||
|
||||
@@ -19,7 +20,7 @@ public class PluginsLifetime : ILoadingStage
|
||||
|
||||
private ImmutableArray<PluginInstance> _plugins = [];
|
||||
private readonly DirectoryInfo _dir = Directory.CreateDirectory(Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "CringeLauncher"));
|
||||
private readonly NuGetFramework _runtimeFramework = NuGetFramework.ParseFolder("net8.0-windows");
|
||||
private readonly NuGetFramework _runtimeFramework = NuGetFramework.ParseFolder("net8.0-windows10.0.19041.0");
|
||||
|
||||
public async ValueTask Load(ISplashProgress progress)
|
||||
{
|
||||
@@ -83,18 +84,25 @@ public class PluginsLifetime : ILoadingStage
|
||||
private async Task LoadPlugins(IReadOnlySet<CachedPackage> packages, PackageSourceMapping sourceMapping)
|
||||
{
|
||||
var plugins = _plugins.ToBuilder();
|
||||
|
||||
var packageVersions = BuiltInPackages.GetPackages(_runtimeFramework)
|
||||
.ToImmutableDictionary(b => b.Package.Id, b => b.Package.Version,
|
||||
StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
packageVersions = packageVersions.AddRange(packages.Select(b =>
|
||||
new KeyValuePair<string, NuGetVersion>(b.Package.Id, b.Package.Version)));
|
||||
|
||||
var manifestBuilder = new DependencyManifestBuilder(_dir.CreateSubdirectory("cache"), sourceMapping,
|
||||
dependency => packageVersions.TryGetValue(dependency.Id, out var version) && version.Major != 99
|
||||
? version
|
||||
: dependency.Range.MinVersion ?? dependency.Range.MaxVersion);
|
||||
|
||||
foreach (var package in packages)
|
||||
{
|
||||
var dir = Path.Join(package.Directory.FullName, "lib", package.ResolvedFramework.GetShortFolderName());
|
||||
|
||||
await using (var stream = File.Create(Path.Join(dir, $"{package.Package.Id}.deps.json")))
|
||||
await DependencyManifestUtility.WriteDependencyManifestAsync(stream, package.Entry, _runtimeFramework,
|
||||
sourceMapping,
|
||||
dependency =>
|
||||
packages.First(b => b.Package.Id.Equals(dependency.Id, StringComparison.OrdinalIgnoreCase))
|
||||
.Package
|
||||
.Version);
|
||||
await manifestBuilder.WriteDependencyManifestAsync(stream, package.Entry, _runtimeFramework);
|
||||
|
||||
LoadComponent(plugins, Path.Join(dir, $"{package.Package.Id}.dll"));
|
||||
}
|
||||
|
Reference in New Issue
Block a user