Skip to content

Commit 3d00d00

Browse files
committed
chore: safe root cleanup phase 1 - Refactor .gitignore (più leggibile + pattern moderni) - Move build scripts → build/ - Move installer → Installer/ - Move ico.ico and Powerplans → assets/ - Move TRADEMARK.md → docs/legal/TRADEMARK.md (with root bridge) - Update all internal references (csproj, XAML, C#, .iss, .ps1, docs) - Verified: restore + build + test + publish (SingleFile + MSIX) OK"
1 parent af4941b commit 3d00d00

36 files changed

Lines changed: 95 additions & 32 deletions

.github/CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77

88
# Build and release
99
/.github/workflows/ @PrimeBuild-pc
10-
/build-release.ps1 @PrimeBuild-pc
11-
/setup.iss @PrimeBuild-pc
10+
/build/build-release.ps1 @PrimeBuild-pc
11+
/Installer/setup.iss @PrimeBuild-pc

.gitignore

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# ============================================================================
2+
# ThreadPilot .gitignore - C# WPF desktop app + packaging
3+
# ============================================================================
4+
15
# Build outputs
26
bin/
37
obj/
@@ -26,6 +30,7 @@ coverage*.xml
2630
coverage*.info
2731
*.coverage
2832
*.coveragexml
33+
*.trx
2934

3035
# .NET / NuGet
3136
*.deps.json
@@ -40,7 +45,7 @@ packages/
4045
!packages/build/
4146
!packages/repositories.config
4247

43-
# IDEs
48+
# IDE and editor files
4449
.vs/
4550
*.user
4651
*.suo
@@ -85,6 +90,7 @@ Installer/Output/
8590
*.cab
8691
*.msi
8792
*.msix
93+
*.msixbundle
8894
*.msm
8995
*.msp
9096
*.lnk
@@ -95,29 +101,35 @@ Installer/Output/
95101
*.publishproj
96102
PublishScripts/
97103

104+
# Diagnostics / profiling
105+
*.dmp
106+
*.mdmp
107+
crashdumps/
108+
*.binlog
109+
*.etl
110+
*.etl.gz
111+
98112
# Local app data / secrets
99113
appsettings.local.json
100114
appsettings.*.local.json
101115
secrets.json
102116
*.secrets.json
103-
/Configuration/UserSettings.json
104-
/Configuration/ProcessProfiles.json
105-
/Data/
106-
/AppData/
117+
Configuration/UserSettings.json
118+
Configuration/ProcessProfiles.json
119+
Configuration/*.local.json
120+
Data/
121+
AppData/
107122
%AppData%/ThreadPilot/
108123

109124
# Project-specific extras
110125
.claude/
111126
.continue/
112-
/CPUSetSetter-main/
127+
CPUSetSetter-main/
113128
*.bak
114129
*.backup
115130
*_backup.*
116131
*_old.*
117132
*.orig
118133
*.rej
119-
*.dmp
120-
*.mdmp
121-
crashdumps/
122-
*.binlog
134+
*.xaml.bak
123135
nul

Installer/Installer.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ DefaultGroupName={#MyAppName}
2626
AllowNoIcons=yes
2727
PrivilegesRequiredOverridesAllowed=dialog
2828
OutputBaseFilename=ThreadPilot_Setup
29-
SetupIconFile=..\ico.ico
29+
SetupIconFile=..\assets\icons\ico.ico
3030
SolidCompression=yes
3131
WizardStyle=modern
3232

setup.iss renamed to Installer/setup.iss

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#define MyAppPublisher "Prime Build"
77
#define MyAppURL "https://github.com/PrimeBuild-pc/ThreadPilot"
88
#define MyAppExeName "ThreadPilot.exe"
9-
#define MyAppSourceDir "bin\Publish"
9+
#define MyAppSourceDir "..\bin\Publish"
1010

1111
[Setup]
1212
AppId={{E8F7A3B2-5C4D-4E6F-8A9B-1C2D3E4F5A6B}
@@ -20,11 +20,11 @@ AppUpdatesURL={#MyAppURL}/releases
2020
DefaultDirName={autopf}\{#MyAppName}
2121
DefaultGroupName={#MyAppName}
2222
AllowNoIcons=yes
23-
LicenseFile=LICENSE.md
23+
LicenseFile=..\LICENSE
2424
PrivilegesRequired=admin
25-
OutputDir=bin\Installer
25+
OutputDir=Output
2626
OutputBaseFilename=ThreadPilot_v{#MyAppVersion}_Setup
27-
SetupIconFile=ico.ico
27+
SetupIconFile=..\assets\icons\ico.ico
2828
Compression=lzma2/ultra64
2929
SolidCompression=yes
3030
WizardStyle=modern

MainWindow.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161

6262
<ui:TitleBar Grid.Row="0" Title="ThreadPilot">
6363
<ui:TitleBar.Icon>
64-
<ui:ImageIcon Source="pack://application:,,,/ico.ico"/>
64+
<ui:ImageIcon Source="pack://application:,,,/assets/icons/ico.ico"/>
6565
</ui:TitleBar.Icon>
6666
</ui:TitleBar>
6767

@@ -219,7 +219,7 @@
219219
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
220220
<!-- Application Icon -->
221221
<Image x:Name="LoadingIcon"
222-
Source="pack://application:,,,/ico.ico"
222+
Source="pack://application:,,,/assets/icons/ico.ico"
223223
Width="64"
224224
Height="64"
225225
Margin="0,0,0,20"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ dotnet publish ThreadPilot.csproj --configuration Release --runtime win-x64 --se
8686
Build release artifacts via script:
8787

8888
```powershell
89-
./build-release.ps1
89+
./build/build-release.ps1
9090
```
9191

9292
## Quality and Security

Services/SystemTrayService.cs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -517,15 +517,28 @@ public void Dispose()
517517
return this.settings.CustomTrayIconPath;
518518
}
519519

520-
var bundledIcon = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ico.ico");
521-
return File.Exists(bundledIcon) ? bundledIcon : null;
520+
var iconCandidates = new[]
521+
{
522+
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ico.ico"),
523+
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "assets", "icons", "ico.ico"),
524+
};
525+
526+
foreach (var candidate in iconCandidates)
527+
{
528+
if (File.Exists(candidate))
529+
{
530+
return candidate;
531+
}
532+
}
533+
534+
return null;
522535
}
523536

524537
private Icon? TryLoadEmbeddedIcon()
525538
{
526539
try
527540
{
528-
var uri = new Uri("pack://application:,,,/ico.ico", UriKind.Absolute);
541+
var uri = new Uri("pack://application:,,,/assets/icons/ico.ico", UriKind.Absolute);
529542
var streamInfo = System.Windows.Application.GetResourceStream(uri);
530543
if (streamInfo != null)
531544
{

TRADEMARK.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Trademark Policy
22

3+
The trademark policy has moved to [docs/legal/TRADEMARK.md](docs/legal/TRADEMARK.md).
4+
# Trademark Policy
5+
36
The name "ThreadPilot", the logo, and all branding elements associated with this project
47
are NOT licensed under the GNU Affero General Public License v3.0.
58

ThreadPilot.csproj

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<UseWindowsForms>true</UseWindowsForms>
1010
<EnableMsixTooling>true</EnableMsixTooling>
1111
<ApplicationManifest>app.manifest</ApplicationManifest>
12-
<ApplicationIcon>ico.ico</ApplicationIcon>
12+
<ApplicationIcon>assets\icons\ico.ico</ApplicationIcon>
1313
<PublishSingleFile>true</PublishSingleFile>
1414
<SelfContained>true</SelfContained>
1515
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
@@ -36,13 +36,15 @@
3636
</ItemGroup>
3737

3838
<ItemGroup>
39-
<Resource Include="ico.ico" />
39+
<Resource Include="assets\icons\ico.ico" />
4040
</ItemGroup>
4141

4242
<!-- Include bundled power plans in build output -->
4343
<ItemGroup>
44-
<Content Include="Powerplans\**\*.pow">
44+
<Content Include="assets\Powerplans\**\*.pow">
45+
<TargetPath>Powerplans\%(RecursiveDir)%(Filename)%(Extension)</TargetPath>
4546
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
47+
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
4648
</Content>
4749
</ItemGroup>
4850

@@ -76,7 +78,7 @@
7678
</ItemGroup>
7779

7880
<Target Name="GenerateMsixFromPublishOutput" AfterTargets="Publish" Condition="'$(GenerateMsixFromPublish)' == 'true'">
79-
<Exec Command="powershell -NoProfile -ExecutionPolicy Bypass -File &quot;$(MSBuildProjectDirectory)\build-msix.ps1&quot; -ProjectDir &quot;$(MSBuildProjectDirectory)&quot; -PublishDir &quot;$(PublishDir).&quot; -OutputDir &quot;$(MsixOutputDir).&quot; -Version &quot;$(Version)&quot;" />
81+
<Exec Command="powershell -NoProfile -ExecutionPolicy Bypass -File &quot;$(MSBuildProjectDirectory)\build\build-msix.ps1&quot; -ProjectDir &quot;$(MSBuildProjectDirectory)&quot; -PublishDir &quot;$(PublishDir).&quot; -OutputDir &quot;$(MsixOutputDir).&quot; -Version &quot;$(Version)&quot;" />
8082
</Target>
8183

8284
<Import Project="Directory.Publish.props" Condition="Exists('Directory.Publish.props')" />

Views/SettingsWindow.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
MinHeight="600" MinWidth="800"
1111
WindowStartupLocation="CenterOwner"
1212
ShowInTaskbar="False"
13-
Icon="pack://application:,,,/ico.ico">
13+
Icon="pack://application:,,,/assets/icons/ico.ico">
1414

1515
<Window.Resources>
1616
<Style TargetType="Window">

0 commit comments

Comments
 (0)