6 Entwicklung und Build
Batista82 edited this page 2026-07-30 13:54:17 +02:00

Entwicklung und Build

Voraussetzungen

  • Windows 10/11 x64
  • Git
  • .NET SDK 10 aus global.json
  • Visual Studio 2022 oder Microsoft Build Tools
  • Desktopentwicklung mit .NET und C++
  • CMake
  • SCS SDK 1.14
  • Inno Setup 6

Repository klonen

git clone ssh://git@git.bastelhof.srv64.de/Bastelhof/TruckSimLogBook.git
cd TruckSimLogBook

App bauen

$env:DOTNET_CLI_HOME = Join-Path (Get-Location) '.dotnet'
dotnet restore TruckSimLogBook.sln
dotnet build src\TruckSimLogBook.App\TruckSimLogBook.App.csproj `
  -c Debug -p:Platform=x64

Tests

dotnet test src\TruckSimLogBook.Tests\TruckSimLogBook.Tests.csproj `
  -c Release -p:Platform=x64

Plugin bauen

cmake -S src\TruckSimLogBook.Plugin `
  -B src\TruckSimLogBook.Plugin\build -A x64
cmake --build src\TruckSimLogBook.Plugin\build --config Release

Das Ergebnis ist TruckSimLogBook.Plugin.dll. Für einen Feldtest wird es in den bin\win_x64\plugins-Ordner des jeweiligen Spiels kopiert.

Setup bauen

.\scripts\build.ps1 -Configuration Release
.\scripts\verify-release.ps1

Das Skript veröffentlicht App und Plugin, erstellt Setup und Feldtest, übernimmt Dokumentation und erzeugt SHA-256-Prüfsummen unter build\trucksim_logbook\<Version>.

Nur dieser versionierte Ordner ist ein Release. installer\out wird intern als temporäres Staging verwendet und darf nicht veröffentlicht werden.

Screenshots und App-Tour

README und Wiki verwenden eine gemeinsame App-Tour. Neue Aufnahmen werden im Hauptrepository erzeugt:

.\scripts\capture-app-tour.ps1 -Configuration Debug -FrameDelayMs 1800

Danach werden docs\media\app-tour und wiki\media\app-tour synchronisiert, damit die Dokumentation den aktuellen UI-Stand zeigt.

Versionierung

Das Projekt verwendet während der Beta ein Schema wie V0.11.6 (Experimental Beta). Versionsstände müssen in App-Projekt, Installer, Changelog und Dokumentation konsistent bleiben. Hilfsskript:

.\scripts\bump-version.ps1 -Part beta

Weitere Entwicklerdokumente

Im Hauptrepository:

  • docs\development\programming-guide.md
  • docs\architecture\plugin-integration.md
  • docs\architecture\overview.md
  • docs\ui\design.md
  • docs\deployment\builds.md