Skip to content

Commit 3c57416

Browse files
committed
Other: Update projects to .Net 7.0.
1 parent 5c693ba commit 3c57416

File tree

9 files changed

+151
-8
lines changed

9 files changed

+151
-8
lines changed
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
using System.Diagnostics;
2+
using DiffEngine;
3+
using Shrinker.Parser;
4+
using TextCopy;
5+
6+
namespace Shrinker.Cmd
7+
{
8+
internal static class Program
9+
{
10+
private static void Main(string[] args)
11+
{
12+
var glsl = ClipboardService.GetText();
13+
if (string.IsNullOrEmpty(glsl))
14+
{
15+
Console.WriteLine("Error - Clipboard is empty.");
16+
return;
17+
}
18+
19+
var lexer = new Lexer.Lexer();
20+
if (!lexer.Load(glsl))
21+
{
22+
Console.WriteLine("Error - Unable to process the GLSL.");
23+
return;
24+
}
25+
26+
var parser = new Parser.Parser(lexer);
27+
try
28+
{
29+
Console.WriteLine("Parsing...");
30+
var rootNode = parser.Parse();
31+
32+
Console.WriteLine("Simplifying...");
33+
var options = CustomOptions.All();
34+
options.CombineConsecutiveAssignments = false;
35+
options.RemoveComments = false;
36+
rootNode.Simplify(options);
37+
38+
Console.WriteLine("Creating GLSL...");
39+
var newGlsl = rootNode.ToCode();
40+
ClipboardService.SetText(newGlsl);
41+
42+
Console.WriteLine("Success.");
43+
44+
var oldFile = CreateTempFileFromString(glsl, ".glsl");
45+
var newFile = CreateTempFileFromString(newGlsl, ".glsl");
46+
try
47+
{
48+
Console.WriteLine("Launching diff process...");
49+
var diffTool = new[] { DiffTool.DiffMerge, DiffTool.VisualStudioCode}.FirstOrDefault(o => DiffRunner.Launch(o, oldFile, newFile) != LaunchResult.NoDiffToolFound);
50+
if (diffTool != default)
51+
{
52+
if (!OperatingSystem.IsWindows())
53+
{
54+
if (DiffTools.TryFindByName(diffTool, out var resolved))
55+
{
56+
var processName = Path.GetFileNameWithoutExtension(resolved.ExePath);
57+
58+
var attempts = 50;
59+
while (!Process.GetProcesses().Any(o => o.ProcessName.StartsWith(processName, StringComparison.OrdinalIgnoreCase)) && --attempts > 0)
60+
Thread.Sleep(100);
61+
62+
if (attempts > 0)
63+
{
64+
Console.WriteLine(" Waiting for process end...");
65+
while (Process.GetProcesses().Any(o => o.ProcessName.StartsWith(processName, StringComparison.OrdinalIgnoreCase)))
66+
Thread.Sleep(1000);
67+
}
68+
}
69+
else
70+
{
71+
Console.WriteLine(" Unable to determine diff tool process name.");
72+
return;
73+
}
74+
}
75+
76+
Console.WriteLine(" Complete.");
77+
}
78+
else
79+
{
80+
Console.WriteLine(" Failed to find a suitable tool.");
81+
}
82+
}
83+
finally
84+
{
85+
File.Delete(oldFile);
86+
File.Delete(newFile);
87+
}
88+
}
89+
catch (Exception ex)
90+
{
91+
Console.WriteLine($" Error - {ex.Message}");
92+
}
93+
}
94+
95+
private static string CreateTempFileFromString(string s, string fileExtension)
96+
{
97+
var fileName = Path.Combine(Path.GetTempPath(), $"{Path.GetRandomFileName()}{fileExtension}");
98+
File.WriteAllText(fileName, s);
99+
return fileName;
100+
}
101+
}
102+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net7.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<PackageReference Include="DiffEngine" Version="11.2.0" />
12+
<PackageReference Include="TextCopy" Version="6.2.1" />
13+
</ItemGroup>
14+
15+
<ItemGroup>
16+
<ProjectReference Include="..\Shrinker.Parser\Shrinker.Parser.csproj" />
17+
</ItemGroup>
18+
19+
</Project>

ShaderShrinker/Shrinker.Lexer/Shrinker.Lexer.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>netstandard2.0</TargetFramework>
3+
<TargetFramework>net7.0</TargetFramework>
44
<OutputType>Library</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

ShaderShrinker/Shrinker.Parser/Shrinker.Parser.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>netstandard2.0</TargetFramework>
3+
<TargetFramework>net7.0</TargetFramework>
44
<OutputType>Library</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

ShaderShrinker/Shrinker.WpfApp/AppViewModel.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
using System.Collections.ObjectModel;
1515
using System.IO;
1616
using System.Linq;
17-
using System.Net;
17+
using System.Net.Http;
1818
using System.Reflection;
1919
using System.Threading;
2020
using System.Threading.Tasks;
@@ -249,7 +249,7 @@ private void LoadGlslFromFile(object obj)
249249
LoadGlslFromStringAsync(File.ReadAllText(dialog.FileName));
250250
}
251251

252-
private void LoadGlslFromShadertoy(object obj)
252+
private async void LoadGlslFromShadertoy(object obj)
253253
{
254254
var id = ShadertoyShaderId?.Trim();
255255
if (id != null)
@@ -265,9 +265,10 @@ private void LoadGlslFromShadertoy(object obj)
265265
try
266266
{
267267
using (new BusyCursor())
268-
using (var wc = new WebClient())
268+
using (var client = new HttpClient())
269269
{
270-
var json = wc.DownloadString($"https://www.shadertoy.com/api/v1/shaders/{id}?key=BtntM4");
270+
var response = await client.GetAsync($"https://www.shadertoy.com/api/v1/shaders/{id}?key=BtntM4");
271+
var json = await response.Content.ReadAsStringAsync();
271272

272273
var shaderData = JsonConvert.DeserializeObject<Root>(json);
273274
var shaderCode = shaderData?.Shader?.renderpass.LastOrDefault()?.code;

ShaderShrinker/Shrinker.WpfApp/Shrinker.WpfApp.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net5.0-windows</TargetFramework>
3+
<TargetFramework>net7.0-windows</TargetFramework>
44
<OutputType>WinExe</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<UseWPF>true</UseWPF>

ShaderShrinker/Shrinker.sln

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shrinker.Parser", "Shrinker
1111
EndProject
1212
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Shrinker.WpfApp", "Shrinker.WpfApp\Shrinker.WpfApp.csproj", "{AF072632-A49C-4EF1-B77F-9AA9666F92F6}"
1313
EndProject
14+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shrinker.Cmd", "Shrinker.Cmd\Shrinker.Cmd.csproj", "{6C0A1B07-B195-4A07-921C-F6D962870309}"
15+
EndProject
1416
Global
1517
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1618
Debug|Any CPU = Debug|Any CPU
@@ -69,6 +71,18 @@ Global
6971
{AF072632-A49C-4EF1-B77F-9AA9666F92F6}.Release|x64.Build.0 = Release|Any CPU
7072
{AF072632-A49C-4EF1-B77F-9AA9666F92F6}.Release|x86.ActiveCfg = Release|Any CPU
7173
{AF072632-A49C-4EF1-B77F-9AA9666F92F6}.Release|x86.Build.0 = Release|Any CPU
74+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
75+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Debug|Any CPU.Build.0 = Debug|Any CPU
76+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Debug|x64.ActiveCfg = Debug|Any CPU
77+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Debug|x64.Build.0 = Debug|Any CPU
78+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Debug|x86.ActiveCfg = Debug|Any CPU
79+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Debug|x86.Build.0 = Debug|Any CPU
80+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Release|Any CPU.ActiveCfg = Release|Any CPU
81+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Release|Any CPU.Build.0 = Release|Any CPU
82+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Release|x64.ActiveCfg = Release|Any CPU
83+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Release|x64.Build.0 = Release|Any CPU
84+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Release|x86.ActiveCfg = Release|Any CPU
85+
{6C0A1B07-B195-4A07-921C-F6D962870309}.Release|x86.Build.0 = Release|Any CPU
7286
EndGlobalSection
7387
GlobalSection(SolutionProperties) = preSolution
7488
HideSolutionNode = FALSE

ShaderShrinker/UnitTests/UnitTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<Import Project="..\packages\NUnit.3.13.2\build\NUnit.props" Condition="Exists('..\packages\NUnit.3.13.2\build\NUnit.props')" />
33
<PropertyGroup>
4-
<TargetFramework>net5.0-windows7.0</TargetFramework>
4+
<TargetFramework>net7.0</TargetFramework>
55
<OutputType>Library</OutputType>
66
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
77
</PropertyGroup>

ShaderShrinker/global.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"sdk": {
3+
"version": "7.0.0",
4+
"rollForward": "latestMajor",
5+
"allowPrerelease": true
6+
}
7+
}

0 commit comments

Comments
 (0)