Substitute use of IsPathFullyQualified to restore Windows PowerShell compatibility #60
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The
Initialize-PSBuild
function was not compatible with .NET Framework / PowerShell 5.1 due to the use of theSystem.IO.Path.IsPathFullyQualified()
method, introduced with the fix for #27. I changed the function to check if the value of OutDir already started with BHProjectPath rather than testing if OutDir was a fully qualified path on its own.This seems to have solved the issue and tests are passing. Also, changing the value of
$PSBPreference.Build.OutDir
seems to result in the same behavior before and after the change introduced in this PR, though I don't think any tests were introduced to specifically test the original fix so I'm not 100% certain this is the best solution.Related Issue
Issue #53
Motivation and Context
I still regularly work with PowerShell 5.1 due to legacy .NET Framework dependencies that I'm required to use. I began to use the Stucco module for setting up my modules, but I cannot call
.\build.ps1
from Windows PowerShell because the PowerShellBuildInitialize-PSBuild
command calls a method that is not available in .NET Framework. I am now using this modified version of PowerShellBuild.How Has This Been Tested?
I verified that I can build modules using the Stucco template on Windows using Windows PowerShell, and PowerShell 7, as well as Ubuntu on WSL2 using PowerShell 7. I tested these builds with and without a custom
$PSBPreference.Build.OutDir
value set in my psakefile.Types of changes
Checklist: