diff --git a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax.yml b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax.yml
index 4968f8cc..bc0f334e 100644
--- a/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax.yml
+++ b/src/AXSharp.blazor/tests/sandbox/ax-blazor-example/apax.yml
@@ -6,6 +6,7 @@ targets:
- axunit-llvm
devDependencies:
"@ax/sdk": 3.0.2
+ "@ax/sld": ^0.14.2
scripts:
ixc:
- dotnet run --project ..\\..\\..\\..\\AXSharp.compiler\\src\\ixc\\AXSharp.ixc.csproj --framework net7.0
diff --git a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerConstructorBuilder.cs b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerConstructorBuilder.cs
index 51c3c09b..9e57eeb4 100644
--- a/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerConstructorBuilder.cs
+++ b/src/AXSharp.compiler/src/AXSharp.Cs.Compiler/Onliner/CsOnlinerConstructorBuilder.cs
@@ -142,7 +142,7 @@ public static CsOnlinerConstructorBuilder Create(IxNodeVisitor visitor, IClassDe
builder.AddToSource(
$"public {semantics.Name}({typeof(ITwinObject).n()} parent, string readableTail, string symbolTail)");
- if (isExtended) builder.AddToSource(": base(parent, readableTail, symbolTail + \".$base\") ");
+ if (isExtended) builder.AddToSource(": base(parent, readableTail, symbolTail)");
builder.AddToSource("{");
diff --git a/src/AXSharp.compiler/src/ixc/Program.cs b/src/AXSharp.compiler/src/ixc/Program.cs
index 9f88d46e..decd11b1 100644
--- a/src/AXSharp.compiler/src/ixc/Program.cs
+++ b/src/AXSharp.compiler/src/ixc/Program.cs
@@ -99,6 +99,10 @@ private static void DisplayInfo()
Console.WriteLine("THIS PROJECT IS POSSIBLE BECAUSE OF SOME AWESOME OPEN SOURCE PROJECTS\n" +
"THIRD PARTY LICENSES CAN BE FOUND AT \n" +
"https://github.com/ix-ax/axsharp/blob/master/notices.md");
+
+ Console.ForegroundColor = ConsoleColor.Magenta;
+ Console.WriteLine("ATTENTION: This version requires the usage of `apax sld` v0.14.2 or later!");
+
Console.ForegroundColor = originalColor;
if (int.Parse(GitVersionInformation.Major) < 1 || string.IsNullOrEmpty(GitVersionInformation.PreReleaseLabel))
diff --git a/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extended_by_known_type.g.cs b/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extended_by_known_type.g.cs
index 79dc3a99..02746da9 100644
--- a/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extended_by_known_type.g.cs
+++ b/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extended_by_known_type.g.cs
@@ -10,7 +10,7 @@ public partial class State1Transition : Simatic.Ax.StateFramework.AbstractState
{
partial void PreConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
partial void PostConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
- public State1Transition(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail + ".$base")
+ public State1Transition(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail)
{
Symbol = AXSharp.Connector.Connector.CreateSymbol(parent.Symbol, symbolTail);
PreConstruct(parent, readableTail, symbolTail);
diff --git a/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extends.g.cs b/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extends.g.cs
index 2b033686..edf91021 100644
--- a/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extends.g.cs
+++ b/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extends.g.cs
@@ -8,7 +8,7 @@ public partial class Extended : Extendee
{
partial void PreConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
partial void PostConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
- public Extended(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail + ".$base")
+ public Extended(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail)
{
Symbol = AXSharp.Connector.Connector.CreateSymbol(parent.Symbol, symbolTail);
PreConstruct(parent, readableTail, symbolTail);
diff --git a/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extends_and_implements.g.cs b/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extends_and_implements.g.cs
index e080ca2a..33b44d2d 100644
--- a/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extends_and_implements.g.cs
+++ b/src/AXSharp.compiler/tests/AXSharp.Compiler.CsTests/samples/units/expected/.g/Onliners/class_extends_and_implements.g.cs
@@ -8,7 +8,7 @@ public partial class ExtendsAndImplements : ExtendeeExtendsAndImplements, IImple
{
partial void PreConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
partial void PostConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
- public ExtendsAndImplements(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail + ".$base")
+ public ExtendsAndImplements(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail)
{
Symbol = AXSharp.Connector.Connector.CreateSymbol(parent.Symbol, symbolTail);
PreConstruct(parent, readableTail, symbolTail);
diff --git a/src/AXSharp.connectors/tests/AXSharp.Connector.Sax.WebAPITests/issues/GH_PTKu_ix_56.cs b/src/AXSharp.connectors/tests/AXSharp.Connector.Sax.WebAPITests/issues/GH_PTKu_ix_56.cs
index 171cd37c..7dcf774e 100644
--- a/src/AXSharp.connectors/tests/AXSharp.Connector.Sax.WebAPITests/issues/GH_PTKu_ix_56.cs
+++ b/src/AXSharp.connectors/tests/AXSharp.Connector.Sax.WebAPITests/issues/GH_PTKu_ix_56.cs
@@ -9,6 +9,7 @@
using AXSharp.Connector.S71500.WebApi;
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -22,21 +23,53 @@ public class GH_PTKu_ix_56
protected static WebApiConnector Connector { get; } = TestConnector.TestApiConnector as WebApiConnector;
[Fact()]
public async Task reproduction()
+ {
+ try
+ {
+ TestConnector.TestApiConnector.ReadWriteCycleDelay = 2;
+ var baseTypeMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.$base.$base.baseMember");
+ await baseTypeMember.GetAsync();
+
+ var firstInheritanceTypeMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.$base.FirstInheritanceMember");
+ await firstInheritanceTypeMember.GetAsync();
+
+ var secondInheritanceTypeMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.SecondInheritanceMember");
+ await secondInheritanceTypeMember.GetAsync();
+
+ var baseComplexMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.$base.$base.baseComplexMember.Counter");
+ await baseComplexMember.GetAsync();
+
+ var firstInheritanceComplexMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.$base.FirstInheritanceComplexMember.Counter");
+ await firstInheritanceComplexMember.GetAsync();
+
+ var secondInheritanceComplexMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.SecondInheritanceComplexMember.Counter");
+ await secondInheritanceComplexMember.GetAsync();
+ }
+ catch (Exception e)
+ {
+ return;
+ }
+
+ throw new Exception("We should not be here");
+ }
+
+ [Fact()]
+ public async Task reproduction_no_base()
{
TestConnector.TestApiConnector.ReadWriteCycleDelay = 2;
- var baseTypeMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.$base.$base.baseMember");
+ var baseTypeMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.baseMember");
await baseTypeMember.GetAsync();
- var firstInheritanceTypeMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.$base.FirstInheritanceMember");
+ var firstInheritanceTypeMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.FirstInheritanceMember");
await firstInheritanceTypeMember.GetAsync();
var secondInheritanceTypeMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.SecondInheritanceMember");
await secondInheritanceTypeMember.GetAsync();
- var baseComplexMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.$base.$base.baseComplexMember.Counter");
+ var baseComplexMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.baseComplexMember.Counter");
await baseComplexMember.GetAsync();
- var firstInheritanceComplexMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.$base.FirstInheritanceComplexMember.Counter");
+ var firstInheritanceComplexMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.FirstInheritanceComplexMember.Counter");
await firstInheritanceComplexMember.GetAsync();
var secondInheritanceComplexMember = new WebApiString(Connector, "", $"GH_PKTu_ix_56_SecondInheritance.SecondInheritanceComplexMember.Counter");
diff --git a/src/AXSharp.connectors/tests/ax-test-project/apax-lock.json b/src/AXSharp.connectors/tests/ax-test-project/apax-lock.json
index deb9c405..457d1a63 100644
--- a/src/AXSharp.connectors/tests/ax-test-project/apax-lock.json
+++ b/src/AXSharp.connectors/tests/ax-test-project/apax-lock.json
@@ -1,54 +1,56 @@
{
"@ax/apax-build": {
- "version": "0.5.0",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/apax-build/-/apax-build-0.5.0.tgz",
- "integrity": "sha512-6p9iZQfpmngx38r4p6XaVVPeEQzTt3UJcywsRSeVBnES6tx1pTVLM20K0RczqRYZmXbyNpz9effPxpvj5L/jKA==",
- "dependencies": {
- "@ax/third-party-licenses-apax-build": "0.5.0"
- }
+ "version": "0.6.0",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/apax-build/-/apax-build-0.6.0.tgz",
+ "integrity": "sha512-b6VU8jC3VC4/8euvXk/YRwnVr38pRRHkYkQFTviCVnHULq4U0lxYZs9L7oPAEmUZ4miLgcky4GB8XIYVAZfNNg=="
},
"@ax/axunit": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit/-/axunit-3.0.3.tgz",
- "integrity": "sha512-uZnQMlIf7FnlIvdbVB5KhuOn/vMlV6fN+IqIjPVHdPsFM08RcxQIZ1ci/xoq+5ChqEhdYRSeCHuGT1dQp6baoA==",
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit/-/axunit-3.0.6.tgz",
+ "integrity": "sha512-OrGchBLsmvlF4VXnmO5hN2hAyQ6XfPtXNRopzKCdvw6T3IWZrrZV0pOgYYYMo1s1Gt5rG3bsBLrw0I0BG5KOOA==",
"dependencies": {
- "@ax/axunit-docs": "3.0.3",
- "@ax/axunit-library": "3.0.3",
- "@ax/axunit-llvm-runner-gen": "3.0.3",
- "@ax/axunit-runner-llvm": "3.0.3",
- "@ax/axunit-runner-mc7plus": "3.0.3",
+ "@ax/axunit-docs": "3.0.6",
+ "@ax/axunit-library": "3.0.6",
+ "@ax/axunit-llvm-runner-gen": "3.0.6",
+ "@ax/axunit-runner-llvm": "3.0.6",
+ "@ax/axunit-runner-mc7plus": "3.0.6",
"@ax/build-native": "10.1.1",
- "@ax/target-axunit": "3.0.3"
+ "@ax/target-axunit": "3.0.6"
}
},
"@ax/axunit-docs": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-docs/-/axunit-docs-3.0.3.tgz",
- "integrity": "sha512-xBthXyww4nc9cvnLDo5psLDzja9E08unXVBPnhP/DTOUMu6L7P01gFVPALPRW2+A1w3kQ8sw+MvDf2v4ZFWvYQ=="
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-docs/-/axunit-docs-3.0.6.tgz",
+ "integrity": "sha512-rMK4IdvXJUWISQswNIYJ95HUWhlvEl8D1x9t/bSJB0olEAei0yb95F1I0lJoOuYu1gFCH3S/8eiAwCvlW7MrTA=="
},
"@ax/axunit-library": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-library/-/axunit-library-3.0.3.tgz",
- "integrity": "sha512-rnJ6CoxfhsWcEblmubgzYAAmiBmD7ZedxdEslBBdWXwa0euFWCvVixlGd/0vT/Hbgy5vARuk6+lli0IRo4kIYg=="
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-library/-/axunit-library-3.0.6.tgz",
+ "integrity": "sha512-DlO8pb1gN7UGPPp3s7dUod0V3er+GHcUMQNVwVYwFsjo6kfhzCYtup2hh2EUPIETgo6svJv6bg5ADC85YlpAQA=="
},
"@ax/axunit-llvm-runner-gen": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-llvm-runner-gen/-/axunit-llvm-runner-gen-3.0.3.tgz",
- "integrity": "sha512-MOG470kzvBFsdRxD03SX0cj42nRy5SXgQToVeNX+8HLZuC8StFFEOy608vKe8aT3SsIH/mTMi8tTil0NonlOJw=="
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-llvm-runner-gen/-/axunit-llvm-runner-gen-3.0.6.tgz",
+ "integrity": "sha512-xyy+cbZ36vi5zyMyW4dwNCjwQ0fbP2igjRsqJEkY4rRN8bqEvhEZ9d8gcWV/63W41jsglH6Z/0hHiP1qXCmbbA=="
+ },
+ "@ax/axunit-ls-contrib": {
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-ls-contrib/-/axunit-ls-contrib-3.0.6.tgz",
+ "integrity": "sha512-l82pMaW6E9C+tt2IJuMBkR0jfdZCK5wS5RiBsPuSMEskUygOX21Y+L98EvbgkwNhcB+i5Cf+isS30gpPn1jwsw=="
},
"@ax/axunit-runner-llvm": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm/-/axunit-runner-llvm-3.0.3.tgz",
- "integrity": "sha512-P+cQ57LVg60HnAm2aEtlwbpCgb8zK2MZpHjGMpsFLWgXiWsoai3SbMizaBB6xuF1g1P+KDBN8OHalt6Kjkvyqw==",
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm/-/axunit-runner-llvm-3.0.6.tgz",
+ "integrity": "sha512-B/tj39PA2bc7rmbfQmnnCEM/auTSCHjnP6kXv3/PfzFW5hAdQMWjB+mIRWjPrKcH0Tly0dYuRDd/vZHFElwwlg==",
"dependencies": {
- "@ax/axunit-runner-llvm-linux-x64": "3.0.3",
- "@ax/axunit-runner-llvm-win-x64": "3.0.3"
+ "@ax/axunit-runner-llvm-linux-x64": "3.0.6",
+ "@ax/axunit-runner-llvm-win-x64": "3.0.6"
}
},
"@ax/axunit-runner-llvm-linux-x64": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm-linux-x64/-/axunit-runner-llvm-linux-x64-3.0.3.tgz",
- "integrity": "sha512-j8k7lf/s5Xc+S0a46l3yPdSHpTzWPCbNwnRWC80Elw+tRcxMw1yx3DSL38TLYGxBNZj+YTGs+uCC/qwfCODPeQ==",
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm-linux-x64/-/axunit-runner-llvm-linux-x64-3.0.6.tgz",
+ "integrity": "sha512-c0B6pzXK1Cw71htc+VUyoOh+86XvjK/Vn6T5e5MOLTUhNRiA97YlxjxpSWFJGKecjQ01uKhMEm6hw832GPhSfw==",
"os": [
"linux"
],
@@ -57,9 +59,9 @@
]
},
"@ax/axunit-runner-llvm-win-x64": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm-win-x64/-/axunit-runner-llvm-win-x64-3.0.3.tgz",
- "integrity": "sha512-kJKR00xbBQ9i1p+RjzzyyIUXiFsezmP9dP8M2Qy9PrS2AJqpMfztPMh81hgqd7jFJCzUjib7lvAEtiE+8WNqXw==",
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-llvm-win-x64/-/axunit-runner-llvm-win-x64-3.0.6.tgz",
+ "integrity": "sha512-mqwvMp3UVrvSD10mFANiWQwYYdb6TQtT8hQQ9D9xNyJPyv/oKm4IK1hCDE+hmQbZRUNTxMgmqLezeMtq6K6Z2Q==",
"os": [
"win32"
],
@@ -68,17 +70,17 @@
]
},
"@ax/axunit-runner-mc7plus": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-mc7plus/-/axunit-runner-mc7plus-3.0.3.tgz",
- "integrity": "sha512-E/Oq1EsslIrqy7AQZ3peB+1uDhbwWqBWAQalOpufMY6jBDbTZNMdaLyC0d8s2tAOW1L2gV3OLdKVbhAqzE7+HA==",
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-mc7plus/-/axunit-runner-mc7plus-3.0.6.tgz",
+ "integrity": "sha512-SUROHZHu6BTTmr+aqS+/Dd/q1EYCODylBh3SoY+BUOfK4t771DnAEcwJWuxDRc5CjEAp1FvryNr07xGrM7J/+A==",
"dependencies": {
- "@ax/axunit-runner-mc7plus-win-x64": "3.0.3"
+ "@ax/axunit-runner-mc7plus-win-x64": "3.0.6"
}
},
"@ax/axunit-runner-mc7plus-win-x64": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-mc7plus-win-x64/-/axunit-runner-mc7plus-win-x64-3.0.3.tgz",
- "integrity": "sha512-PHqL1/JnOCOo2QmgYkcqRLEg3R4a72ZgtQS4+EJxOrha8T0il8JIJadoc30Wo0suokXQlMS/OII8a2EL/4hqcg==",
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/axunit-runner-mc7plus-win-x64/-/axunit-runner-mc7plus-win-x64-3.0.6.tgz",
+ "integrity": "sha512-kpTGnlJBbgcPU7UzD1znvf0wvofvAWg4DkBdugUYoyNcNvrjFEz4G/pXKPpzjidvwhreeurL/bSo3y2/Af3BAQ==",
"os": [
"win32"
],
@@ -125,53 +127,43 @@
}
},
"@ax/hwc": {
- "version": "0.6.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/hwc/-/hwc-0.6.8.tgz",
- "integrity": "sha512-TpxJxp45Q7r/5OIOuGtehPrNq3UrDzOz9njeZ+2vSo/UJDJDFRa4CALXKHceYiQ3MSjJkop1vsp+yG552IFjwg==",
+ "version": "0.7.92",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc/-/hwc-0.7.92.tgz",
+ "integrity": "sha512-8jPEwNbS2FklaI4kQoEpVsmMI/DUkHKVLI2wfdGe8yegESQZziobtOX55rlG1oxMON/ZjwGk2JYRq2x7vYOqRA==",
"dependencies": {
- "@ax/hwc-linux-x64": "0.6.8",
- "@ax/hwc-win-x64": "0.6.8",
- "@ax/third-party-licenses-hardware-compiler": "0.6.8"
+ "@ax/hwc-linux-x64": "0.7.92",
+ "@ax/hwc-win-x64": "0.7.92"
}
},
"@ax/hwc-linux-x64": {
- "version": "0.6.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/hwc-linux-x64/-/hwc-linux-x64-0.6.8.tgz",
- "integrity": "sha512-QrK8l/yso6H76a92GRf/1S6U6u0yF0r401+NcSETrbgCa09y6JkzkrkOOqd6/v/QECNeEr2aJNuea22+XXR7Sg==",
+ "version": "0.7.92",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc-linux-x64/-/hwc-linux-x64-0.7.92.tgz",
+ "integrity": "sha512-5e7vMVCA6I4OQfft+Gl6y4D8cr4FxYQgT0s2nQ5QbPlu37NZq/3NB8JOx4rxZ+xqjFJH3cnJh4TE5bPzadFhZg==",
"os": [
"linux"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-hardware-compiler": "0.6.8"
- }
+ ]
},
"@ax/hwc-win-x64": {
- "version": "0.6.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/hwc-win-x64/-/hwc-win-x64-0.6.8.tgz",
- "integrity": "sha512-ivUhSyev7hwDazoLJ8b2uA3ZQkzD0IQMHX4n3BAiZG73sWsadkN2WdaEAQcwglOLM4MKCf5JKEPmUBz0F2A7vg==",
+ "version": "0.7.92",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwc-win-x64/-/hwc-win-x64-0.7.92.tgz",
+ "integrity": "sha512-VJSlZU83m2KYKoBmapUz8ZMOATG5AGUdSkXMbUsja28mLpJT33x521HIDw21hstH8icuwwbHhz21eyGA2zFXAQ==",
"os": [
"win32"
],
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-hardware-compiler": "0.6.8"
- }
+ ]
},
"@ax/hwld": {
- "version": "0.5.27",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/hwld/-/hwld-0.5.27.tgz",
- "integrity": "sha512-q0TZJ6OyAswlyb3xZymLp/viSpiJZtbUD1+feqVIHA4cTIxF2yp3kjkdYo9S+wvCbr+/LvEWxpjzP4rO84c42Q==",
+ "version": "0.7.10",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/hwld/-/hwld-0.7.10.tgz",
+ "integrity": "sha512-kDfQXUSGFI/4jHwHC86Uh88nmyn5ReUCZH+55vcx5ibVc2uyeXynvX4gyh9C8+ci8AOX5BSiaVdZiDYuODIbxg==",
"cpu": [
"x64"
- ],
- "dependencies": {
- "@ax/third-party-licenses-hardware-loader": "0.5.27"
- }
+ ]
},
"@ax/mod": {
"version": "0.18.1",
@@ -267,33 +259,34 @@
]
},
"@ax/sdk": {
- "version": "3.0.7",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdk/-/sdk-3.0.7.tgz",
- "integrity": "sha512-Zs2i359BmNX3tGXVKNNwJONWFC7eB8KJSGKn6qaEn5i7CBk+hHQA9Vr5ITmWrkVAB+y2rfJvFllJ1R9k0pY/vg==",
+ "version": "3.0.17",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sdk/-/sdk-3.0.17.tgz",
+ "integrity": "sha512-VVccZK1/a4snfMSk+jp67XpQXlWtNnb6hFkf9yg8BHW16FS/6dZ4KrfgGxrJGkG0IwbfRHKGhkbBI0k5JRayXA==",
"dependencies": {
- "@ax/axunit": "3.0.3",
+ "@ax/axunit": "3.0.6",
+ "@ax/axunit-ls-contrib": "3.0.6",
"@ax/mod": "0.18.1",
"@ax/mon": "0.18.1",
"@ax/sdb": "0.18.1",
"@ax/sld": "0.13.3",
- "@ax/st": "3.0.7",
- "@ax/target-llvm": "4.2.19",
- "@ax/target-mc7plus": "4.2.19"
+ "@ax/st": "3.0.17",
+ "@ax/target-llvm": "4.4.114",
+ "@ax/target-mc7plus": "4.4.114"
}
},
"@ax/sld": {
- "version": "0.13.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld/-/sld-0.13.3.tgz",
- "integrity": "sha512-yWSdJfsPrB2bK/66aHb/ZG+jNRlZBdn2NQGOaziBCrJjp18Y6S30YyfVyFDnEDR9uUKODvhNthsRzULxtmGMhw==",
+ "version": "0.14.2",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld/-/sld-0.14.2.tgz",
+ "integrity": "sha512-ayAGEmZT65iPIaFjK51hv0Z5X4yEI30v/z3KdAx2hwGpiS1X3lgsvv2BJkUjQ1gxyHd0a7xH/OefRyklW+AM8w==",
"dependencies": {
- "@ax/sld-linux-x64": "0.13.3",
- "@ax/sld-win-x64": "0.13.3"
+ "@ax/sld-linux-x64": "0.14.2",
+ "@ax/sld-win-x64": "0.14.2"
}
},
"@ax/sld-linux-x64": {
- "version": "0.13.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld-linux-x64/-/sld-linux-x64-0.13.3.tgz",
- "integrity": "sha512-igNwjZoLD65CFxc/JivLnYdi5UgV5L+L3xprWqUEPaR+/FUwdPLSYeef0rcSwhE0A91FqYp9gWJeASdveoGwFQ==",
+ "version": "0.14.2",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld-linux-x64/-/sld-linux-x64-0.14.2.tgz",
+ "integrity": "sha512-a9MeYi6yuBd0KXQLdTCOwypxHGWPegg/PmNdKenBNyply4DSvu2eU+vyFlX7eJVUtsb7a8wEuIswhU8P0aVRvw==",
"os": [
"linux"
],
@@ -302,9 +295,9 @@
]
},
"@ax/sld-win-x64": {
- "version": "0.13.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld-win-x64/-/sld-win-x64-0.13.3.tgz",
- "integrity": "sha512-Bx/qbIIsZ8oL6drTwDfBjY0qxu4tci/r/+KZ+O+tQUhstA7dlGC6MQYxNo/7mx1SJ9u91wbTa+R5HUV6lxT5jw==",
+ "version": "0.14.2",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld-win-x64/-/sld-win-x64-0.14.2.tgz",
+ "integrity": "sha512-vS2yzuANRIKmXX+nhsLsfWRqR9H388/r4Ix4RJ0ZzMiDSUXQJ7AAYlIwj1SdN+tvR69xJ9k9+Glt+cMgdb0zSA==",
"os": [
"win32"
],
@@ -313,32 +306,32 @@
]
},
"@ax/st": {
- "version": "3.0.7",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/st/-/st-3.0.7.tgz",
- "integrity": "sha512-PG9EiP8iDlgBTpjk30i0Dp9qut7xOOD0griKUKYFTv18c9RU/BMaitFSvjrvCL0T6y+wWQqvabCNgLIsqWRF9A==",
+ "version": "3.0.17",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/st/-/st-3.0.17.tgz",
+ "integrity": "sha512-M80zD8zDUMRCeDHQZn1LFahM97LjashCpIgAiiPqWNtcZe/Zb8T32owIu1jly0GWihF+2ItcTuRTraBgEUJ/qg==",
"dependencies": {
- "@ax/apax-build": "0.5.0",
- "@ax/stc": "4.2.19"
+ "@ax/apax-build": "0.6.0",
+ "@ax/stc": "4.5.85"
}
},
"@ax/st-docs": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-docs/-/st-docs-4.2.19.tgz",
- "integrity": "sha512-cq97rFqA5GNZBY6cRe1DdeK7wFcd2iprpqXSsCUBl6q4DdjQJ2N8X7iefE1tShqo0mhppDXw13NAdLwPoOW+jg=="
+ "version": "4.5.85",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/st-docs/-/st-docs-4.5.85.tgz",
+ "integrity": "sha512-4aLjC4bbZyxbRp6ob7YUVkt3vwMaxxi22JGKzJsYOUVYU54I96/GAYrW+U7lod+jWe5Z/pe4LGphFkJwagComg=="
},
"@ax/stc": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc/-/stc-4.2.19.tgz",
- "integrity": "sha512-4FnHt1v+Py3gUC8EMcpUyM7jSrSLGqIkWd8HNYR6pnR306tfUAmHbVgHaJMONvy36UNFr2MtVeF7eTExRPyPcg==",
+ "version": "4.5.85",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc/-/stc-4.5.85.tgz",
+ "integrity": "sha512-Wx30hkzpbrhG78xyTZwEX2eDQN6bpAl6nMxwuyT0zmEroxrOLDr0/E/glmZLo0pLiL65jWXj9ENHxF3Bp6CrSQ==",
"dependencies": {
- "@ax/stc-linux-x64": "4.2.19",
- "@ax/stc-win-x64": "4.2.19"
+ "@ax/stc-linux-x64": "4.5.85",
+ "@ax/stc-win-x64": "4.5.85"
}
},
"@ax/stc-linux-x64": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-linux-x64/-/stc-linux-x64-4.2.19.tgz",
- "integrity": "sha512-YhropZVFunzsSvdbHjMRrEoO0REHrfszyglBibM2GDUkveVZcgs2FhUaqz5a2tdFrs3eTMxwQpVTTEi6iL07KQ==",
+ "version": "4.5.85",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-linux-x64/-/stc-linux-x64-4.5.85.tgz",
+ "integrity": "sha512-A4btgQ/72CUB/BHXAEi48dNj1joWeSuIa+xWE2jQiVznEy+U+bVgEAq0NHSn9KoF86qYYV5rPh3qOHUcZ6vCyA==",
"os": [
"linux"
],
@@ -346,13 +339,13 @@
"x64"
],
"dependencies": {
- "@ax/st-docs": "4.2.19"
+ "@ax/st-docs": "4.5.85"
}
},
"@ax/stc-win-x64": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-win-x64/-/stc-win-x64-4.2.19.tgz",
- "integrity": "sha512-ZrWaXdTqzQV0OD9PWmShCHnXhVL9MUK5HDLok4CuxWJhkpKHentuDqOgcUrYnQaPh1L8muHAsbRjTIR9FDg1xw==",
+ "version": "4.5.85",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/stc-win-x64/-/stc-win-x64-4.5.85.tgz",
+ "integrity": "sha512-dPXV9fU/h7brIqESqwI9AyJLn1+etSYU9XOEH3b8PaWuom7LnXqZiASxBpA70RPx8N5AFyOJlurK7aVT/E9/OA==",
"os": [
"win32"
],
@@ -360,27 +353,27 @@
"x64"
],
"dependencies": {
- "@ax/st-docs": "4.2.19"
+ "@ax/st-docs": "4.5.85"
}
},
"@ax/target-axunit": {
- "version": "3.0.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-axunit/-/target-axunit-3.0.3.tgz",
- "integrity": "sha512-/+dana0OYYLk+gez8/GV3ZbnPOE5GsShB11Sn5XOztQkXckQVS8YsXqxD2rC/WaGjEZ28b8Mzehrvf8CoX1UzA=="
+ "version": "3.0.6",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-axunit/-/target-axunit-3.0.6.tgz",
+ "integrity": "sha512-jIVgOZ6OaLuRkQDlUfBefX/xnM6bJodDytCZPO1ng+82FGjOCHOsOZ4DizDFLS/0Vtb1vs6xQQqgBtn2rv3rtQ=="
},
"@ax/target-llvm": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm/-/target-llvm-4.2.19.tgz",
- "integrity": "sha512-GRn9UO0KX6BHm0W/7XBksHlWSiP1EP63L1OwgydgmlM/7DgCZu4icNGsgLcpR8CynbqkyJv9vraDgpEwJACJYg==",
+ "version": "4.4.114",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm/-/target-llvm-4.4.114.tgz",
+ "integrity": "sha512-SZo6OqH27WQbqPqr3Euj1Ks6fI+mjdso7WX4HdJ2hDZao9sy1sfBA+q1WE+GU2F+h+OB2l337usnjc608nmZjg==",
"dependencies": {
- "@ax/target-llvm-linux-x64": "4.2.19",
- "@ax/target-llvm-win-x64": "4.2.19"
+ "@ax/target-llvm-linux-x64": "4.4.114",
+ "@ax/target-llvm-win-x64": "4.4.114"
}
},
"@ax/target-llvm-linux-x64": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-linux-x64/-/target-llvm-linux-x64-4.2.19.tgz",
- "integrity": "sha512-1Bckp7uV3LY7E+TuI677GSOUOaFAU5DRpduIgnlxjW2SUR2rrUqSoBUA34wiC3vS866lkk8w9B7MMNIIGTwERg==",
+ "version": "4.4.114",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-linux-x64/-/target-llvm-linux-x64-4.4.114.tgz",
+ "integrity": "sha512-BPXu+/rO7BtB0iND7I0BuMAK+jD71ymIhb7QKJaaRFL0dA+9Qu2D1K6BtDkXMscrI+Oedvcypk2SVmHecojgYA==",
"os": [
"linux"
],
@@ -389,9 +382,9 @@
]
},
"@ax/target-llvm-win-x64": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-win-x64/-/target-llvm-win-x64-4.2.19.tgz",
- "integrity": "sha512-0D1DbembzBKhiAlszV4t58NYUM2ojHFx2rEU+OkvZZ7xmGFuqCg4A/NODXK1haHktxjuitdC67u4JgRWCdwTDA==",
+ "version": "4.4.114",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-llvm-win-x64/-/target-llvm-win-x64-4.4.114.tgz",
+ "integrity": "sha512-pSAFsHESw0R5Fxl6inD7/ystsDlOt+XDAMaMk4JSwR65Qyp3HJTQJ6NT4C9+4rGk1kknGCzT9nXm800Sl6D2SQ==",
"os": [
"win32"
],
@@ -400,18 +393,18 @@
]
},
"@ax/target-mc7plus": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus/-/target-mc7plus-4.2.19.tgz",
- "integrity": "sha512-NINzj044PCJAlkcVCOKv8IsISqvIcLLqEeyeXF3fg7LQGSTE3x7bjb7lwhW2XfKASzdc3v3KRDWTYev7Rop5iA==",
+ "version": "4.4.114",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus/-/target-mc7plus-4.4.114.tgz",
+ "integrity": "sha512-Jnlpdiph12QuW1UC/+ibzEOvvgHi3FwjotFkQnX2DHkop0J6eXmTRrkG22JkgHMf+pVaxjh6k+bzqvCEDBzqoQ==",
"dependencies": {
- "@ax/target-mc7plus-linux-x64": "4.2.19",
- "@ax/target-mc7plus-win-x64": "4.2.19"
+ "@ax/target-mc7plus-linux-x64": "4.4.114",
+ "@ax/target-mc7plus-win-x64": "4.4.114"
}
},
"@ax/target-mc7plus-linux-x64": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-linux-x64/-/target-mc7plus-linux-x64-4.2.19.tgz",
- "integrity": "sha512-YQYJ+Wjsj1fTgtfNsSYLE1Lu+eP3Hw7Vxm2XTGvBb3CIFzgGi/rHMZDwth9quB/h89nbjv16i6uIGSxDh1vo4g==",
+ "version": "4.4.114",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-linux-x64/-/target-mc7plus-linux-x64-4.4.114.tgz",
+ "integrity": "sha512-loiukKFFcKO18cxnQYN9xJvSk79tmKnZpbwx7+lYJ7zlyJeYR6g1+c7Fwwg0vOyaK2mDkKm5nfWz08kw7CgxDQ==",
"os": [
"linux"
],
@@ -420,9 +413,9 @@
]
},
"@ax/target-mc7plus-win-x64": {
- "version": "4.2.19",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-win-x64/-/target-mc7plus-win-x64-4.2.19.tgz",
- "integrity": "sha512-4I/HBegyUcvyfrUUd/D8SgPaXwbDfBBA5NUtt4YwSGlExohJ/lSV/2NCkoPd1q1n7MQssFOzUjXBGVZK5JPgzg==",
+ "version": "4.4.114",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/target-mc7plus-win-x64/-/target-mc7plus-win-x64-4.4.114.tgz",
+ "integrity": "sha512-x4jvRmWfYINumblbyT3Dt7s7SeLrlrG/hVUNvUDDpa+dVSQpHqxg/KSuIc10YIt8n7uh3ptysBSAZSyozzRNxQ==",
"os": [
"win32"
],
@@ -430,24 +423,9 @@
"x64"
]
},
- "@ax/third-party-licenses-apax-build": {
- "version": "0.5.0",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-apax-build/-/third-party-licenses-apax-build-0.5.0.tgz",
- "integrity": "sha512-9okNwDaHttbFwcP1Ln/mFN8ARYL1g+ShCtcMm4OE/BYN98nzoTZBEaUdsdbhju4sL4bD6qDBPVvj9o/cwPIL7Q=="
- },
"@ax/third-party-licenses-build-native": {
"version": "10.1.1",
"resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-build-native/-/third-party-licenses-build-native-10.1.1.tgz",
"integrity": "sha512-Da+AT0KujH3K9bKf4K4rqPA3Z+a/WDkw9p6328AlrSqgBIUFyUZzOM3eVOwhhjKCnmNAVSmtSp0r7crDFGICTw=="
- },
- "@ax/third-party-licenses-hardware-compiler": {
- "version": "0.6.8",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-hardware-compiler/-/third-party-licenses-hardware-compiler-0.6.8.tgz",
- "integrity": "sha512-h+SjYBnygQ70jkwdNaTQT/tOl4K6NxXI08qkmLdUA315mKeAgr0Z8JUyA0/t4m4hJ4fuHOYOaBlja36aUcO3iQ=="
- },
- "@ax/third-party-licenses-hardware-loader": {
- "version": "0.5.27",
- "resolved": "https://apax-prod-734703289705.d.codeartifact.eu-central-1.amazonaws.com:443/npm/ax/@ax/third-party-licenses-hardware-loader/-/third-party-licenses-hardware-loader-0.5.27.tgz",
- "integrity": "sha512-NHSsOQmYW9SLOPZTRzW28mw6QBlinXSD27aW0urFRaj113RUDtsQ0Sr/fW+4NpbTd9/y+02qwfSsy6vqZCQckQ=="
}
}
diff --git a/src/AXSharp.connectors/tests/ax-test-project/apax.yml b/src/AXSharp.connectors/tests/ax-test-project/apax.yml
index 439afc63..2d071715 100644
--- a/src/AXSharp.connectors/tests/ax-test-project/apax.yml
+++ b/src/AXSharp.connectors/tests/ax-test-project/apax.yml
@@ -6,9 +6,12 @@ targets:
- axunit-llvm
- plcsim
devDependencies:
- "@ax/sdk": 3.0.7
+ "@ax/sdk": 3.0.17
dependencies:
- "@ax/hwld": ^0.5.27
- "@ax/hwc": ^0.6.8
+ "@ax/hwld": ^0.7.10
+ "@ax/hwc": ^0.7.92
+ "@ax/sld": ^0.14.2
scripts:
- postbuild: dotnet run --project ..//..//..//AXSharp.compiler//src//ixc//AXSharp.ixc.csproj --framework net7.0
+ postbuild: dotnet run --project
+ ..//..//..//AXSharp.compiler//src//ixc//AXSharp.ixc.csproj --framework
+ net7.0
diff --git a/src/AXSharp.examples/hello.world.console/hello.world.console.plc/apax.yml b/src/AXSharp.examples/hello.world.console/hello.world.console.plc/apax.yml
index c4214de4..070e2dc5 100644
--- a/src/AXSharp.examples/hello.world.console/hello.world.console.plc/apax.yml
+++ b/src/AXSharp.examples/hello.world.console/hello.world.console.plc/apax.yml
@@ -6,3 +6,4 @@ targets:
- axunit-llvm
devDependencies:
"@ax/sdk": 3.0.8
+ "@ax/sld": ^0.14.2
diff --git a/src/AXSharp.templates/working/templates/axsharpblazor/ax/apax.yml b/src/AXSharp.templates/working/templates/axsharpblazor/ax/apax.yml
index 1cf56bd9..d0fea429 100644
--- a/src/AXSharp.templates/working/templates/axsharpblazor/ax/apax.yml
+++ b/src/AXSharp.templates/working/templates/axsharpblazor/ax/apax.yml
@@ -7,6 +7,7 @@ targets:
- plcsim
devDependencies:
"@ax/sdk": 3.0.8
+ "@ax/sld": ^0.14.2
variables:
APAX_BUILD_ARGS: [ -d ]
scripts:
diff --git a/src/AXSharp.templates/working/templates/axsharpconsole/ax/apax.yml b/src/AXSharp.templates/working/templates/axsharpconsole/ax/apax.yml
index c3cf07aa..32ba3afa 100644
--- a/src/AXSharp.templates/working/templates/axsharpconsole/ax/apax.yml
+++ b/src/AXSharp.templates/working/templates/axsharpconsole/ax/apax.yml
@@ -7,6 +7,7 @@ targets:
- axunit-llvm
devDependencies:
"@ax/sdk": 3.0.8
+ "@ax/sld": ^0.14.2
variables:
APAX_BUILD_ARGS: [ -d ]
scripts:
diff --git a/src/sanbox/integration/ix-integration-plc/apax.yml b/src/sanbox/integration/ix-integration-plc/apax.yml
index cd177247..57469f43 100644
--- a/src/sanbox/integration/ix-integration-plc/apax.yml
+++ b/src/sanbox/integration/ix-integration-plc/apax.yml
@@ -7,6 +7,7 @@ targets:
- plcsim
devDependencies:
"@ax/sdk": 3.0.8
+ "@ax/sld": ^0.14.2
variables:
APAX_BUILD_ARGS: [ -d ]
scripts:
diff --git a/src/tests.integrations/integrated/src/ax/apax-lock.json b/src/tests.integrations/integrated/src/ax/apax-lock.json
index ae1c09dd..0e66dbb5 100644
--- a/src/tests.integrations/integrated/src/ax/apax-lock.json
+++ b/src/tests.integrations/integrated/src/ax/apax-lock.json
@@ -233,18 +233,18 @@
}
},
"@ax/sld": {
- "version": "0.13.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld/-/sld-0.13.3.tgz",
- "integrity": "sha512-yWSdJfsPrB2bK/66aHb/ZG+jNRlZBdn2NQGOaziBCrJjp18Y6S30YyfVyFDnEDR9uUKODvhNthsRzULxtmGMhw==",
+ "version": "0.14.2",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld/-/sld-0.14.2.tgz",
+ "integrity": "sha512-ayAGEmZT65iPIaFjK51hv0Z5X4yEI30v/z3KdAx2hwGpiS1X3lgsvv2BJkUjQ1gxyHd0a7xH/OefRyklW+AM8w==",
"dependencies": {
- "@ax/sld-linux-x64": "0.13.3",
- "@ax/sld-win-x64": "0.13.3"
+ "@ax/sld-linux-x64": "0.14.2",
+ "@ax/sld-win-x64": "0.14.2"
}
},
"@ax/sld-linux-x64": {
- "version": "0.13.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld-linux-x64/-/sld-linux-x64-0.13.3.tgz",
- "integrity": "sha512-igNwjZoLD65CFxc/JivLnYdi5UgV5L+L3xprWqUEPaR+/FUwdPLSYeef0rcSwhE0A91FqYp9gWJeASdveoGwFQ==",
+ "version": "0.14.2",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld-linux-x64/-/sld-linux-x64-0.14.2.tgz",
+ "integrity": "sha512-a9MeYi6yuBd0KXQLdTCOwypxHGWPegg/PmNdKenBNyply4DSvu2eU+vyFlX7eJVUtsb7a8wEuIswhU8P0aVRvw==",
"os": [
"linux"
],
@@ -253,9 +253,9 @@
]
},
"@ax/sld-win-x64": {
- "version": "0.13.3",
- "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld-win-x64/-/sld-win-x64-0.13.3.tgz",
- "integrity": "sha512-Bx/qbIIsZ8oL6drTwDfBjY0qxu4tci/r/+KZ+O+tQUhstA7dlGC6MQYxNo/7mx1SJ9u91wbTa+R5HUV6lxT5jw==",
+ "version": "0.14.2",
+ "resolved": "https://registry.simatic-ax.siemens.io/@ax/sld-win-x64/-/sld-win-x64-0.14.2.tgz",
+ "integrity": "sha512-vS2yzuANRIKmXX+nhsLsfWRqR9H388/r4Ix4RJ0ZzMiDSUXQJ7AAYlIwj1SdN+tvR69xJ9k9+Glt+cMgdb0zSA==",
"os": [
"win32"
],
diff --git a/src/tests.integrations/integrated/src/ax/apax.yml b/src/tests.integrations/integrated/src/ax/apax.yml
index b891bd8e..0bd113d3 100644
--- a/src/tests.integrations/integrated/src/ax/apax.yml
+++ b/src/tests.integrations/integrated/src/ax/apax.yml
@@ -7,6 +7,7 @@ targets:
- plcsim
devDependencies:
"@ax/sdk": 3.0.8
+ "@ax/sld": ^0.14.2
variables:
APAX_BUILD_ARGS: [ -d ]
scripts:
diff --git a/src/tests.integrations/integrated/src/ax/src/configuration.st b/src/tests.integrations/integrated/src/ax/src/configuration.st
index 9a9ae57a..7a025c18 100644
--- a/src/tests.integrations/integrated/src/ax/src/configuration.st
+++ b/src/tests.integrations/integrated/src/ax/src/configuration.st
@@ -10,8 +10,17 @@ CONFIGURATION MyConfiguration
OnlineToShadowAsync_should_copy_entire_structure : MonsterData.Monster;
ShadowToOnlineAsync_should_copy_entire_structure : MonsterData.Monster;
+ ITwinObjectOnlineToPlain_should_copy_entire_structure : MonsterData.Monster;
+ ITwinObjectPlainToOnline_should_copy_entire_structure : MonsterData.Monster;
+ ITwinObjectOnlineToShadowAsync_should_copy_entire_structure : MonsterData.Monster;
+ ITwinObjectShadowToOnlineAsync_should_copy_entire_structure : MonsterData.Monster;
+
ShadowToPlainAsync_should_copy_entire_structure : MonsterData.Monster;
PlainToShadowAsync_should_copy_entire_structure : MonsterData.Monster;
+
+ ITwinObjectShadowToPlainAsync_should_copy_entire_structure : MonsterData.Monster;
+ ITwinObjectPlainToShadowAsync_should_copy_entire_structure : MonsterData.Monster;
+
Pokus : Pokus;
RealMonster : RealMonsterData.RealMonster;
@@ -20,6 +29,11 @@ CONFIGURATION MyConfiguration
OnlineToPlain_should_copy: RealMonsterData.RealMonster;
PlainToOnline_should_copy: RealMonsterData.RealMonster;
+ ITwinObjectOnlineToShadow_should_copy : RealMonsterData.RealMonster;
+ ITwinObjectShadowToOnline_should_copy : RealMonsterData.RealMonster;
+ ITwinObjectOnlineToPlain_should_copy: RealMonsterData.RealMonster;
+ ITwinObjectPlainToOnline_should_copy: RealMonsterData.RealMonster;
+
p_online_shadow: all_primitives;
p_shadow_online: all_primitives;
diff --git a/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/configuration.g.cs b/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/configuration.g.cs
index 90d1eec0..4965b44d 100644
--- a/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/configuration.g.cs
+++ b/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/configuration.g.cs
@@ -19,10 +19,22 @@ public partial class integratedTwinController : ITwinController
public MonsterData.Monster ShadowToOnlineAsync_should_copy_entire_structure { get; }
+ public MonsterData.Monster ITwinObjectOnlineToPlain_should_copy_entire_structure { get; }
+
+ public MonsterData.Monster ITwinObjectPlainToOnline_should_copy_entire_structure { get; }
+
+ public MonsterData.Monster ITwinObjectOnlineToShadowAsync_should_copy_entire_structure { get; }
+
+ public MonsterData.Monster ITwinObjectShadowToOnlineAsync_should_copy_entire_structure { get; }
+
public MonsterData.Monster ShadowToPlainAsync_should_copy_entire_structure { get; }
public MonsterData.Monster PlainToShadowAsync_should_copy_entire_structure { get; }
+ public MonsterData.Monster ITwinObjectShadowToPlainAsync_should_copy_entire_structure { get; }
+
+ public MonsterData.Monster ITwinObjectPlainToShadowAsync_should_copy_entire_structure { get; }
+
public Pokus Pokus { get; }
public RealMonsterData.RealMonster RealMonster { get; }
@@ -35,6 +47,14 @@ public partial class integratedTwinController : ITwinController
public RealMonsterData.RealMonster PlainToOnline_should_copy { get; }
+ public RealMonsterData.RealMonster ITwinObjectOnlineToShadow_should_copy { get; }
+
+ public RealMonsterData.RealMonster ITwinObjectShadowToOnline_should_copy { get; }
+
+ public RealMonsterData.RealMonster ITwinObjectOnlineToPlain_should_copy { get; }
+
+ public RealMonsterData.RealMonster ITwinObjectPlainToOnline_should_copy { get; }
+
public all_primitives p_online_shadow { get; }
public all_primitives p_shadow_online { get; }
@@ -57,14 +77,24 @@ public integratedTwinController(AXSharp.Connector.ConnectorAdapter adapter, obje
PlainToOnline_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "PlainToOnline_should_copy_entire_structure");
OnlineToShadowAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "OnlineToShadowAsync_should_copy_entire_structure");
ShadowToOnlineAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ShadowToOnlineAsync_should_copy_entire_structure");
+ ITwinObjectOnlineToPlain_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectOnlineToPlain_should_copy_entire_structure");
+ ITwinObjectPlainToOnline_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectPlainToOnline_should_copy_entire_structure");
+ ITwinObjectOnlineToShadowAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectOnlineToShadowAsync_should_copy_entire_structure");
+ ITwinObjectShadowToOnlineAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectShadowToOnlineAsync_should_copy_entire_structure");
ShadowToPlainAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ShadowToPlainAsync_should_copy_entire_structure");
PlainToShadowAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "PlainToShadowAsync_should_copy_entire_structure");
+ ITwinObjectShadowToPlainAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectShadowToPlainAsync_should_copy_entire_structure");
+ ITwinObjectPlainToShadowAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectPlainToShadowAsync_should_copy_entire_structure");
Pokus = new Pokus(this.Connector, "", "Pokus");
RealMonster = new RealMonsterData.RealMonster(this.Connector, "", "RealMonster");
OnlineToShadow_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "OnlineToShadow_should_copy");
ShadowToOnline_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ShadowToOnline_should_copy");
OnlineToPlain_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "OnlineToPlain_should_copy");
PlainToOnline_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "PlainToOnline_should_copy");
+ ITwinObjectOnlineToShadow_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ITwinObjectOnlineToShadow_should_copy");
+ ITwinObjectShadowToOnline_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ITwinObjectShadowToOnline_should_copy");
+ ITwinObjectOnlineToPlain_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ITwinObjectOnlineToPlain_should_copy");
+ ITwinObjectPlainToOnline_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ITwinObjectPlainToOnline_should_copy");
p_online_shadow = new all_primitives(this.Connector, "", "p_online_shadow");
p_shadow_online = new all_primitives(this.Connector, "", "p_shadow_online");
p_online_plain = new all_primitives(this.Connector, "", "p_online_plain");
@@ -82,14 +112,24 @@ public integratedTwinController(AXSharp.Connector.ConnectorAdapter adapter)
PlainToOnline_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "PlainToOnline_should_copy_entire_structure");
OnlineToShadowAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "OnlineToShadowAsync_should_copy_entire_structure");
ShadowToOnlineAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ShadowToOnlineAsync_should_copy_entire_structure");
+ ITwinObjectOnlineToPlain_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectOnlineToPlain_should_copy_entire_structure");
+ ITwinObjectPlainToOnline_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectPlainToOnline_should_copy_entire_structure");
+ ITwinObjectOnlineToShadowAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectOnlineToShadowAsync_should_copy_entire_structure");
+ ITwinObjectShadowToOnlineAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectShadowToOnlineAsync_should_copy_entire_structure");
ShadowToPlainAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ShadowToPlainAsync_should_copy_entire_structure");
PlainToShadowAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "PlainToShadowAsync_should_copy_entire_structure");
+ ITwinObjectShadowToPlainAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectShadowToPlainAsync_should_copy_entire_structure");
+ ITwinObjectPlainToShadowAsync_should_copy_entire_structure = new MonsterData.Monster(this.Connector, "", "ITwinObjectPlainToShadowAsync_should_copy_entire_structure");
Pokus = new Pokus(this.Connector, "", "Pokus");
RealMonster = new RealMonsterData.RealMonster(this.Connector, "", "RealMonster");
OnlineToShadow_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "OnlineToShadow_should_copy");
ShadowToOnline_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ShadowToOnline_should_copy");
OnlineToPlain_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "OnlineToPlain_should_copy");
PlainToOnline_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "PlainToOnline_should_copy");
+ ITwinObjectOnlineToShadow_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ITwinObjectOnlineToShadow_should_copy");
+ ITwinObjectShadowToOnline_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ITwinObjectShadowToOnline_should_copy");
+ ITwinObjectOnlineToPlain_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ITwinObjectOnlineToPlain_should_copy");
+ ITwinObjectPlainToOnline_should_copy = new RealMonsterData.RealMonster(this.Connector, "", "ITwinObjectPlainToOnline_should_copy");
p_online_shadow = new all_primitives(this.Connector, "", "p_online_shadow");
p_shadow_online = new all_primitives(this.Connector, "", "p_shadow_online");
p_online_plain = new all_primitives(this.Connector, "", "p_online_plain");
diff --git a/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/dataswapping/moster.g.cs b/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/dataswapping/moster.g.cs
index 12f6012d..4b272136 100644
--- a/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/dataswapping/moster.g.cs
+++ b/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/dataswapping/moster.g.cs
@@ -198,7 +198,7 @@ public partial class Monster : MonsterData.MonsterBase
partial void PreConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
partial void PostConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
- public Monster(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail + ".$base")
+ public Monster(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail)
{
Symbol = AXSharp.Connector.Connector.CreateSymbol(parent.Symbol, symbolTail);
PreConstruct(parent, readableTail, symbolTail);
diff --git a/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/dataswapping/realmonster.g.cs b/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/dataswapping/realmonster.g.cs
index c3eb3529..ed0d2347 100644
--- a/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/dataswapping/realmonster.g.cs
+++ b/src/tests.integrations/integrated/src/integrated.twin/.g/Onliners/dataswapping/realmonster.g.cs
@@ -225,7 +225,7 @@ public partial class RealMonster : RealMonsterData.RealMonsterBase
partial void PreConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
partial void PostConstruct(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail);
- public RealMonster(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail + ".$base")
+ public RealMonster(AXSharp.Connector.ITwinObject parent, string readableTail, string symbolTail) : base(parent, readableTail, symbolTail)
{
Symbol = AXSharp.Connector.Connector.CreateSymbol(parent.Symbol, symbolTail);
PreConstruct(parent, readableTail, symbolTail);
diff --git a/src/tests.integrations/integrated/src/integrated.twin/.g/POCO/configuration.g.cs b/src/tests.integrations/integrated/src/integrated.twin/.g/POCO/configuration.g.cs
index b172ee76..a8aa24c8 100644
--- a/src/tests.integrations/integrated/src/integrated.twin/.g/POCO/configuration.g.cs
+++ b/src/tests.integrations/integrated/src/integrated.twin/.g/POCO/configuration.g.cs
@@ -11,14 +11,24 @@ public partial class integrated
public MonsterData.Monster PlainToOnline_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
public MonsterData.Monster OnlineToShadowAsync_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
public MonsterData.Monster ShadowToOnlineAsync_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
+ public MonsterData.Monster ITwinObjectOnlineToPlain_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
+ public MonsterData.Monster ITwinObjectPlainToOnline_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
+ public MonsterData.Monster ITwinObjectOnlineToShadowAsync_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
+ public MonsterData.Monster ITwinObjectShadowToOnlineAsync_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
public MonsterData.Monster ShadowToPlainAsync_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
public MonsterData.Monster PlainToShadowAsync_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
+ public MonsterData.Monster ITwinObjectShadowToPlainAsync_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
+ public MonsterData.Monster ITwinObjectPlainToShadowAsync_should_copy_entire_structure { get; set; } = new MonsterData.Monster();
public Pokus Pokus { get; set; } = new Pokus();
public RealMonsterData.RealMonster RealMonster { get; set; } = new RealMonsterData.RealMonster();
public RealMonsterData.RealMonster OnlineToShadow_should_copy { get; set; } = new RealMonsterData.RealMonster();
public RealMonsterData.RealMonster ShadowToOnline_should_copy { get; set; } = new RealMonsterData.RealMonster();
public RealMonsterData.RealMonster OnlineToPlain_should_copy { get; set; } = new RealMonsterData.RealMonster();
public RealMonsterData.RealMonster PlainToOnline_should_copy { get; set; } = new RealMonsterData.RealMonster();
+ public RealMonsterData.RealMonster ITwinObjectOnlineToShadow_should_copy { get; set; } = new RealMonsterData.RealMonster();
+ public RealMonsterData.RealMonster ITwinObjectShadowToOnline_should_copy { get; set; } = new RealMonsterData.RealMonster();
+ public RealMonsterData.RealMonster ITwinObjectOnlineToPlain_should_copy { get; set; } = new RealMonsterData.RealMonster();
+ public RealMonsterData.RealMonster ITwinObjectPlainToOnline_should_copy { get; set; } = new RealMonsterData.RealMonster();
public all_primitives p_online_shadow { get; set; } = new all_primitives();
public all_primitives p_shadow_online { get; set; } = new all_primitives();
public all_primitives p_online_plain { get; set; } = new all_primitives();
diff --git a/src/tests.integrations/integrated/tests/integrated.tests/PlainersSwappingTests.cs b/src/tests.integrations/integrated/tests/integrated.tests/PlainersSwappingTests.cs
index b3428a3f..2efe8601 100644
--- a/src/tests.integrations/integrated/tests/integrated.tests/PlainersSwappingTests.cs
+++ b/src/tests.integrations/integrated/tests/integrated.tests/PlainersSwappingTests.cs
@@ -3,6 +3,18 @@ namespace integrated.tests
{
public class PlainersSwappingTests
{
+
+ public PlainersSwappingTests()
+ {
+#if NET6_0
+ Task.Delay(250).Wait();
+#endif
+
+#if NET7_0
+ Task.Delay(500).Wait();
+#endif
+ }
+
[Fact]
public async Task OnlineToPlain_should_copy_entire_structure()
{
@@ -55,7 +67,7 @@ public async Task OnlineToPlain_should_copy_entire_structure()
[Fact]
public async Task ITwinObject_OnlineToPlain_should_copy_entire_structure()
{
- var monster = Entry.Plc.OnlineToPlain_should_copy_entire_structure;
+ var monster = Entry.Plc.ITwinObjectOnlineToPlain_should_copy_entire_structure;
monster.Description.Cyclic = "from online to shadow";
monster.Id.Cyclic = 111222;
@@ -163,7 +175,7 @@ public async Task PlainToOnline_should_copy_entire_structure()
[Fact]
public async Task ITwinObject_PlainToOnline_should_copy_entire_structure()
{
- var monster = Entry.Plc.PlainToOnline_should_copy_entire_structure;
+ var monster = Entry.Plc.ITwinObjectPlainToOnline_should_copy_entire_structure;
var p = new Pocos.MonsterData.Monster();
@@ -251,7 +263,7 @@ public async Task OnlineToPlain_RealMonster_should_copy()
[Fact]
public async Task ITwinObject_OnlineToPlain_RealMonster_should_copy()
{
- var monster = Entry.Plc.OnlineToPlain_should_copy;
+ var monster = Entry.Plc.ITwinObjectOnlineToPlain_should_copy;
var today = DateTime.UtcNow;
var date = new DateOnly(1999, 2, 13);
var timespan = new TimeSpan(13, 13, 13);
@@ -327,7 +339,7 @@ public async Task ShadowToPlain_should_copy_entire_structure()
[Fact]
public async Task ITwinObject_ShadowToPlain_should_copy_entire_structure()
{
- var monster = Entry.Plc.ShadowToPlainAsync_should_copy_entire_structure;
+ var monster = Entry.Plc.ITwinObjectShadowToPlainAsync_should_copy_entire_structure;
monster.Description.Shadow = "from online to shadow";
monster.Id.Shadow = 111222;
@@ -433,7 +445,7 @@ public async Task PlainToShadow_should_copy_entire_structure()
[Fact]
public async Task ITwinObject_PlainToShadow_should_copy_entire_structure()
{
- var monster = Entry.Plc.PlainToShadowAsync_should_copy_entire_structure;
+ var monster = Entry.Plc.ITwinObjectPlainToShadowAsync_should_copy_entire_structure;
var p = new Pocos.MonsterData.Monster();
diff --git a/src/tests.integrations/integrated/tests/integrated.tests/integrated.tests.csproj b/src/tests.integrations/integrated/tests/integrated.tests/integrated.tests.csproj
index 3d29a803..65e93ca9 100644
--- a/src/tests.integrations/integrated/tests/integrated.tests/integrated.tests.csproj
+++ b/src/tests.integrations/integrated/tests/integrated.tests/integrated.tests.csproj
@@ -8,6 +8,10 @@
false
+
+
+
+
@@ -25,4 +29,10 @@
+
+
+ PreserveNewest
+
+
+
diff --git a/src/tests.integrations/integrated/tests/integrated.tests/xunit.runner.json b/src/tests.integrations/integrated/tests/integrated.tests/xunit.runner.json
new file mode 100644
index 00000000..48e1cffb
--- /dev/null
+++ b/src/tests.integrations/integrated/tests/integrated.tests/xunit.runner.json
@@ -0,0 +1,4 @@
+{
+ "parallelizeTestCollections": true,
+ "maxParallelThreads": -1
+}
diff --git a/src/ws.yml b/src/ws.yml
new file mode 100644
index 00000000..32ba3afa
--- /dev/null
+++ b/src/ws.yml
@@ -0,0 +1,21 @@
+name: "axsharpconsole"
+version: 0.0.0
+type: app
+targets:
+ - "1500"
+ - plcsim
+ - axunit-llvm
+devDependencies:
+ "@ax/sdk": 3.0.8
+ "@ax/sld": ^0.14.2
+variables:
+ APAX_BUILD_ARGS: [ -d ]
+scripts:
+ ixc: dotnet ixc -o ..\\axsharpconsole.twin
+ postbuild: dotnet ixc -o ..\\axsharpconsole.twin
+ download :
+ - apax build
+ # Here you will need to set the argumen -t to your plc OP and -i to platfrom you are dowloading to
+ # --default-server-interface is a must if you are using WebAPI
+ - apax sld --accept-security-disclaimer -t 192.168.0.1 -i .\\bin\\1500\\ -r --default-server-interface
+