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 +