From ca77bebb15d15ffe1369f1637e454ab58f751ea4 Mon Sep 17 00:00:00 2001
From: Stefanos Doumpoulakis <dubulak@gmail.com>
Date: Tue, 8 Nov 2022 13:08:23 +0200
Subject: [PATCH] a)moved version utility stuff to its own class, b)vs2022 in
 build config

---
 Build/TextPreProcessing.targets               |  2 +-
 .../InputData/FileIO/JSON/JSONInputData.cs    |  2 +-
 VectoCore/VectoCore/Utils/VectoVersionCore.cs | 34 +-----------------
 VectoCore/VectoCore/Utils/VersioningUtil.cs   | 35 +++++++++++++++++++
 VectoCore/VectoCore/VectoCore.csproj          |  1 +
 5 files changed, 39 insertions(+), 35 deletions(-)
 create mode 100644 VectoCore/VectoCore/Utils/VersioningUtil.cs

diff --git a/Build/TextPreProcessing.targets b/Build/TextPreProcessing.targets
index a8651aeb4b..e0557c9851 100644
--- a/Build/TextPreProcessing.targets
+++ b/Build/TextPreProcessing.targets
@@ -6,6 +6,6 @@
 		</ItemGroup>
 		<!-- <Exec Condition="'@(VersionTemplates)'!=''" Command="&quot;%CommonProgramFiles(x86)%\Microsoft Shared\TextTemplating\12.0\TextTransform.exe&quot; -I $(SolutionDir) &quot;%(VersionTemplates.Identity)&quot;"/> -->
 		<!-- <Exec Condition="'@(VersionTemplates)'!=''" Command="&quot;%CommonProgramFiles(x86)%\Microsoft Shared\TextTemplating\14.0\TextTransform.exe&quot; -I $(SolutionDir) &quot;%(VersionTemplates.Identity)&quot;"/> -->
-		<Exec Condition="'@(VersionTemplates)'!=''" Command="&quot;%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\Common7\IDE\TextTransform.exe&quot; -I $(SolutionDir) &quot;%(VersionTemplates.Identity)&quot;"/>
+		<Exec Condition="'@(VersionTemplates)'!=''" Command="&quot;C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform.exe&quot; -I $(SolutionDir) &quot;%(VersionTemplates.Identity)&quot;"/>
 	</Target>
 </Project>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
index bea9f880b9..a7654670f9 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs
@@ -975,7 +975,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 			string simToolVersionStr = XMLManufacturerReportReader.ReadElementValue(xmlDoc, "SimulationToolVersion");
 			string vectoVersionStr = VectoSimulationCore.VersionNumber;
 
-			bool xmlVersionNewer = VectoSimulationCore.CompareVersions(simToolVersionStr, vectoVersionStr) > 0;
+			bool xmlVersionNewer = VersioningUtil.CompareVersions(simToolVersionStr, vectoVersionStr) > 0;
 			
 			if (xmlVersionNewer) {
 				throw new VectoException($"Not allowed to run simulation because VECTO version is older than <SimulationToolVersion> in Manufacturer Report ({simToolVersionStr}).");
diff --git a/VectoCore/VectoCore/Utils/VectoVersionCore.cs b/VectoCore/VectoCore/Utils/VectoVersionCore.cs
index 02a0ea995a..df9d29992e 100644
--- a/VectoCore/VectoCore/Utils/VectoVersionCore.cs
+++ b/VectoCore/VectoCore/Utils/VectoVersionCore.cs
@@ -29,9 +29,6 @@
 *   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
 */
 
-using System;
-using TUGraz.VectoCommon.Utils;
-
 namespace TUGraz.VectoCore.Utils
 {
 	public static class VectoSimulationCore
@@ -50,7 +47,7 @@ namespace TUGraz.VectoCore.Utils
 		public static string VersionNumber
 		{
 			get {
-				return "3.3.12.2800" + SUFFIX;
+				return "3.3.12.2868" + SUFFIX;
 			}
 		}
 
@@ -60,34 +57,5 @@ namespace TUGraz.VectoCore.Utils
 				return string.Format("VectoCore {0}", VersionNumber);
 			}
 		}
-
-		public enum VersionPart {
-			Major = 0,
-			Minor = 1,
-			Patch = 2,
-			Build = 3
-		};
-
-		public static int CompareVersions(string a, string b, VersionPart bound = VersionPart.Build)
-		{ 
-			var va = a.Split('-')[0].Split('.');
-			var vb = b.Split('-')[0].Split('.');
-			
-			for (int i = 0; (i < va.Length) && (i <= (int)bound); i++) {
-				string vbPartStr = (i < vb.Length) ? vb[i] : "0";
-				int vbPart = 0;
-				int.TryParse(vbPartStr, out vbPart);
-
-				int vaPart = 0;
-				int.TryParse(va[i], out vaPart);
-
-				if (vaPart != vbPart) {
-					return (vaPart > vbPart) ? 1 : -1;
-				}
-			}
-
-			return 0;
-		}
-
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/VectoCore/Utils/VersioningUtil.cs b/VectoCore/VectoCore/Utils/VersioningUtil.cs
new file mode 100644
index 0000000000..e4c859d95e
--- /dev/null
+++ b/VectoCore/VectoCore/Utils/VersioningUtil.cs
@@ -0,0 +1,35 @@
+
+
+namespace TUGraz.VectoCore.Utils
+{
+    public static class VersioningUtil
+    {
+		public enum VersionPart {
+			Major = 0,
+			Minor = 1,
+			Patch = 2,
+			Build = 3
+		};
+
+		public static int CompareVersions(string a, string b, VersionPart bound = VersionPart.Build)
+		{ 
+			var va = a.Split('-')[0].Split('.');
+			var vb = b.Split('-')[0].Split('.');
+			
+			for (int i = 0; (i < va.Length) && (i <= (int)bound); i++) {
+				string vbPartStr = (i < vb.Length) ? vb[i] : "0";
+				int vbPart = 0;
+				int.TryParse(vbPartStr, out vbPart);
+
+				int vaPart = 0;
+				int.TryParse(va[i], out vaPart);
+
+				if (vaPart != vbPart) {
+					return (vaPart > vbPart) ? 1 : -1;
+				}
+			}
+
+			return 0;
+		}
+    }
+}
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index bf9dc27651..1217ded880 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -622,6 +622,7 @@
       <DesignTime>True</DesignTime>
       <DependentUpon>VectoVersionCore.tt</DependentUpon>
     </Compile>
+    <Compile Include="Utils\VersioningUtil.cs" />
     <Compile Include="Utils\XMLDefinitions.cs" />
     <Compile Include="Utils\XMLHelper.cs" />
     <Compile Include="Utils\XmlResourceResolver.cs" />
-- 
GitLab