Compare commits

...

4 Commits

Author SHA1 Message Date
Oleksii Holub 949abc2582 Fix --partition and --filter options not working due to assembly trimming (#1240) 2024-05-26 23:12:05 +03:00
Tyrrrz 3b3423dd9b Clean up platform checks in update service 2024-05-24 01:28:35 +03:00
Tyrrrz 8380e88744 Consistent platform checks 2024-05-23 18:03:52 +03:00
Tyrrrz f1bc5a2266 Remove NoWarn in the CLI project 2024-05-23 17:23:49 +03:00
5 changed files with 30 additions and 20 deletions
+1 -1
View File
@@ -197,7 +197,7 @@ jobs:
path: ${{ matrix.app }}/
- name: Set permissions
if: ${{ !startsWith(matrix.rid, 'win') }}
if: ${{ !startsWith(matrix.rid, 'win-') }}
run: chmod +x ${{ matrix.app }}/${{ matrix.asset }}
- name: Create package
@@ -4,9 +4,8 @@
<OutputType>Exe</OutputType>
<ApplicationIcon>..\favicon.ico</ApplicationIcon>
<PublishTrimmed>true</PublishTrimmed>
<NoWarn>$(NoWarn);IL2104</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CliFx" Version="2.3.5" />
<PackageReference Include="CSharpier.MsBuild" Version="0.28.2" PrivateAssets="all" />
+4
View File
@@ -3,6 +3,8 @@ using System.Threading.Tasks;
using CliFx;
using DiscordChatExporter.Cli.Commands;
using DiscordChatExporter.Cli.Commands.Converters;
using DiscordChatExporter.Core.Exporting.Filtering;
using DiscordChatExporter.Core.Exporting.Partitioning;
namespace DiscordChatExporter.Cli;
@@ -22,6 +24,8 @@ public static class Program
typeof(ThreadInclusionModeBindingConverter)
)]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(TruthyBooleanBindingConverter))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(PartitionLimit))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(MessageFilter))]
public static async Task<int> Main(string[] args) =>
await new CliApplicationBuilder()
.AddCommand<ExportAllCommand>()
@@ -26,7 +26,7 @@
<PackageReference Include="Material.Avalonia" Version="3.6.0" />
<PackageReference Include="Material.Icons.Avalonia" Version="2.1.9" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Onova" Version="2.6.11" />
<PackageReference Include="Onova" Version="2.6.12" />
</ItemGroup>
<ItemGroup>
@@ -9,18 +9,20 @@ namespace DiscordChatExporter.Gui.Services;
public class UpdateService(SettingsService settingsService) : IDisposable
{
private readonly IUpdateManager _updateManager = new UpdateManager(
new GithubPackageResolver(
"Tyrrrz",
"DiscordChatExporter",
// Examples:
// DiscordChatExporter.win-arm64.zip
// DiscordChatExporter.win-x64.zip
// DiscordChatExporter.linux-x64.zip
$"DiscordChatExporter.{RuntimeInformation.RuntimeIdentifier}.zip"
),
new ZipPackageExtractor()
);
private readonly IUpdateManager? _updateManager = OperatingSystem.IsWindows()
? new UpdateManager(
new GithubPackageResolver(
"Tyrrrz",
"DiscordChatExporter",
// Examples:
// DiscordChatExporter.win-arm64.zip
// DiscordChatExporter.win-x64.zip
// DiscordChatExporter.linux-x64.zip
$"DiscordChatExporter.{RuntimeInformation.RuntimeIdentifier}.zip"
),
new ZipPackageExtractor()
)
: null;
private Version? _updateVersion;
private bool _updatePrepared;
@@ -28,6 +30,9 @@ public class UpdateService(SettingsService settingsService) : IDisposable
public async ValueTask<Version?> CheckForUpdatesAsync()
{
if (_updateManager is null)
return null;
if (!settingsService.IsAutoUpdateEnabled)
return null;
@@ -37,6 +42,9 @@ public class UpdateService(SettingsService settingsService) : IDisposable
public async ValueTask PrepareUpdateAsync(Version version)
{
if (_updateManager is null)
return;
if (!settingsService.IsAutoUpdateEnabled)
return;
@@ -57,11 +65,10 @@ public class UpdateService(SettingsService settingsService) : IDisposable
public void FinalizeUpdate(bool needRestart)
{
if (!settingsService.IsAutoUpdateEnabled)
if (_updateManager is null)
return;
// Onova only works on Windows currently
if (!OperatingSystem.IsWindows())
if (!settingsService.IsAutoUpdateEnabled)
return;
if (_updateVersion is null || !_updatePrepared || _updaterLaunched)
@@ -82,5 +89,5 @@ public class UpdateService(SettingsService settingsService) : IDisposable
}
}
public void Dispose() => _updateManager.Dispose();
public void Dispose() => _updateManager?.Dispose();
}