|
| 1 | + |
1 | 2 | // Build |
2 | 3 | // Copyright (c) 2023 Peter Kurhajec (PTKu), MTS, and Contributors. All Rights Reserved. |
3 | 4 | // Contributors: https://github.com/ix-ax/ix/graphs/contributors |
|
24 | 25 | using Cake.Core.Diagnostics; |
25 | 26 | using Cake.Core.IO; |
26 | 27 | using Cake.Core.Tooling; |
| 28 | +using Cake.DocFx; |
| 29 | +using Cake.DocFx.Build; |
27 | 30 | using Cake.Frosting; |
28 | 31 | using Cake.Powershell; |
29 | 32 | using CliWrap; |
@@ -111,15 +114,21 @@ public override void Run(BuildContext context) |
111 | 114 | { |
112 | 115 | context.DotNetBuild(Path.Combine(context.RootDir, "ix.compiler\\src\\ixc\\Ix.ixc.csproj"), context.DotNetBuildSettings); |
113 | 116 |
|
114 | | - context.DotNetRunSettings.WorkingDirectory = Path.Combine(context.RootDir, "ix.blazor\\tests\\sandbox\\ax-blazor-example\\"); |
115 | | - |
116 | | - context.DotNetRun(Path.Combine(context.RootDir, "ix.compiler\\src\\ixc\\Ix.ixc.csproj"), context.DotNetRunSettings); |
| 117 | + var axprojects = new List<string>() |
| 118 | + { |
| 119 | + Path.Combine(context.RootDir, "ix.blazor\\tests\\sandbox\\ax-blazor-example\\"), |
| 120 | + Path.Combine(context.RootDir, "sanbox\\integration\\ix-integration-plc\\"), |
| 121 | + Path.Combine(context.RootDir, "ix.examples\\hello.world.console\\hello.world.console.plc"), |
| 122 | + Path.Combine(context.RootDir, "ix.connectors\\tests\\ax-test-project\\"), |
| 123 | + Path.Combine(context.RootDir, "tests.integrations\\integrated\\src\\ax\\") |
| 124 | + }; |
117 | 125 |
|
118 | | - context.DotNetRunSettings.WorkingDirectory = Path.Combine(context.RootDir, "sanbox\\integration\\ix-integration-plc\\"); |
119 | | - context.DotNetRun(Path.Combine(context.RootDir, "ix.compiler\\src\\ixc\\Ix.ixc.csproj"), context.DotNetRunSettings); |
120 | 126 |
|
121 | | - context.DotNetRunSettings.WorkingDirectory = Path.Combine(context.RootDir, "ix.examples\\hello.world.console\\hello.world.console.plc"); |
122 | | - context.DotNetRun(Path.Combine(context.RootDir, "ix.compiler\\src\\ixc\\Ix.ixc.csproj"), context.DotNetRunSettings); |
| 127 | + foreach (var axproject in axprojects) |
| 128 | + { |
| 129 | + context.DotNetRunSettings.WorkingDirectory = Path.Combine(context.RootDir, axproject); |
| 130 | + context.DotNetRun(Path.Combine(context.RootDir, "ix.compiler\\src\\ixc\\Ix.ixc.csproj"), context.DotNetRunSettings); |
| 131 | + } |
123 | 132 |
|
124 | 133 | context.DotNetBuild(Path.Combine(context.RootDir, "ix.sln"), context.DotNetBuildSettings); |
125 | 134 |
|
@@ -155,13 +164,15 @@ public override void Run(BuildContext context) |
155 | 164 | } |
156 | 165 | else |
157 | 166 | { |
158 | | - var workingDirectory = Path.GetFullPath(Path.Combine(context.WorkDirName, |
159 | | - "..//..//src//ix.connectors//tests//ax-test-project//")); |
160 | | - |
161 | | - var targetIp = Environment.GetEnvironmentVariable("AXTARGET"); |
162 | | - var targetPlatform = Environment.GetEnvironmentVariable("AXTARGETPLATFORMINPUT"); |
| 167 | + UploadTestPlc(context, |
| 168 | + Path.GetFullPath(Path.Combine(context.WorkDirName, "..//..//src//ix.connectors//tests//ax-test-project//")), |
| 169 | + Environment.GetEnvironmentVariable("AX_WEBAPI_TARGET"), |
| 170 | + Environment.GetEnvironmentVariable("AXTARGETPLATFORMINPUT")); |
163 | 171 |
|
164 | | - UploadTestPlc(context, workingDirectory, targetIp, targetPlatform); |
| 172 | + UploadTestPlc(context, |
| 173 | + Path.GetFullPath(Path.Combine(context.WorkDirName, "..//..//src//tests.integrations//integrated//src//ax")), |
| 174 | + Environment.GetEnvironmentVariable("AXTARGET"), |
| 175 | + Environment.GetEnvironmentVariable("AXTARGETPLATFORMINPUT")); |
165 | 176 |
|
166 | 177 | RunTestsFromFilteredSolution(context, Path.Combine(context.RootDir, "ix-L3-tests.slnf")); |
167 | 178 | } |
@@ -315,27 +326,33 @@ public override void Run(BuildContext context) |
315 | 326 | return; |
316 | 327 | } |
317 | 328 |
|
318 | | - if (Helpers.CanReleaseInternal()) |
319 | | - GenerateApiDocumentation(context, @$"ix.connectors\src\Ix.Connector\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Connector.dll", @"Ix.Connector"); |
320 | | - GenerateApiDocumentation(context, @$"ix.connectors\src\Ix.Connector.S71500.WebAPI\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Connector.S71500.WebAPI.dll", @"Ix.Connector.S71500.WebAPI"); |
| 329 | + context.ProcessRunner.Start(@"dotnet", new Cake.Core.IO.ProcessSettings() |
| 330 | + { |
| 331 | + WorkingDirectory = context.DocumentationSource, |
| 332 | + Arguments = $"docfx build" |
| 333 | + }).WaitForExit(); |
| 334 | + |
| 335 | + //GenerateApiDocumentation(context, @$"ix.connectors\src\Ix.Connector\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Connector.dll", @"Ix.Connector"); |
| 336 | + //GenerateApiDocumentation(context, @$"ix.connectors\src\Ix.Connector.S71500.WebAPI\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Connector.S71500.WebAPI.dll", @"Ix.Connector.S71500.WebAPI"); |
321 | 337 |
|
322 | | - GenerateApiDocumentation(context, @$"ix.compiler\src\IX.Compiler\bin\{context.DotNetBuildSettings.Configuration}\net6.0\IX.Compiler.dll", @"IX.Compiler"); |
323 | | - GenerateApiDocumentation(context, @$"ix.compiler\src\IX.Cs.Compiler\bin\{context.DotNetBuildSettings.Configuration}\net6.0\IX.Compiler.Cs.dll", @"IX.Compiler.Cs"); |
| 338 | + //GenerateApiDocumentation(context, @$"ix.compiler\src\IX.Compiler\bin\{context.DotNetBuildSettings.Configuration}\net6.0\IX.Compiler.dll", @"IX.Compiler"); |
| 339 | + //GenerateApiDocumentation(context, @$"ix.compiler\src\IX.Cs.Compiler\bin\{context.DotNetBuildSettings.Configuration}\net6.0\IX.Compiler.Cs.dll", @"IX.Compiler.Cs"); |
324 | 340 |
|
325 | | - GenerateApiDocumentation(context, @$"ix.abstractions\src\Ix.Abstractions\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Abstractions.dll", @"Ix.Abstractions"); |
326 | | - GenerateApiDocumentation(context, @$"ix.blazor\src\Ix.Presentation.Blazor\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Presentation.Blazor.dll", @"Ix.Presentation.Blazor"); |
327 | | - GenerateApiDocumentation(context, @$"ix.blazor\src\Ix.Presentation.Blazor.Controls\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Presentation.Blazor.Controls.dll", @"Ix.Presentation.Blazor.Controls"); |
| 341 | + //GenerateApiDocumentation(context, @$"ix.abstractions\src\Ix.Abstractions\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Abstractions.dll", @"Ix.Abstractions"); |
| 342 | + //GenerateApiDocumentation(context, @$"ix.blazor\src\Ix.Presentation.Blazor\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Presentation.Blazor.dll", @"Ix.Presentation.Blazor"); |
| 343 | + //GenerateApiDocumentation(context, @$"ix.blazor\src\Ix.Presentation.Blazor.Controls\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Presentation.Blazor.Controls.dll", @"Ix.Presentation.Blazor.Controls"); |
328 | 344 | } |
329 | 345 |
|
| 346 | + [Obsolete("Using docfx now...", true)] |
330 | 347 | private static void GenerateApiDocumentation(BuildContext context, string assemblyFile, string outputDocDirectory) |
331 | 348 | { |
332 | | - context.Log.Information($"Generating documentation for {assemblyFile}"); |
333 | | - var docXmlFile = Path.Combine(context.RootDir, assemblyFile); |
334 | | - var docDirectory = Path.Combine(context.ApiDocumentationDir, outputDocDirectory); |
335 | | - context.ProcessRunner.Start(@"dotnet", new Cake.Core.IO.ProcessSettings() |
336 | | - { |
337 | | - Arguments = $"xmldocmd {docXmlFile} {docDirectory}" |
338 | | - }).WaitForExit(); |
| 349 | + //context.Log.Information($"Generating documentation for {assemblyFile}"); |
| 350 | + //var docXmlFile = Path.Combine(context.RootDir, assemblyFile); |
| 351 | + //var docDirectory = Path.Combine(context.ApiDocumentationDir, outputDocDirectory); |
| 352 | + //context.ProcessRunner.Start(@"dotnet", new Cake.Core.IO.ProcessSettings() |
| 353 | + //{ |
| 354 | + // Arguments = $"xmldocmd {docXmlFile} {docDirectory}" |
| 355 | + //}).WaitForExit(); |
339 | 356 | } |
340 | 357 | } |
341 | 358 |
|
|
0 commit comments