diff --git a/.github/workflows/build_separate_proj.yml b/.github/workflows/build_separate_proj.yml new file mode 100644 index 000000000..816e38438 --- /dev/null +++ b/.github/workflows/build_separate_proj.yml @@ -0,0 +1,56 @@ +name: Build all C# projects separately + +on: + push: + pull_request: + workflow_dispatch: + + release: + types: + - created + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + prepare_matrix: + runs-on: windows-2019 + outputs: + projects: ${{ steps.set_outputs.outputs.projects }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Get all.csproj files + id: set_outputs + run: | + + $projects = Get-ChildItem -Recurse '*.csproj' | ForEach-Object { $_.FullName } + $json = $projects | ConvertTo-Json -Compress + Write-Host $json + echo "::set-output name=projects::$json" + + build-and-test: + runs-on: windows-2019 + needs: prepare_matrix + strategy: + fail-fast: false + matrix: + project: ${{ fromJson(needs.prepare_matrix.outputs.projects) }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Run tests for each project + run: | + + $project = "${{ matrix.project }}" + .\Studio.bat $project + + $pname = [IO.Path]::GetFileNameWithoutExtension($project) + if ($pname -eq 'PABCNETCclear') { + '##' | Set-Content 'a.pas' + &".\bin\$pname.exe" .\a.pas + } \ No newline at end of file diff --git a/Compiler/Compiler.csproj b/Compiler/Compiler.csproj index 86d9c234b..f58a34c0f 100644 --- a/Compiler/Compiler.csproj +++ b/Compiler/Compiler.csproj @@ -161,6 +161,16 @@ {1C9C945A-586D-42A2-A06B-65D84FA7FF78} {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + PascalLanguage + {BD902586-E0D5-407A-904A-32249B8B709E} + false + + + PascalABCSaushkinParser + {1443F539-DCC7-4491-B4FD-B716C739DB3C} + false + diff --git a/VisualPascalABCNET/VisualPascalABCNET.csproj b/VisualPascalABCNET/VisualPascalABCNET.csproj index fe9376444..8de68ee1e 100644 --- a/VisualPascalABCNET/VisualPascalABCNET.csproj +++ b/VisualPascalABCNET/VisualPascalABCNET.csproj @@ -856,6 +856,11 @@ {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} ICSharpCode.Core.WinForms + + PABCNETC + {2aef58a1-2bcf-4c4b-ab03-f44bbb2628e6} + false + diff --git a/VisualPascalABCNET/VisualPascalABCNET_40.csproj b/VisualPascalABCNET/VisualPascalABCNET_40.csproj index f12a99e02..050b651cc 100644 --- a/VisualPascalABCNET/VisualPascalABCNET_40.csproj +++ b/VisualPascalABCNET/VisualPascalABCNET_40.csproj @@ -850,6 +850,11 @@ {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} ICSharpCode.Core.WinForms + + PABCNETC + {2aef58a1-2bcf-4c4b-ab03-f44bbb2628e6} + false + diff --git a/VisualPascalABCNETLinux/VisualPascalABCNETLinux.csproj b/VisualPascalABCNETLinux/VisualPascalABCNETLinux.csproj index 0b7779967..d1d9e3f20 100644 --- a/VisualPascalABCNETLinux/VisualPascalABCNETLinux.csproj +++ b/VisualPascalABCNETLinux/VisualPascalABCNETLinux.csproj @@ -958,6 +958,11 @@ {a9ab4282-83b4-41a7-86c3-e5bf6a45e7e2} SyntaxVisitors + + PABCNETC + {2aef58a1-2bcf-4c4b-ab03-f44bbb2628e6} + false +