Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
fc53a50
Update to version 0.10.0
MarkSchofield Dec 13, 2023
845f8a6
Update README.md; small copy edits
MarkSchofield Dec 14, 2023
b051377
Bump actions/download-artifact from 3 to 4 (#44)
dependabot[bot] Dec 18, 2023
18c9ff5
Bump actions/upload-artifact from 3 to 4 (#45)
dependabot[bot] Dec 18, 2023
a7f16fa
Bump codecov/codecov-action from 3 to 4 (#46)
dependabot[bot] Feb 27, 2024
1f874ad
Specify a CodeCov token to 'codecov/codecov-action@v4' (#47)
MarkSchofield Mar 9, 2024
d794aea
Argument completer for 'Invoke-CMakeOutput -Target' should only inclu…
MarkSchofield Mar 9, 2024
6321d49
Bump codecov/codecov-action from 4 to 5 (#50)
dependabot[bot] Nov 19, 2024
03f29cb
Write-Build; style dgml nodes by type, reference the CMake file for t…
MarkSchofield May 11, 2025
4909327
Bump actions/download-artifact from 4 to 5 (#52)
dependabot[bot] Aug 13, 2025
da9913b
Bump actions/checkout from 4 to 5 (#53)
dependabot[bot] Sep 20, 2025
5549634
'FindCMakeRoot' shouldn't attempt to cache the CMake root path (#58)
MarkSchofield Sep 20, 2025
d38a75d
Add '.vscode/settings.json' with PowerShell code formatting settings;…
MarkSchofield Sep 21, 2025
747dabd
Include CMake standard targets in 'BuildTargetsCompleter' (#60)
MarkSchofield Sep 21, 2025
a5c3df4
Update copyright dates
MarkSchofield Sep 22, 2025
2b0c892
Canonicalize banner comments
MarkSchofield Sep 22, 2025
d86a312
Default ninja download to v1.13.1
MarkSchofield Sep 22, 2025
affc7dc
Fix PSScriptAnalyzer errors
MarkSchofield Sep 21, 2025
ea4fd58
General cleanup and PSScriptAnalyzer fixes (#61)
MarkSchofield Sep 22, 2025
01d6efe
Canonicalize -Preset,-Configuration; wildcard support
MarkSchofield Sep 20, 2025
b4aa25a
Canonicalize -Preset,-Configuration; wildcard support (#63)
MarkSchofield Sep 22, 2025
cc40cf3
'Build-CMakeBuild' should re-run configuration if the code model cann…
MarkSchofield Sep 22, 2025
55089a2
'-Preset' values should be checked for equality before wildcard match…
MarkSchofield Sep 29, 2025
f60e529
Consolidate 'ancestor search' from 'ResolvePresetProperty' and 'Evalu…
MarkSchofield Sep 28, 2025
ea65b8d
Accommodate multiple 'inherit' values in a given preset
MarkSchofield Sep 28, 2025
bd984bf
Add support for multiple inheritance of presets (#68)
MarkSchofield Sep 29, 2025
b2e7dd7
Update ReferenceBuild with scoped targets and an executable target
MarkSchofield Oct 5, 2025
bccb8af
Add 'GetScopedTargets.Tests.ps1' with expected GetScopedTargets behavior
MarkSchofield Oct 5, 2025
24c5317
Finding targets by scope should limit to the scoped directory
MarkSchofield Oct 5, 2025
2fa7a71
Fix over-matching on implicitly scoped targets (#69)
MarkSchofield Oct 5, 2025
7bb7435
Improve tests for Configure-CMakeBuild
MarkSchofield Oct 5, 2025
1106d1c
Improve tests for Build-CMakeBuild
MarkSchofield Oct 5, 2025
0bd46d9
Improve tests for Build-CMakeBuild and Configure-CMakeBuild (#70)
MarkSchofield Oct 6, 2025
d6b8b6a
Move 'InvokeCMake' --> 'InvokeExecutable' for more general mocking
MarkSchofield Oct 6, 2025
c3350ee
Add tests for 'Invoke-CMakeOutput'
MarkSchofield Oct 6, 2025
365442c
Add tests for 'ExecutableTargetsCompleter'
MarkSchofield Oct 6, 2025
b91715a
Add tests for 'Invoke-CMakeOutput' (#71)
MarkSchofield Oct 6, 2025
c3a31ef
Add PSScriptAnalyzer settings, add Build\RunScriptAnalyzer.ps1 (#72)
MarkSchofield Oct 6, 2025
b4de4cf
Use 'Should -HaveCount' not '.Count | Should -Be' for better error me…
MarkSchofield Oct 6, 2025
cc6a5be
Add tests for 'GetMacroConstants'
MarkSchofield Oct 6, 2025
0ed524a
Add Build\RunTests.ps1
MarkSchofield Oct 6, 2025
1479e9b
General test cleanup; add Build\RunTests.ps1 (#73)
MarkSchofield Oct 6, 2025
cb1125c
Add tests for 'Write-CMakeBuild' (#74)
MarkSchofield Oct 6, 2025
38b2642
Accommodate '[' and ']' in preset names when finding the code model (…
MarkSchofield Oct 7, 2025
6578d74
Merge 0.10.0 payload into main
MarkSchofield Oct 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 9 additions & 18 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,40 +14,31 @@ on:
jobs:
build:
runs-on: windows-latest
environment:
name: General
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Invoke-Pester
shell: pwsh
run: |
Import-Module Pester
$Configuration = [PesterConfiguration]@{
Run = @{
Path = '*'
Passthru = $true
}
CodeCoverage = @{
Enabled = $true
OutputFormat = 'JaCoCo'
OutputPath = '${{ env.GITHUB_WORKSPACE }}/Pester-Coverage.xml'
}
}
Invoke-Pester -Configuration $Configuration
- uses: codecov/codecov-action@v3
${{ github.workspace }}/Build/RunTests.ps1
- uses: codecov/codecov-action@v5
with:
files: '${{ env.GITHUB_WORKSPACE }}/Pester-Coverage.xml'
files: '${{ github.workspace }}/__output/coverage.xml'
flags: unittests
name: codecov-umbrella
token: '${{ secrets.CODECOV_TOKEN }}'
fail_ci_if_error: true
verbose: true
- name: Build
shell: pwsh
run: |
& .\Build\Publish.ps1 -Verbose
- name: Upload __packages
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: __packages
path: __packages
Expand All @@ -59,7 +50,7 @@ jobs:
steps:
- name: Download __packages
id: download
uses: actions/download-artifact@v3
uses: actions/download-artifact@v5
with:
name: __packages
path: __packages
Expand Down
20 changes: 5 additions & 15 deletions .github/workflows/pull-request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,23 @@ on:
jobs:
build:
runs-on: windows-latest
environment:
name: General
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Invoke-Pester
shell: pwsh
run: |
Import-Module Pester
$Configuration = [PesterConfiguration]@{
Run = @{
Path = '*'
Passthru = $true
}
CodeCoverage = @{
Enabled = $true
OutputFormat = 'JaCoCo'
OutputPath = '${{ env.GITHUB_WORKSPACE }}/Pester-Coverage.xml'
}
}
Invoke-Pester -Configuration $Configuration
${{ github.workspace }}/Build/RunTests.ps1
- name: Build
shell: pwsh
run: |
& .\Build\Publish.ps1 -Verbose
- name: Upload __packages
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: __packages
path: __packages
13 changes: 13 additions & 0 deletions .vscode/PSScriptAnalyzerSettings.psd1
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
@{
Rules = @{
PSReviewUnusedParameter = @{
CommandsToTraverse = @(
'SearchAncestors'
'Using-Location'
)
}
}
IncludeRules = @('*')
ExcludeRules = @('PSUseApprovedVerbs')
}

8 changes: 8 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"coverage-gutters.coverageBaseDir": "__output",
"editor.renderWhitespace": "all",
"powershell.codeFormatting.newLineAfterCloseBrace": false,
"powershell.codeFormatting.pipelineIndentationStyle": "IncreaseIndentationForFirstPipeline",
"powershell.scriptAnalysis.enable": true,
"powershell.scriptAnalysis.settingsPath": ".vscode/PSScriptAnalyzerSettings.psd1"
}
18 changes: 18 additions & 0 deletions Build/RunScriptAnalyzer.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#Requires -PSEdition Core

[CmdletBinding()]
param(
)

Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'

$WorkingDirectory = $PSScriptRoot
$RepositoryRoot = Resolve-Path -Path (& git -C $WorkingDirectory rev-parse '--show-toplevel')
$SettingsFile = Join-Path -Path $RepositoryRoot -ChildPath '.vscode\PSScriptAnalyzerSettings.psd1'
& git -C $RepositoryRoot ls-files *.ps1 *.psm1 *.psd1 |
ForEach-Object { Get-Item -Path (Join-Path -Path $RepositoryRoot -ChildPath $_) } |
ForEach-Object { Invoke-ScriptAnalyzer -Path $_ -Settings $SettingsFile } |
ForEach-Object {
"$($_.ScriptPath):$($_.Line):$($_.Column) [$($_.RuleName)] $($_.Message)"
}
27 changes: 27 additions & 0 deletions Build/RunTests.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#Requires -PSEdition Core

[CmdletBinding()]
param(
)

Set-StrictMode -Version Latest
$ErrorActionPreference = 'Stop'

Import-Module Pester

$WorkingDirectory = $PSScriptRoot
$RepositoryRoot = Resolve-Path -Path (& git -C $WorkingDirectory rev-parse '--show-toplevel')
$Configuration = [PesterConfiguration]@{
Run = @{
Path = $RepositoryRoot
Passthru = $true
}
CodeCoverage = @{
Enabled = $true
Path = "$RepositoryRoot/PSCMake"
OutputFormat = 'JaCoCo'
OutputPath = "$RepositoryRoot/__output/coverage.xml"
}
}

Invoke-Pester -Configuration $Configuration
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 Mark Schofield
Copyright (c) 2025 Mark Schofield

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading