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 }}/ path: ${{ matrix.app }}/
- name: Set permissions - name: Set permissions
if: ${{ !startsWith(matrix.rid, 'win') }} if: ${{ !startsWith(matrix.rid, 'win-') }}
run: chmod +x ${{ matrix.app }}/${{ matrix.asset }} run: chmod +x ${{ matrix.app }}/${{ matrix.asset }}
- name: Create package - name: Create package
@@ -4,9 +4,8 @@
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<ApplicationIcon>..\favicon.ico</ApplicationIcon> <ApplicationIcon>..\favicon.ico</ApplicationIcon>
<PublishTrimmed>true</PublishTrimmed> <PublishTrimmed>true</PublishTrimmed>
<NoWarn>$(NoWarn);IL2104</NoWarn>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CliFx" Version="2.3.5" /> <PackageReference Include="CliFx" Version="2.3.5" />
<PackageReference Include="CSharpier.MsBuild" Version="0.28.2" PrivateAssets="all" /> <PackageReference Include="CSharpier.MsBuild" Version="0.28.2" PrivateAssets="all" />
+4
View File
@@ -3,6 +3,8 @@ using System.Threading.Tasks;
using CliFx; using CliFx;
using DiscordChatExporter.Cli.Commands; using DiscordChatExporter.Cli.Commands;
using DiscordChatExporter.Cli.Commands.Converters; using DiscordChatExporter.Cli.Commands.Converters;
using DiscordChatExporter.Core.Exporting.Filtering;
using DiscordChatExporter.Core.Exporting.Partitioning;
namespace DiscordChatExporter.Cli; namespace DiscordChatExporter.Cli;
@@ -22,6 +24,8 @@ public static class Program
typeof(ThreadInclusionModeBindingConverter) typeof(ThreadInclusionModeBindingConverter)
)] )]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(TruthyBooleanBindingConverter))] [DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(TruthyBooleanBindingConverter))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(PartitionLimit))]
[DynamicDependency(DynamicallyAccessedMemberTypes.All, typeof(MessageFilter))]
public static async Task<int> Main(string[] args) => public static async Task<int> Main(string[] args) =>
await new CliApplicationBuilder() await new CliApplicationBuilder()
.AddCommand<ExportAllCommand>() .AddCommand<ExportAllCommand>()
@@ -26,7 +26,7 @@
<PackageReference Include="Material.Avalonia" Version="3.6.0" /> <PackageReference Include="Material.Avalonia" Version="3.6.0" />
<PackageReference Include="Material.Icons.Avalonia" Version="2.1.9" /> <PackageReference Include="Material.Icons.Avalonia" Version="2.1.9" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> <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>
<ItemGroup> <ItemGroup>
@@ -9,18 +9,20 @@ namespace DiscordChatExporter.Gui.Services;
public class UpdateService(SettingsService settingsService) : IDisposable public class UpdateService(SettingsService settingsService) : IDisposable
{ {
private readonly IUpdateManager _updateManager = new UpdateManager( private readonly IUpdateManager? _updateManager = OperatingSystem.IsWindows()
new GithubPackageResolver( ? new UpdateManager(
"Tyrrrz", new GithubPackageResolver(
"DiscordChatExporter", "Tyrrrz",
// Examples: "DiscordChatExporter",
// DiscordChatExporter.win-arm64.zip // Examples:
// DiscordChatExporter.win-x64.zip // DiscordChatExporter.win-arm64.zip
// DiscordChatExporter.linux-x64.zip // DiscordChatExporter.win-x64.zip
$"DiscordChatExporter.{RuntimeInformation.RuntimeIdentifier}.zip" // DiscordChatExporter.linux-x64.zip
), $"DiscordChatExporter.{RuntimeInformation.RuntimeIdentifier}.zip"
new ZipPackageExtractor() ),
); new ZipPackageExtractor()
)
: null;
private Version? _updateVersion; private Version? _updateVersion;
private bool _updatePrepared; private bool _updatePrepared;
@@ -28,6 +30,9 @@ public class UpdateService(SettingsService settingsService) : IDisposable
public async ValueTask<Version?> CheckForUpdatesAsync() public async ValueTask<Version?> CheckForUpdatesAsync()
{ {
if (_updateManager is null)
return null;
if (!settingsService.IsAutoUpdateEnabled) if (!settingsService.IsAutoUpdateEnabled)
return null; return null;
@@ -37,6 +42,9 @@ public class UpdateService(SettingsService settingsService) : IDisposable
public async ValueTask PrepareUpdateAsync(Version version) public async ValueTask PrepareUpdateAsync(Version version)
{ {
if (_updateManager is null)
return;
if (!settingsService.IsAutoUpdateEnabled) if (!settingsService.IsAutoUpdateEnabled)
return; return;
@@ -57,11 +65,10 @@ public class UpdateService(SettingsService settingsService) : IDisposable
public void FinalizeUpdate(bool needRestart) public void FinalizeUpdate(bool needRestart)
{ {
if (!settingsService.IsAutoUpdateEnabled) if (_updateManager is null)
return; return;
// Onova only works on Windows currently if (!settingsService.IsAutoUpdateEnabled)
if (!OperatingSystem.IsWindows())
return; return;
if (_updateVersion is null || !_updatePrepared || _updaterLaunched) 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();
} }