Skip to content

Commit b883a83

Browse files
Updated to cleanup dmapp versions
1 parent f7cd9ca commit b883a83

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

Sdk/Sdk.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.0" />
4141
<PackageReference Include="Nito.AsyncEx.Tasks" Version="5.1.2" />
4242
<PackageReference Include="Skyline.DataMiner.CICD.Common" Version="1.0.5-alpha" />
43+
<PackageReference Include="Skyline.DataMiner.CICD.DMApp.Common" Version="2.0.11" />
4344
<PackageReference Include="Skyline.DataMiner.CICD.Parsers.Common" Version="1.0.13-foxtrot" />
4445
<PackageReference Include="Skyline.DataMiner.CICD.Assemblers.Automation" Version="1.0.16-alpha" />
4546
<PackageReference Include="Skyline.DataMiner.Core.AppPackageCreator" Version="2.0.0-alpha4" />

Sdk/Tasks/DmappCreation.cs

+29-2
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,17 @@ namespace Skyline.DataMiner.Sdk.Tasks
55
using System.Collections.Generic;
66
using System.Diagnostics;
77
using System.Linq;
8+
using System.Security.Cryptography;
9+
using System.Text;
10+
using System.Text.RegularExpressions;
811

912
using Microsoft.Build.Framework;
1013

1114
using Nito.AsyncEx.Synchronous;
1215

1316
using Skyline.AppInstaller;
1417
using Skyline.DataMiner.CICD.Common;
18+
using Skyline.DataMiner.CICD.DMApp.Common;
1519
using Skyline.DataMiner.CICD.FileSystem;
1620
using Skyline.DataMiner.CICD.Parsers.Common.VisualStudio.Projects;
1721
using Skyline.DataMiner.Sdk.Helpers;
@@ -274,7 +278,7 @@ private bool TryCreateAppPackageBuilder(PackageCreationData preparedData, DataMi
274278
if (dataMinerProjectType != DataMinerProjectType.Package)
275279
{
276280
// Use default install script
277-
appPackageBuilder = new AppPackage.AppPackageBuilder(preparedData.Project.ProjectName, PackageVersion, preparedData.MinimumRequiredDmVersion);
281+
appPackageBuilder = new AppPackage.AppPackageBuilder(preparedData.Project.ProjectName, CleanDmappVersion(PackageVersion), preparedData.MinimumRequiredDmVersion);
278282
return true;
279283
}
280284

@@ -286,10 +290,33 @@ private bool TryCreateAppPackageBuilder(PackageCreationData preparedData, DataMi
286290
return false;
287291
}
288292

289-
appPackageBuilder = new AppPackage.AppPackageBuilder(preparedData.Project.ProjectName, PackageVersion, preparedData.MinimumRequiredDmVersion, packageResult.Script);
293+
appPackageBuilder = new AppPackage.AppPackageBuilder(preparedData.Project.ProjectName, CleanDmappVersion(PackageVersion), preparedData.MinimumRequiredDmVersion, packageResult.Script);
290294
return true;
291295
}
292296

297+
public static string CleanDmappVersion(string version)
298+
{
299+
// Check if version matches a.b.c
300+
if (Regex.IsMatch(version, @"^\d+\.\d+\.\d+$"))
301+
{
302+
return version;
303+
}
304+
305+
// Check if version matches a.b.c.d
306+
if (Regex.IsMatch(version, @"^\d+\.\d+\.\d+\.\d+$"))
307+
{
308+
return DMAppVersion.FromProtocolVersion(version).ToString();
309+
}
310+
311+
// Check if version matches a.b.c-text
312+
if (Regex.IsMatch(version, @"^\d+\.\d+\.\d+-\w+$"))
313+
{
314+
return DMAppVersion.FromPreRelease(version).ToString();
315+
}
316+
317+
throw new ArgumentException("Invalid version format.");
318+
}
319+
293320
/// <summary>
294321
/// Cancel the ongoing task.
295322
/// </summary>

0 commit comments

Comments
 (0)