-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: when creating a config from a sln file, projects are ignored
- Loading branch information
Donkey
committed
Jan 24, 2024
1 parent
56b22b2
commit 41187d7
Showing
13 changed files
with
291 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
using Microsoft.VisualStudio.TestTools.UnitTesting; | ||
using System; | ||
using System.IO; | ||
using System.IO.Compression; | ||
using System.Linq; | ||
using System.Threading.Tasks; | ||
using Twinpack.Models; | ||
|
||
namespace TwinpackTests | ||
{ | ||
[TestClass] | ||
public class ConfigFactoryTest | ||
{ | ||
[TestMethod] | ||
public async Task CreateFromSolutionFile() | ||
{ | ||
var config = await ConfigFactory.CreateFromSolutionFileAsync(@"assets\TestSolution"); | ||
|
||
Assert.AreEqual(@"assets\TestSolution", config.WorkingDirectory); | ||
Assert.AreEqual(@"TestSolution.sln", config.Solution); | ||
Assert.AreEqual(@"assets\TestSolution\.Zeugwerk\config.json", config.FilePath); | ||
Assert.AreEqual(1, config.Projects.Count); | ||
|
||
var project = config.Projects.FirstOrDefault(); | ||
Assert.AreEqual(@"TestProject", project?.Name); | ||
Assert.AreEqual(1, project?.Plcs.Count); | ||
|
||
var plc = project.Plcs.FirstOrDefault(); | ||
Assert.AreEqual(@"Plc1", plc?.Name); | ||
Assert.AreEqual(@"Plc1", plc?.Title); | ||
Assert.AreEqual(ConfigPlcProject.PlcProjectType.Application, plc?.PlcType); | ||
Assert.AreEqual(1, plc?.References.Count); | ||
Assert.AreEqual("1.0.0.0", plc?.Version); | ||
Assert.AreEqual(@"*", plc?.References?.FirstOrDefault().Key); | ||
Assert.AreEqual(3, plc?.References?.FirstOrDefault().Value.Count); | ||
|
||
var references = plc?.References?.FirstOrDefault().Value; | ||
Assert.AreEqual(@"Tc2_Standard=*", references[0]); | ||
Assert.AreEqual(@"Tc2_System=*", references[1]); | ||
Assert.AreEqual(@"Tc3_Module=*", references[2]); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
TwinpackTests/assets/TestSolution/TestProject/Plc1/POUs/MAIN.TcPOU
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<TcPlcObject Version="1.1.0.1"> | ||
<POU Name="MAIN" Id="{c7f4bd36-5c89-4da6-a391-3884fa24fc35}"> | ||
<Declaration><![CDATA[PROGRAM MAIN | ||
VAR | ||
END_VAR | ||
]]> | ||
</Declaration> | ||
<Implementation> | ||
<ST><![CDATA[]]></ST> | ||
</Implementation> | ||
</POU> | ||
</TcPlcObject> |
82 changes: 82 additions & 0 deletions
82
TwinpackTests/assets/TestSolution/TestProject/Plc1/Plc1.plcproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<PropertyGroup> | ||
<FileVersion>1.0.0.0</FileVersion> | ||
<SchemaVersion>2.0</SchemaVersion> | ||
<ProjectGuid>{76722466-87a7-49cc-9a2e-8cddba5bc42c}</ProjectGuid> | ||
<SubObjectsSortedByName>True</SubObjectsSortedByName> | ||
<DownloadApplicationInfo>true</DownloadApplicationInfo> | ||
<WriteProductVersion>true</WriteProductVersion> | ||
<GenerateTpy>false</GenerateTpy> | ||
<Name>Plc1</Name> | ||
<ProgramVersion>3.1.4024.0</ProgramVersion> | ||
<Application>{db275dae-40b0-461c-bc80-2ef3667d7bcf}</Application> | ||
<TypeSystem>{afb06401-f2ff-4a8a-bfd2-3f912b0c4c67}</TypeSystem> | ||
<Implicit_Task_Info>{106329e5-859d-4a09-8fb7-78b83112d1d7}</Implicit_Task_Info> | ||
<Implicit_KindOfTask>{bace41c1-6fbe-4c24-9cd0-348e272f3c2e}</Implicit_KindOfTask> | ||
<Implicit_Jitter_Distribution>{9a94b6d0-ced2-4eed-93b1-c2925cc42927}</Implicit_Jitter_Distribution> | ||
<LibraryReferences>{a912ab6d-5d52-42c5-b5e4-5af5bb524c5b}</LibraryReferences> | ||
</PropertyGroup> | ||
<ItemGroup> | ||
<Compile Include="PlcTask.TcTTO"> | ||
<SubType>Code</SubType> | ||
</Compile> | ||
<Compile Include="POUs\MAIN.TcPOU"> | ||
<SubType>Code</SubType> | ||
</Compile> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<Folder Include="DUTs" /> | ||
<Folder Include="GVLs" /> | ||
<Folder Include="VISUs" /> | ||
<Folder Include="POUs" /> | ||
</ItemGroup> | ||
<ItemGroup> | ||
<PlaceholderReference Include="Tc2_Standard"> | ||
<DefaultResolution>Tc2_Standard, * (Beckhoff Automation GmbH)</DefaultResolution> | ||
<Namespace>Tc2_Standard</Namespace> | ||
</PlaceholderReference> | ||
<PlaceholderReference Include="Tc2_System"> | ||
<DefaultResolution>Tc2_System, * (Beckhoff Automation GmbH)</DefaultResolution> | ||
<Namespace>Tc2_System</Namespace> | ||
</PlaceholderReference> | ||
<PlaceholderReference Include="Tc3_Module"> | ||
<DefaultResolution>Tc3_Module, * (Beckhoff Automation GmbH)</DefaultResolution> | ||
<Namespace>Tc3_Module</Namespace> | ||
</PlaceholderReference> | ||
</ItemGroup> | ||
<ProjectExtensions> | ||
<PlcProjectOptions> | ||
<XmlArchive> | ||
<Data> | ||
<o xml:space="preserve" t="OptionKey"> | ||
<v n="Name">"<ProjectRoot>"</v> | ||
<d n="SubKeys" t="Hashtable" ckt="String" cvt="OptionKey"> | ||
<v>{40450F57-0AA3-4216-96F3-5444ECB29763}</v> | ||
<o> | ||
<v n="Name">"{40450F57-0AA3-4216-96F3-5444ECB29763}"</v> | ||
<d n="SubKeys" t="Hashtable" /> | ||
<d n="Values" t="Hashtable" ckt="String" cvt="String"> | ||
<v>ActiveVisuProfile</v> | ||
<v>IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA=</v> | ||
</d> | ||
</o> | ||
<v>{192FAD59-8248-4824-A8DE-9177C94C195A}</v> | ||
<o> | ||
<v n="Name">"{192FAD59-8248-4824-A8DE-9177C94C195A}"</v> | ||
<d n="SubKeys" t="Hashtable" /> | ||
<d n="Values" t="Hashtable" /> | ||
</o> | ||
</d> | ||
<d n="Values" t="Hashtable" /> | ||
</o> | ||
</Data> | ||
<TypeList> | ||
<Type n="Hashtable">System.Collections.Hashtable</Type> | ||
<Type n="OptionKey">{54dd0eac-a6d8-46f2-8c27-2f43c7e49861}</Type> | ||
<Type n="String">System.String</Type> | ||
</TypeList> | ||
</XmlArchive> | ||
</PlcProjectOptions> | ||
</ProjectExtensions> | ||
</Project> |
17 changes: 17 additions & 0 deletions
17
TwinpackTests/assets/TestSolution/TestProject/Plc1/PlcTask.TcTTO
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<TcPlcObject Version="1.1.0.1"> | ||
<Task Name="PlcTask" Id="{f93736a7-e22c-4169-9b75-d335cc900e6d}"> | ||
<!--CycleTime in micro seconds.--> | ||
<CycleTime>10000</CycleTime> | ||
<Priority>20</Priority> | ||
<PouCall> | ||
<Name>MAIN</Name> | ||
</PouCall> | ||
<TaskFBGuid>{806330ea-a83c-4cf0-97a9-d1c0f1d3a39e}</TaskFBGuid> | ||
<Fb_init>{8a1a742f-00fb-4d41-9f51-2b21db55ea0a}</Fb_init> | ||
<Fb_exit>{e4defeef-fe49-4eb7-bb9c-41a635e83f49}</Fb_exit> | ||
<CycleUpdate>{bdfbe57b-0039-4be5-bc04-57f608bb9e9b}</CycleUpdate> | ||
<PostCycleUpdate>{48523fa5-f2a3-41da-a6bd-4952901793dc}</PostCycleUpdate> | ||
<ObjectProperties /> | ||
</Task> | ||
</TcPlcObject> |
Binary file added
BIN
+42.9 KB
...c1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library
Binary file not shown.
Binary file added
BIN
+169 KB
...t/Plc1/_Libraries/beckhoff automation gmbh/tc2_system/3.6.2.0/tc2_system.compiled-library
Binary file not shown.
Binary file added
BIN
+75.9 KB
.../Plc1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.23.0/tc3_module.compiled-library
Binary file not shown.
26 changes: 26 additions & 0 deletions
26
TwinpackTests/assets/TestSolution/TestProject/TestProject.tsproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?xml version="1.0"?> | ||
<TcSmProject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4024.55"> | ||
<Project ProjectGUID="{FBF99FD5-3861-429A-AA44-FD661631289F}" Target64Bit="true" ShowHideConfigurations="#x6"> | ||
<System> | ||
<Tasks> | ||
<Task Id="3" Priority="20" CycleTime="100000" AmsPort="350" AdtTasks="true"> | ||
<Name>PlcTask</Name> | ||
</Task> | ||
</Tasks> | ||
</System> | ||
<Plc> | ||
<Project GUID="{76722466-87A7-49CC-9A2E-8CDDBA5BC42C}" Name="Plc1" PrjFilePath="Plc1\Plc1.plcproj" TmcFilePath="Plc1\Plc1.tmc" ReloadTmc="true" AmsPort="851" FileArchiveSettings="#x000e" SymbolicMapping="true"> | ||
<Instance Id="#x08502000" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2"> | ||
<Name>Plc1 Instance</Name> | ||
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID> | ||
<Contexts> | ||
<Context> | ||
<Id>1</Id> | ||
<Name>Default</Name> | ||
</Context> | ||
</Contexts> | ||
</Instance> | ||
</Project> | ||
</Plc> | ||
</Project> | ||
</TcSmProject> |
Oops, something went wrong.