-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWinButler.csproj
More file actions
69 lines (64 loc) · 3.64 KB
/
Copy pathWinButler.csproj
File metadata and controls
69 lines (64 loc) · 3.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<!-- Windows-only on purpose: junctions, the $MFT reader, and the UAC self-elevation have no
meaning elsewhere. .NET 10 itself needs Win10 1607+, so the supported set is Win10/11. -->
<TargetFramework>net10.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<ApplicationManifest>app.manifest</ApplicationManifest>
<ApplicationIcon>Assets\winbutler.ico</ApplicationIcon>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
<Version>1.0.1</Version>
<Authors>Advik-B</Authors>
<Product>WinButler</Product>
<Description>Disk cleaner and space-reclaim toolkit for Windows: MFT-based disk scanning, rule-driven junk cleaners, and junction-based folder redirection.</Description>
<Copyright>Copyright (c) 2026 Advik-B</Copyright>
<RepositoryUrl>https://github.com/Advik-B/WinButler</RepositoryUrl>
</PropertyGroup>
<ItemGroup>
<!-- Let the test project reach internal MFT-parsing helpers (USA fixup, data-run decoder). -->
<InternalsVisibleTo Include="WinButler.Tests" />
</ItemGroup>
<ItemGroup>
<Folder Include="Models\" />
<Folder Include="Services\" />
<AvaloniaResource Include="Assets\**" />
<!-- Path rules shipped with the app; the single maintainable source of truth. Split into
per-domain files under Data\definitions\ (see that folder's README) — all are embedded
and folded together at load. The README itself is docs, not a rule file, so exclude it. -->
<EmbeddedResource Include="Data\definitions\*.json" />
<!-- PowerShell scripts backing System Tools actions whose logic is too stateful for an inline
-Command string (see Services/EmbeddedScript.cs, which runs these via -EncodedCommand —
never extracted to disk), plus the scripts.json manifest that declares them (loaded by
Services/ScriptCatalog.cs). Add a new script and drop it here; no other csproj change
needed. The README is docs, not a script, so the globs exclude it. -->
<EmbeddedResource Include="Scripts\*.ps1" />
<EmbeddedResource Include="Scripts\*.json" />
</ItemGroup>
<!-- The test project lives under Tests\ but is a separate project; keep its files out of the app. -->
<ItemGroup>
<Compile Remove="Tests\**" />
<EmbeddedResource Remove="Tests\**" />
<AvaloniaResource Remove="Tests\**" />
<None Remove="Tests\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Avalonia" Version="12.0.2" />
<PackageReference Include="Avalonia.Desktop" Version="12.0.2" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="12.0.2" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="12.0.2" />
<PackageReference Include="AvaloniaUI.DiagnosticsSupport" Version="2.2.1">
<IncludeAssets Condition="'$(Configuration)' != 'Debug'">None</IncludeAssets>
<PrivateAssets Condition="'$(Configuration)' != 'Debug'">All</PrivateAssets>
</PackageReference>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.1" />
<PackageReference Include="Optris.Icons.Avalonia" Version="12.0.7" />
<PackageReference Include="Optris.Icons.Avalonia.MaterialDesign" Version="12.0.7" />
<PackageReference Include="Velopack" Version="1.2.0" />
</ItemGroup>
<!-- Clearer message than the SDK's NETSDK1100 when someone tries a Linux/macOS build. -->
<Target Name="EnsureWindowsHost" BeforeTargets="BeforeBuild"
Condition="!$([MSBuild]::IsOSPlatform('Windows'))">
<Error Text="WinButler is Windows 10/11 only and must be built on Windows." />
</Target>
</Project>