This commit is contained in:
Timothy Baldridge 2022-04-04 14:24:13 -06:00
parent 6f322d4a35
commit eaaa082600
6 changed files with 47 additions and 33 deletions

View File

@ -1,5 +1,13 @@
### Changelog
#### Version - 2.5.3.12 - 4/4/2022
* Allow featured modlists to exist in other repositories
* Continue to load the gallery even if a parse failure happens while loading a repository
#### Version - 2.5.3.11 - 4/2/2022
* New entry in `Links` named `discordURL` allows authors to add a discord link to their install page
* Reworks for decentralization
#### Version - 2.5.3.10 - 3/26/2022
* Report file sizes before generating patches
* When displaying a browser, we now show the navigated to Url (and a copy to clipboard button)

View File

@ -6,9 +6,9 @@
<AssemblyName>wabbajack-cli</AssemblyName>
<Company>Wabbajack</Company>
<Platforms>x64</Platforms>
<AssemblyVersion>2.5.3.10</AssemblyVersion>
<FileVersion>2.5.3.10</FileVersion>
<Copyright>Copyright © 2019-2021</Copyright>
<AssemblyVersion>2.5.3.12</AssemblyVersion>
<FileVersion>2.5.3.12</FileVersion>
<Copyright>Copyright © 2019-2022</Copyright>
<Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>

View File

@ -4,9 +4,9 @@
<OutputType>Exe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyVersion>2.5.3.10</AssemblyVersion>
<FileVersion>2.5.3.10</FileVersion>
<Copyright>Copyright © 2019-2020</Copyright>
<AssemblyVersion>2.5.3.12</AssemblyVersion>
<FileVersion>2.5.3.12</FileVersion>
<Copyright>Copyright © 2019-2022</Copyright>
<Description>Wabbajack Application Launcher</Description>
<PublishReadyToRun>true</PublishReadyToRun>
<PublishSingleFile>true</PublishSingleFile>

View File

@ -60,6 +60,8 @@ namespace Wabbajack.Lib.ModListRegistry
public ModListSummary ValidationSummary { get; set; } = new ModListSummary();
[JsonName("repositoryName")] public string RepositoryName { get; set; } = string.Empty;
[JsonIgnore] public string NamespacedName => $"{RepositoryName}/{Links.MachineURL}";
[JsonIgnore] public bool IsFeatured { get; set; }
[JsonName("Links")]
public class LinksObject
@ -120,41 +122,43 @@ namespace Wabbajack.Lib.ModListRegistry
return repositories!;
}
public static async Task<HashSet<string>> LoadFeatured()
{
var client = new Http.Client();
var repositories = (await client.GetStringAsync("https://raw.githubusercontent.com/wabbajack-tools/mod-lists/master/featured_lists.json"))
.FromJsonString<string[]>();
return repositories!.ToHashSet();
}
public static async Task<ModlistMetadata[]> LoadModlists()
{
var repos = await LoadRepositories();
var featured = await LoadFeatured();
List<ModlistMetadata> metadatas = new();
var client = new Http.Client();
foreach (var repo in repos)
{
var newData = (await client.GetStringAsync(repo.Value))
.FromJsonString<ModlistMetadata[]>()
.Select(meta =>
{
meta.RepositoryName = repo.Key;
return meta;
});
metadatas.AddRange(newData);
try
{
var newData = (await client.GetStringAsync(repo.Value))
.FromJsonString<ModlistMetadata[]>()
.Select(meta =>
{
meta.RepositoryName = repo.Key;
meta.IsFeatured = meta.RepositoryName == "wj-featured" || featured.Contains(meta.NamespacedName);
return meta;
});
metadatas.AddRange(newData);
}
catch (JsonException je)
{
Utils.Log($"Parsing {repo.Key} got a json parse exception {je}");
}
}
return metadatas.ToArray();
}
public static async Task<List<ModlistMetadata>> LoadUnlistedFromGithub()
{
try
{
var client = new Http.Client();
return (await client.GetStringAsync(Consts.UnlistedModlistMetadataURL)).FromJsonString<List<ModlistMetadata>>();
}
catch (Exception)
{
Utils.LogStatus("Error loading unlisted modlists");
return new List<ModlistMetadata>();
}
}
public async ValueTask<bool> NeedsDownload(AbsolutePath modlistPath)
{
if (!modlistPath.Exists) return true;

View File

@ -6,9 +6,9 @@
<UseWPF>true</UseWPF>
<Platforms>x64</Platforms>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<AssemblyVersion>2.5.3.10</AssemblyVersion>
<FileVersion>2.5.3.10</FileVersion>
<Copyright>Copyright © 2019-2021</Copyright>
<AssemblyVersion>2.5.3.12</AssemblyVersion>
<FileVersion>2.5.3.12</FileVersion>
<Copyright>Copyright © 2019-2022</Copyright>
<Description>An automated ModList installer</Description>
<PublishReadyToRun>true</PublishReadyToRun>
<StartupObject></StartupObject>

View File

@ -2,6 +2,8 @@ dotnet clean
dotnet restore
dotnet publish Wabbajack\Wabbajack.csproj --runtime win10-x64 --configuration Release /p:Platform=x64 -o M:\Games\wabbajack_files\app --self-contained
dotnet publish Wabbajack.Launcher\Wabbajack.Launcher.csproj --runtime win10-x64 --configuration Release /p:Platform=x64 -o M:\Games\wabbajack_files\launcher --self-contained
dotnet publish c:\oss\Wabbajack\Wabbajack.CLI\Wabbajack.CLI.csproj --runtime win10-x64 --configuration Release /p:Platform=x64 -o M:\Games\wabbajack_files\cli --self-contained
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" sign /t http://timestamp.sectigo.com M:\Games\wabbajack_files\launcher\Wabbajack.exe
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" sign /t http://timestamp.sectigo.com M:\Games\wabbajack_files\app\Wabbajack.exe
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" sign /t http://timestamp.sectigo.com M:\Games\wabbajack_files\app\wabbajack-cli.exe
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" sign /t http://timestamp.sectigo.com M:\Games\wabbajack_files\app\wabbajack-cli.exe
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" sign /t http://timestamp.sectigo.com M:\Games\wabbajack_files\cli\wabbajack-cli.exe