refactor: Build-Output in Build/{OS}/-Ordnerstruktur

Plattformspezifische bin/obj/publish-Ordner unter Build/Linux/
und Build/Windows/ statt bin-linux/, obj-linux/, publish/ etc.

- Directory.Build.props: OS-Erkennung setzt BaseOutputPath,
  BaseIntermediateOutputPath und MSBuildProjectExtensionsPath
  auf Build/{Linux|Windows|macOS}/
- gott.csproj: Vereinfacht auf ein einziges Build/** Exclude
- deploy.sh: publish-Output nach Build/Linux/publish
- OpenClawEndpoint.cs: DB-Pfad relativ zu AppContext.BaseDirectory
- Doku (README, ARCHITECTURE, ARCHITECTURE_QUICK) aktualisiert
This commit is contained in:
Meleki committed 2026-03-09 15:50:11 +01:00
1 parent 809e59d540
commit b40a872c29
8 files changed
+59 -48

No files matched your search

+2 -13
View File
@@ -17,7 +17,7 @@ namespace Gott.Endpoints;
public static class OpenClawEndpoint
{
private const string OpenClawDbRelativePath = "publish/data/openclaw-sessions.db";
private static readonly string OpenClawDbRelativePath = Path.Combine("data", "openclaw-sessions.db");
private const string ImportTag = "openclaw-import";
public static void MapOpenClawEndpoints(this IEndpointRouteBuilder app)
@@ -28,18 +28,7 @@ public static class OpenClawEndpoint
private static string GetOpenClawDbPath()
{
// Resolve relative to the app base directory
var basePath = AppContext.BaseDirectory;
// Navigate up from bin/Debug/net10.0 or similar to the project root
var candidate = Path.Combine(basePath, OpenClawDbRelativePath);
if (File.Exists(candidate)) return candidate;
// Try from current directory
candidate = Path.Combine(Directory.GetCurrentDirectory(), OpenClawDbRelativePath);
if (File.Exists(candidate)) return candidate;
// Try absolute common path
candidate = Path.Combine("/app/gott", OpenClawDbRelativePath);
var candidate = Path.Combine(AppContext.BaseDirectory, OpenClawDbRelativePath);
if (File.Exists(candidate)) return candidate;
return null;