Skip to content

Commit d1cc3e0

Browse files
Update MSU Scripter nuget packages
1 parent 1056b8d commit d1cc3e0

37 files changed

+620
-385
lines changed

MSUScripter/FodyWeavers.xml

Lines changed: 0 additions & 3 deletions
This file was deleted.

MSUScripter/MSUScripter.csproj

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,38 @@
1111
<Version>5.1.0-beta.1</Version>
1212
<RuntimeFrameworkVersion>9.0.0</RuntimeFrameworkVersion>
1313
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
14-
<LangVersion>12</LangVersion>
14+
<LangVersion>13</LangVersion>
1515
</PropertyGroup>
1616

1717

1818
<ItemGroup>
19-
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.3.2" />
19+
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.3.9" />
2020
<PackageReference Include="Deadpikle.AvaloniaProgressRing" Version="0.10.10" />
2121
<PackageReference Include="K4os.Hash.xxHash" Version="1.0.8" />
2222
<PackageReference Include="MattEqualsCoder.AppImageManager" Version="0.1.3" />
2323
<!--Condition
2424
below is needed to remove Avalonia.Diagnostics package from build output in Release
2525
configuration.-->
26-
<PackageReference Include="MattEqualsCoder.AvaloniaControls" Version="1.9.1" />
27-
<PackageReference Include="MattEqualsCoder.GitHubReleaseChecker" Version="1.1.3" />
28-
<PackageReference Include="MattEqualsCoder.MSURandomizer.Library" Version="3.2.1" />
29-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.9" />
30-
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.9" />
26+
<PackageReference Include="MattEqualsCoder.AvaloniaControls" Version="2.0.0-beta.2" />
27+
<PackageReference Include="MattEqualsCoder.GitHubReleaseChecker" Version="1.1.4" />
28+
<PackageReference Include="MattEqualsCoder.MSURandomizer.Library" Version="3.2.2" />
29+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.1" />
30+
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.1" />
3131
<PackageReference Include="NAudio" Version="2.2.1" />
3232
<PackageReference Include="NAudio.WinMM" Version="2.2.1" />
33-
<PackageReference Include="NJsonSchema.CodeGeneration.CSharp" Version="11.5.1" />
34-
<PackageReference Include="ReactiveUI.Fody" Version="19.5.41" />
33+
<PackageReference Include="NJsonSchema.CodeGeneration.CSharp" Version="11.5.2" />
34+
<PackageReference Include="ReactiveUI.SourceGenerators" Version="2.5.1">
35+
<PrivateAssets>all</PrivateAssets>
36+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
37+
</PackageReference>
3538
<PackageReference Include="Serilog" Version="4.3.0" />
36-
<PackageReference Include="Serilog.Extensions.Hosting" Version="9.0.0" />
37-
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
39+
<PackageReference Include="Serilog.Extensions.Hosting" Version="10.0.0" />
40+
<PackageReference Include="Serilog.Sinks.Console" Version="6.1.1" />
3841
<PackageReference Include="Serilog.Sinks.Debug" Version="3.0.0" />
3942
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
4043
<PackageReference Include="SharpZipLib" Version="1.4.2" />
41-
<PackageReference Include="SoundFlow" Version="1.1.1" />
42-
<PackageReference Include="System.Management" Version="9.0.9" />
44+
<PackageReference Include="SoundFlow" Version="1.1.2" />
45+
<PackageReference Include="System.Management" Version="10.0.1" />
4346
<PackageReference Include="TagLibSharp" Version="2.3.0" />
4447
</ItemGroup>
4548

MSUScripter/Program.cs

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
using Avalonia;
22
using System;
3+
using System.CodeDom.Compiler;
34
using System.Collections.Generic;
45
using System.IO;
6+
using System.Reflection;
57
// ReSharper disable once RedundantUsingDirective
68
using System.Linq;
79
using System.Threading;
@@ -13,9 +15,13 @@
1315
using GitHubReleaseChecker;
1416
using Microsoft.Extensions.DependencyInjection;
1517
using Microsoft.Extensions.Hosting;
18+
using Microsoft.Extensions.Logging;
1619
using MSURandomizerLibrary;
1720
using MSUScripter.Models;
1821
using MSUScripter.Services;
22+
using MSUScripter.ViewModels;
23+
using ReactiveUI;
24+
using ReactiveUI.SourceGenerators;
1925
using Serilog;
2026
using Win32RenderingMode = Avalonia.Win32RenderingMode;
2127

@@ -32,7 +38,6 @@ class Program
3238
[STAThread]
3339
public static void Main(string[] args)
3440
{
35-
3641
var loggerConfiguration = new LoggerConfiguration();
3742

3843
#if DEBUG
@@ -57,6 +62,10 @@ public static void Main(string[] args)
5762
#endif
5863
.CreateLogger();
5964

65+
#if DEBUG
66+
CheckReactiveProperties();
67+
#endif
68+
6069
if (args.Length == 1 && args[0].EndsWith(".msup", StringComparison.OrdinalIgnoreCase) && File.Exists(args[0]))
6170
{
6271
StartingProject = args[0];
@@ -167,5 +176,46 @@ await Dispatcher.UIThread.Invoke(async () =>
167176
#else
168177
private static string LogPath => Path.Combine(Directories.LogFolder, "msu-scripter_.log");
169178
#endif
179+
180+
private static void CheckReactiveProperties()
181+
{
182+
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
183+
184+
foreach (var asm in assemblies)
185+
{
186+
foreach (var type in asm.GetTypes())
187+
{
188+
if (!InheritsFromType<ReactiveObject>(type))
189+
{
190+
continue;
191+
}
192+
193+
var props = type.GetProperties(
194+
BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
195+
.Select(x => (Property: x, Attributes: x.GetCustomAttributes(true)))
196+
.Where(x => x.Attributes.Any(a => a is ReactiveAttribute) && !x.Attributes.Any(a => a is GeneratedCodeAttribute))
197+
.ToList();
198+
199+
foreach (var prop in props)
200+
{
201+
Log.Logger.Warning("Class {Class} property {Property} has ReactiveAttribute but is missing partial", type.FullName, prop.Property.Name);
202+
}
203+
}
204+
}
205+
}
206+
207+
static bool InheritsFromType<T>(Type type)
208+
{
209+
var checkType = type;
210+
while (checkType != null && checkType != typeof(object))
211+
{
212+
if (checkType == typeof(T))
213+
return true;
214+
215+
checkType = checkType.BaseType;
216+
}
217+
218+
return false;
219+
}
170220

171221
}

MSUScripter/Services/ControlServices/AudioAnalysisWindowService.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.IO;
33
using System.Linq;
44
using System.Threading;
5-
using AvaloniaControls.ControlServices;
65
using AvaloniaControls.Services;
76
using Microsoft.Extensions.Logging;
87
using MSURandomizerLibrary.Services;

MSUScripter/Services/ControlServices/AudioControlService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System;
22
using System.Threading.Tasks;
33
using System.Timers;
4-
using AvaloniaControls.ControlServices;
4+
using AvaloniaControls.Services;
55
using Material.Icons;
66
using MSUScripter.Configs;
77
using MSUScripter.ViewModels;

MSUScripter/Services/ControlServices/CopyProjectWindowService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
using System.Linq;
55
using System.Threading.Tasks;
66
using Avalonia.Platform.Storage;
7-
using AvaloniaControls.ControlServices;
7+
using AvaloniaControls.Services;
88
using Microsoft.Extensions.Logging;
99
using MSUScripter.Configs;
1010
using MSUScripter.ViewModels;

MSUScripter/Services/ControlServices/InstallDependenciesWindowService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System;
22
using System.Threading.Tasks;
3-
using AvaloniaControls.ControlServices;
3+
using AvaloniaControls.Services;
44
using MSUScripter.ViewModels;
55

66
namespace MSUScripter.Services.ControlServices;

MSUScripter/Services/ControlServices/MainWindowService.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using System.Net.Http;
66
using System.Runtime.Versioning;
77
using System.Threading.Tasks;
8-
using AvaloniaControls.ControlServices;
98
using AvaloniaControls.Services;
109
using GitHubReleaseChecker;
1110
using Microsoft.Extensions.Logging;

MSUScripter/Services/ControlServices/MsuGenerationWindowService.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using System.Linq;
66
using System.Threading;
77
using System.Threading.Tasks;
8-
using AvaloniaControls.ControlServices;
98
using AvaloniaControls.Services;
109
using Microsoft.Extensions.Logging;
1110
using MSUScripter.Configs;

MSUScripter/Services/ControlServices/MsuProjectWindowService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using Avalonia.Media;
88
using Avalonia.Threading;
99
using AvaloniaControls.Controls;
10-
using AvaloniaControls.ControlServices;
1110
using AvaloniaControls.Services;
1211
using DynamicData;
1312
using Material.Icons;
@@ -157,9 +156,10 @@ public MsuProjectWindowViewModel InitViewModel(MsuProject project)
157156
SongSummary = $"{completedSongs}/{totalSongs} Songs Completed",
158157
TrackSummary = $"{completedTracks}/{totalTracks} Tracks With Songs Added",
159158
WindowTitle = windowTitle,
160-
PreviousVideoPath = settingsService.Settings.PreviousVideoPath
159+
PreviousVideoPath = settingsService.Settings.PreviousVideoPath,
161160
};
162-
161+
162+
_viewModel.BasicInfoViewModel.IsVisible = true;
163163
_viewModel.BasicInfoViewModel.UpdateModel(project);
164164

165165
_viewModel.TreeItems.AddRange(sidebarItems.OrderBy(x => x.SortIndex));

0 commit comments

Comments
 (0)