Build/Add-PreprocessorSymbolsToAppJson.ps1
function Add-PreprocessorSymbolsToAppJson { Param( #Path to determine the environment or app .json file location [Parameter(Mandatory = $false)] [String] $SourcePath = (Get-Location) ) #Get preprocessorSymbols property from environment.json [System.Array]$EnvSymbols = Get-EnvironmentKeyValue -SourcePath $SourcePath -KeyName 'preprocessorSymbols' if ($null -ne $EnvSymbols) { #Get existing preprocessorSymbols property from app.json [System.Array]$AppSymbols = Get-AppKeyValue -SourcePath $SourcePath -KeyName 'preprocessorSymbols' #Get new unique symbols if ($null -ne $AppSymbols) { $NewSymbols = Compare-Object $EnvSymbols $AppSymbols | Where-Object -property SideIndicator -EQ '<=' if ($null -ne $NewSymbols) { $EnvSymbols = @() foreach($NewSymbol in $NewSymbols){ $EnvSymbols += [System.String]$NewSymbol.InputObject } } } #Apply add new symbols to app.json if($EnvSymbols.Count -ne 0){ if($null -ne $AppSymbols){ $Symbols = $AppSymbols + $EnvSymbols }else { $Symbols = $EnvSymbols } Set-AppKeyValue -SourcePath $SourcePath -KeyName 'preprocessorSymbols' -KeyValue $Symbols } } } Export-ModuleMember -Function Add-PreprocessorSymbolsToAppJson |