Files
Masterarbeit/QuellCode/CentronERP/scripts/Centron.Scripts/CentronPaths.cs
T
Christoph Schwörer f045b99a25 Codebasis als Dateien ins Arbeitsrepo statt als Gitlink
QuellCode/CentronERP war nur als Gitlink (Submodul-Referenz auf 79c1142)
getrackt, ohne .gitmodules und ohne erreichbares Remote. Der
Untersuchungsgegenstand der Versuchsreihe war damit nicht reproduzierbar
gesichert: Ein Klon haette ein leeres Verzeichnis erhalten, und die Belege
der 3.287 Anforderungen waeren nicht ueberpruefbar gewesen.

Umstellung:
- Historie nach c:\DEV\CentronERP_git_snapshot_79c1142 ausgelagert
  (vollstaendig lesbar, enthaelt 79c1142 und Vorgaenger 89ccfd6)
- Gitlink aus dem Index entfernt
- Dateiinhalt aufgenommen: 24.557 Dateien, rund 333 MB

Die verschachtelte .gitignore der Codebasis gilt weiter, Build-Artefakte
bleiben ausgeschlossen. Details in Versuche/Versuch_01/_Codebasis-Nachweis.md
2026-08-26 07:43:51 +02:00

182 lines
12 KiB
C#

using System.IO;
using System.Linq;
namespace Centron.Scripts
{
public static class CentronPaths
{
public static string SlnDirectory
{
get
{
var currentFolder = new DirectoryInfo(Path.GetDirectoryName(typeof(CentronPaths).Assembly.Location));
return currentFolder.Parent.Parent.Parent.Parent.Parent.FullName;
}
}
public static string SlnPath => Path.Combine(SlnDirectory, "Centron.sln");
public static string ArtifactsDirectory => Path.Combine(SlnDirectory, "artifacts");
public static string NugetArtifactsDirectory => Path.Combine(ArtifactsDirectory, "nuget");
public static string DotNetToolsDirectory => Path.Combine(SlnDirectory, "dotnettools");
public static string DirectoryBuildProps => Path.Combine(SlnDirectory, "Directory.Build.props");
public static string[] ProjectDirectories => new[]
{
Path.Combine(SlnDirectory, "deployment", "centron", "CentronSetupProject"),
Path.Combine(SlnDirectory, "deployment", "centron", "WebServiceSetupProject"),
Path.Combine(SlnDirectory, "src", "apis", "Centron.Api.EbInterface"),
Path.Combine(SlnDirectory, "src", "apis", "Centron.Api.Gls"),
Path.Combine(SlnDirectory, "src", "apis", "Centron.APIs.CopDataAccess"),
Path.Combine(SlnDirectory, "src", "apis", "Centron.APIs.EgisDataAccess"),
Path.Combine(SlnDirectory, "src", "apis", "Centron.APIs.IcecatDataAccess"),
Path.Combine(SlnDirectory, "src", "apis", "Centron.APIs.ITscopeDataAccess"),
Path.Combine(SlnDirectory, "src", "backend", "Centron.BL"),
Path.Combine(SlnDirectory, "src", "backend", "Centron.Common"),
Path.Combine(SlnDirectory, "src", "backend", "Centron.DAO"),
Path.Combine(SlnDirectory, "src", "backend", "Centron.Entities"),
Path.Combine(SlnDirectory, "src", "backend", "Centron.Gateway"),
Path.Combine(SlnDirectory, "src", "backend", "Centron.Interfaces"),
Path.Combine(SlnDirectory, "src", "centron", "Centron.WPF.UI"),
Path.Combine(SlnDirectory, "src", "centron", "Centron.WPF.UI.Extension"),
Path.Combine(SlnDirectory, "src", "shared", "Centron.Controls"),
Path.Combine(SlnDirectory, "src", "shared", "Centron.Controls.Preview"),
Path.Combine(SlnDirectory, "src", "shared", "Centron.Core"),
Path.Combine(SlnDirectory, "src", "webservice", "Centron.Host"),
Path.Combine(SlnDirectory, "src", "webservice", "Centron.Host.Console"),
Path.Combine(SlnDirectory, "src", "webservice", "Centron.Host.WindowsService"),
Path.Combine(SlnDirectory, "src", "webservice", "c-entron.misc.ConnectionManager"),
Path.Combine(SlnDirectory, "src", "webservice", "Centron.WebServices.Core"),
Path.Combine(SlnDirectory, "tests", "apis", "Centron.APIs.CopDatabase.Tests"),
Path.Combine(SlnDirectory, "tests", "apis", "Centron.APIs.EgisDataAccess.Tests"),
Path.Combine(SlnDirectory, "tests", "apis", "Centron.APIs.IcecatDataAccess.Tests"),
Path.Combine(SlnDirectory, "tests", "apis", "Centron.APIs.ITscopeDataAccess.Tests"),
Path.Combine(SlnDirectory, "tests", "Centron.Tests.EndToEnd"),
};
public static string[] BinAndObjDirectories => new[]
{
ProjectDirectories.Select(f => Path.Combine(f, "bin")),
ProjectDirectories.Select(f => Path.Combine(f, "obj")),
}.SelectMany(f => f).ToArray();
public static class WebService
{
public static class ConnectionManager
{
public static string ProjectDirectory => Path.Combine(SlnDirectory, "src", "webservice", "c-entron.misc.ConnectionManager");
public static string CsProj => Path.Combine(ProjectDirectory, "c-entron.misc.ConnectionManager.csproj");
public static string PublishDirectory => Path.Combine(ProjectDirectory, "bin", "Release", "net10.0-windows", "win-x64", "publish");
}
public static string ProjectDirectory => Path.Combine(SlnDirectory, "src", "webservice", "Centron.Host.WindowsService");
public static string CsProj => Path.Combine(ProjectDirectory, "Centron.Host.WindowsService.csproj");
public static string PublishDirectory => Path.Combine(ProjectDirectory, "bin", "Release", "net10.0-windows", "win-x64", "publish");
public static string PublishedDeDirectory => Path.Combine(PublishDirectory, "de");
public static string PublishedEnDirectory => Path.Combine(PublishDirectory, "en");
public static string PublishedDevelopmentDirectory => Path.Combine(PublishDirectory, "development");
public static string PublishedConnectionManagerDirectory => Path.Combine(PublishDirectory, "ConnectionManager");
public static string PublishedConnectionManagerDeDirectory => Path.Combine(PublishedConnectionManagerDirectory, "de");
public static string PublishedConnectionManagerEnDirectory => Path.Combine(PublishedConnectionManagerDirectory, "en");
public static string PublishedWindowsServiceExe => Path.Combine(PublishDirectory, "Centron.Host.WindowsService.exe");
public static string PublishedWindowsServiceDll => Path.Combine(PublishDirectory, "Centron.Host.WindowsService.dll");
public static string PublishedConnectionManagerExe => Path.Combine(PublishedConnectionManagerDirectory, "c-entron Connection Manager.exe");
public static string PublishedConnectionManagerDll => Path.Combine(PublishedConnectionManagerDirectory, "c-entron Connection Manager.dll");
public static string PublishedCentronInterfacesDll => Path.Combine(PublishDirectory, "Centron.Interfaces.dll");
public static string PublishedCentronWebServicesCoreDll => Path.Combine(PublishDirectory, "Centron.WebServices.Core.dll");
public static string PublishedCentronCoreDll => Path.Combine(PublishDirectory, "Centron.Core.dll");
}
public static class WebServiceInstaller
{
public static string DeploymentDirectory => Path.Combine(SlnDirectory, "deployment", "centron");
public static string WixProjDirectory => Path.Combine(DeploymentDirectory, "WebServiceSetupProject");
public static string WixProj => Path.Combine(WixProjDirectory, "WebServiceSetupProject.wixproj");
public static string InstallerInputDirectory => Path.Combine(WixProjDirectory, "Files");
public static string PublishDirectory => Path.Combine(WixProjDirectory, "bin", "Release");
public static string ArtifactsFile => Path.Combine(ArtifactsDirectory, "c-entron Web-Service Installer.zip");
public static string PublishedInstallerMsi => Path.Combine(PublishDirectory, "c-entron Web-Service Installer.msi");
public static string ProductHeat => Path.Combine(WixProjDirectory, "WebServiceProductHeat.wxs");
}
public static class WebServiceLinux
{
public static string ProjectDirectory => Path.Combine(SlnDirectory, "src", "webservice", "Centron.Host.Console");
public static string CsProj => Path.Combine(ProjectDirectory, "Centron.Host.Console.csproj");
public static string PublishDirectory => Path.Combine(ProjectDirectory, "bin", "Release", "net10.0", "linux-x64", "publish");
public static string PublishedConsoleDll => Path.Combine(PublishDirectory, "Centron.Host.Console.dll");
public static string PublishedCentronHostConsoleConfigFile => Path.Combine(PublishDirectory, "Centron.Host.Console.dll.config");
public static string ArtifactsFile => Path.Combine(ArtifactsDirectory, "c-entron Web-Service Linux.zip");
public static string DebugSimpleWebServiceConfigPath => Path.Combine(ProjectDirectory, "bin", "Debug", "net10.0", "SimpleWebServiceConfig.txt");
}
public static class CentronNet
{
public static string ProjectDirectory => Path.Combine(SlnDirectory, "src", "centron", "Centron.WPF.UI");
public static string CsProj => Path.Combine(ProjectDirectory, "Centron.WPF.UI.csproj");
public static string PublishDirectory => Path.Combine(ProjectDirectory, "bin", "Release", "net10.0-windows", "win-x64", "publish");
public static string PublishedDeDirectory => Path.Combine(PublishDirectory, "de");
public static string PublishedEnDirectory => Path.Combine(PublishDirectory, "en");
public static string PublishedCentronNetExe => Path.Combine(PublishDirectory, "c-entron 2.0.exe");
public static string PublishedCentronNetDll => Path.Combine(PublishDirectory, "c-entron 2.0.dll");
public static string PublishedToolsDirectory => Path.Combine(PublishDirectory, "Tools");
public static string DebugCentronConnectionsPath => Path.Combine(ProjectDirectory, "bin", "Debug", "net10.0-windows", "CentronConnections.xml");
}
public static class CentronNetInstaller
{
public static string WixProjDirectory => Path.Combine(SlnDirectory, "deployment", "centron", "CentronSetupProject");
public static string WixProj => Path.Combine(WixProjDirectory, "CentronSetupProject.wixproj");
public static string InstallerInputDirectory => Path.Combine(WixProjDirectory, "Files");
public static string PublishDirectory => Path.Combine(WixProjDirectory, "bin", "Release");
public static string ArtifactsFile => Path.Combine(ArtifactsDirectory, "c-entron.NET Installer.zip");
public static string PublishedInstallerMsi => Path.Combine(PublishDirectory, "c-entron.NET Installer.msi");
public static string ProductHeat => Path.Combine(WixProjDirectory, "CentronProductHeat.wxs");
}
public static class CentronInterfaces
{
public static string ProjectName => "Centron.Interfaces";
public static string CsProj => Path.Combine(SlnDirectory, "src", "backend", ProjectName, $"{ProjectName}.csproj");
public static string PublishDirectory => Path.Combine(Path.GetDirectoryName(CsProj), "bin", "Release");
}
public static class CentronWebServicesCore
{
public static string ProjectName => "Centron.WebServices.Core";
public static string CsProj => Path.Combine(SlnDirectory, "src", "webservice", ProjectName, $"{ProjectName}.csproj");
public static string PublishDirectory => Path.Combine(Path.GetDirectoryName(CsProj), "bin", "Release");
}
public static class CentronCore
{
public static string ProjectName => "Centron.Core";
public static string CsProj => Path.Combine(SlnDirectory, "src", "shared", ProjectName, $"{ProjectName}.csproj");
public static string PublishDirectory => Path.Combine(Path.GetDirectoryName(CsProj), "bin", "Release");
}
public static class CentronControls
{
public static string CsProj => Path.Combine(SlnDirectory, "src", "shared", "Centron.Controls", "Centron.Controls.csproj");
public static string PublishDirectory => Path.Combine(Path.GetDirectoryName(CsProj), "bin", "Release");
}
public static class EndToEndTests
{
public static string CsProj => Path.Combine(SlnDirectory, "tests", "Centron.Tests.EndToEnd", "Centron.Tests.EndToEnd.csproj");
public static string ArtifactsDirectory => Path.Combine(CentronPaths.ArtifactsDirectory, "EndToEndTests");
public static string ArtifactsFileName => "TestResults.trx";
}
public static class DependencyGraph
{
public static string CentronWebServiceArtifactsFile => Path.Combine(ArtifactsDirectory, "c-entron Web-Service Dependencies.txt");
public static string CentronNetArtifactsFile => Path.Combine(ArtifactsDirectory, "c-entron.NET Dependencies.txt");
}
}
}