Skip to content

Commit 45f5646

Browse files
authored
Refactor to use Avalonia UI and MVVM
2 parents 90a016d + 890c231 commit 45f5646

36 files changed

Lines changed: 5729 additions & 1774 deletions

.gitattributes

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

.github/workflows/build.yml

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
name: Build
2-
32
on:
43
push:
54
branches: [ main, master ]
@@ -21,24 +20,14 @@ jobs:
2120
dotnet-version: '8.0.x'
2221

2322
- name: Restore dependencies
24-
run: dotnet restore GTAIVSetupUtilityWPF.csproj -r win-x64
25-
26-
- name: Publish Framework-Dependent
27-
run: dotnet publish GTAIVSetupUtilityWPF.csproj --configuration Release --output ./publish/FrameworkDependent --self-contained false -p:PublishSingleFile=true -p:PublishReadyToRun=false -p:DebugType=None -p:DebugSymbols=false
23+
run: dotnet restore GTAIVSetupUtility.csproj -r win-x64
2824

29-
- name: Publish Self-Contained
30-
run: dotnet publish GTAIVSetupUtilityWPF.csproj --configuration Release --output ./publish/SelfContained --self-contained true -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -p:PublishReadyToRun=false -p:InvariantGlobalization=true -p:DebugType=None -p:DebugSymbols=false -r win-x64
31-
32-
- name: Upload Framework-Dependent Artifact
33-
uses: actions/upload-artifact@v4
34-
with:
35-
name: GTAIVSetupUtilityWPF-FrameworkDependent-${{ github.sha }}
36-
path: ./publish/FrameworkDependent
37-
retention-days: 90
38-
39-
- name: Upload Self-Contained Artifact
25+
- name: Publish
26+
run: dotnet publish GTAIVSetupUtility.csproj --configuration Release --output ./publish/ -r win-x64 --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true -p:TrimMode=link -p:IncludeNativeLibrariesForSelfExtract=true -p:EnableCompressionInSingleFile=true -p:DebugType=None -p:DebugSymbols=false -p:BuiltInComInteropSupport=true
27+
28+
- name: Upload
4029
uses: actions/upload-artifact@v4
4130
with:
42-
name: GTAIVSetupUtilityWPF-SelfContained-${{ github.sha }}
43-
path: ./publish/SelfContained
31+
name: GTAIVSetupUtility-SelfContained-SingleFile-${{ github.sha }}
32+
path: ./publish/
4433
retention-days: 90

.gitignore

Lines changed: 87 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
## Ignore Visual Studio temporary files, build results, and
1+
## Ignore Visual Studio temporary files, build results, and
22
## files generated by popular Visual Studio add-ons.
33
##
4-
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
4+
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
55

66
# User-specific files
77
*.rsuser
88
*.suo
99
*.user
1010
*.userosscache
1111
*.sln.docstates
12+
*.env
1213

1314
# User-specific files (MonoDevelop/Xamarin Studio)
1415
*.userprefs
@@ -21,18 +22,37 @@ mono_crash.*
2122
[Dd]ebugPublic/
2223
[Rr]elease/
2324
[Rr]eleases/
24-
x64/
25-
x86/
25+
26+
[Dd]ebug/x64/
27+
[Dd]ebugPublic/x64/
28+
[Rr]elease/x64/
29+
[Rr]eleases/x64/
30+
bin/x64/
31+
obj/x64/
32+
33+
[Dd]ebug/x86/
34+
[Dd]ebugPublic/x86/
35+
[Rr]elease/x86/
36+
[Rr]eleases/x86/
37+
bin/x86/
38+
obj/x86/
39+
2640
[Ww][Ii][Nn]32/
2741
[Aa][Rr][Mm]/
2842
[Aa][Rr][Mm]64/
43+
[Aa][Rr][Mm]64[Ee][Cc]/
2944
bld/
30-
[Bb]in/
3145
[Oo]bj/
3246
[Oo]ut/
3347
[Ll]og/
3448
[Ll]ogs/
3549

50+
# Build results on 'Bin' directories
51+
**/[Bb]in/*
52+
# Uncomment if you have tasks that rely on *.refresh files to move binaries
53+
# (https://github.com/github/gitignore/pull/3736)
54+
#!**/[Bb]in/*.refresh
55+
3656
# Visual Studio 2015/2017 cache/options directory
3757
.vs/
3858
# Uncomment if you have tasks that create the project's static files in wwwroot
@@ -44,12 +64,16 @@ Generated\ Files/
4464
# MSTest test Results
4565
[Tt]est[Rr]esult*/
4666
[Bb]uild[Ll]og.*
67+
*.trx
4768

4869
# NUnit
4970
*.VisualState.xml
5071
TestResult.xml
5172
nunit-*.xml
5273

74+
# Approval Tests result files
75+
*.received.*
76+
5377
# Build Results of an ATL Project
5478
[Dd]ebugPS/
5579
[Rr]eleasePS/
@@ -76,13 +100,16 @@ StyleCopReport.xml
76100
*.ilk
77101
*.meta
78102
*.obj
103+
*.idb
79104
*.iobj
80105
*.pch
81106
*.pdb
82107
*.ipdb
83108
*.pgc
84109
*.pgd
85110
*.rsp
111+
# but not Directory.Build.rsp, as it configures directory-level build defaults
112+
!Directory.Build.rsp
86113
*.sbr
87114
*.tlb
88115
*.tli
@@ -91,6 +118,7 @@ StyleCopReport.xml
91118
*.tmp_proj
92119
*_wpftmp.csproj
93120
*.log
121+
*.tlog
94122
*.vspscc
95123
*.vssscc
96124
.builds
@@ -153,6 +181,7 @@ coverage*.info
153181

154182
# NCrunch
155183
_NCrunch_*
184+
.NCrunch_*
156185
.*crunch*.local.xml
157186
nCrunchTemp_*
158187

@@ -294,6 +323,10 @@ node_modules/
294323
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
295324
*.vbw
296325

326+
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
327+
*.dsw
328+
*.dsp
329+
297330
# Visual Studio LightSwitch build output
298331
**/*.HTMLClient/GeneratedArtifacts
299332
**/*.DesktopClient/GeneratedArtifacts
@@ -303,22 +336,22 @@ node_modules/
303336
_Pvt_Extensions
304337

305338
# Paket dependency manager
306-
.paket/paket.exe
339+
**/.paket/paket.exe
307340
paket-files/
308341

309342
# FAKE - F# Make
310-
.fake/
343+
**/.fake/
311344

312345
# CodeRush personal settings
313-
.cr/personal
346+
**/.cr/personal
314347

315348
# Python Tools for Visual Studio (PTVS)
316-
__pycache__/
349+
**/__pycache__/
317350
*.pyc
318351

319352
# Cake - Uncomment if you are using it
320-
# tools/**
321-
# !tools/packages.config
353+
#tools/**
354+
#!tools/packages.config
322355

323356
# Tabs Studio
324357
*.tss
@@ -340,15 +373,22 @@ ASALocalRun/
340373

341374
# MSBuild Binary and Structured Log
342375
*.binlog
376+
MSBuild_Logs/
377+
378+
# AWS SAM Build and Temporary Artifacts folder
379+
.aws-sam
343380

344381
# NVidia Nsight GPU debugger configuration file
345382
*.nvuser
346383

347384
# MFractors (Xamarin productivity tool) working folder
348-
.mfractor/
385+
**/.mfractor/
349386

350387
# Local History for Visual Studio
351-
.localhistory/
388+
**/.localhistory/
389+
390+
# Visual Studio History (VSHistory) files
391+
.vshistory/
352392

353393
# BeatPulse healthcheck temp database
354394
healthchecksdb
@@ -357,7 +397,39 @@ healthchecksdb
357397
MigrationBackup/
358398

359399
# Ionide (cross platform F# VS Code tools) working folder
360-
.ionide/
400+
**/.ionide/
361401

362402
# Fody - auto-generated XML schema
363-
FodyWeavers.xsd
403+
FodyWeavers.xsd
404+
405+
# VS Code files for those working on multiple tools
406+
.vscode/*
407+
!.vscode/settings.json
408+
!.vscode/tasks.json
409+
!.vscode/launch.json
410+
!.vscode/extensions.json
411+
!.vscode/*.code-snippets
412+
413+
# Local History for Visual Studio Code
414+
.history/
415+
416+
# Built Visual Studio Code Extensions
417+
*.vsix
418+
419+
# Windows Installer files from build outputs
420+
*.cab
421+
*.msi
422+
*.msix
423+
*.msm
424+
*.msp
425+
426+
# JetBrains Rider
427+
.idea/
428+
*.sln.iml
429+
430+
# Operating System Files
431+
.DS_Store
432+
Thumbs.db
433+
ehthumbs.db
434+
Desktop.ini
435+
$RECYCLE.BIN/

App.axaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<Application xmlns="https://github.com/avaloniaui"
2+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3+
x:Class="GTAIVSetupUtility.App"
4+
xmlns:local="using:GTAIVSetupUtility"
5+
RequestedThemeVariant="Default">
6+
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
7+
8+
<Application.DataTemplates>
9+
<local:ViewLocator/>
10+
</Application.DataTemplates>
11+
12+
<Application.Styles>
13+
<FluentTheme />
14+
</Application.Styles>
15+
</Application>

0 commit comments

Comments
 (0)