Files
PURErat-crack-scode/decompiled/PureCrack.Util/Workspace.cs
T
2026-08-27 10:56:38 -06:00

44 lines
1.2 KiB
C#

using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
namespace PureCrack.Util;
internal static class Workspace
{
public static string Root { get; }
public static string DataDir { get; }
public static string RunsDir { get; }
public static string CapturesDir { get; }
public static string StubsDir { get; }
public static string E2eDir { get; }
static Workspace()
{
string environmentVariable = Environment.GetEnvironmentVariable("PURECRACK_WORKSPACE");
if (!string.IsNullOrWhiteSpace(environmentVariable))
{
Root = environmentVariable;
}
else
{
Root = Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location ?? Process.GetCurrentProcess().MainModule.FileName) ?? throw new InvalidOperationException("can't resolve EXE directory");
}
DataDir = Path.Combine(Root, "data");
RunsDir = Path.Combine(Root, "runs");
CapturesDir = Path.Combine(RunsDir, "captures");
StubsDir = Path.Combine(RunsDir, "stubs");
E2eDir = Path.Combine(RunsDir, "e2e");
Directory.CreateDirectory(DataDir);
Directory.CreateDirectory(CapturesDir);
Directory.CreateDirectory(StubsDir);
Directory.CreateDirectory(E2eDir);
}
}