Additions/Get-AdditionBasePath.ps1
function Get-AdditionBasePath { Param( [Parameter(Mandatory=$true)] [string]$AdditionPath ) #attempt to read the extension config file first $ExtensionConfigPath = Join-Path (Join-Path $AdditionPath 'Extension') 'extension.xml' $ExtensionLocalPath = Join-Path (Create-TempDirectory) 'extension.xml' Get-ObjectsFromTFSBranch -BranchPath $ExtensionConfigPath -DestinationPath $ExtensionLocalPath -Type File if (Test-Path $ExtensionLocalPath) { [xml]$ExtensionConfig = Get-Content $ExtensionLocalPath if ($ExtensionConfig.SelectNodes('extension/base').Count -eq 1) { Remove-Item (Split-Path $ExtensionLocalPath -Parent) -Recurse -Force $ExtensionConfig.SelectSingleNode('extension/base').InnerText return } } [int]$VersionNo = 0 if ([Int]::TryParse($AdditionPath.Substring($AdditionPath.Length - 4),[ref]$VersionNo)) { ('$/NAV - Base Versions/{0}/RTM' -f $VersionNo) } elseif ($AdditionPath.Substring($AdditionPath.Length - 6) -eq '2013R2') { '$/NAV - Base Versions/2013R2/RTM' } elseif ($AdditionPath.Substring($AdditionPath.LastIndexOf('/') + 1) -eq 'DEV_ShopFloorDataCapture') { '$/NAV - Base Versions/2016/RTM' } elseif ($AdditionPath.Contains('Mobile Apps 6 NAV SOURCE')) { switch ($AdditionPath.Substring($AdditionPath.Length - 4)) { 2015{'$/NAV - Base Versions/2015/CU6 40459'; break} 2016{'$/NAV - Base Versions/2016/CU5 45243'; break} 2017{'$/NAV - Base Versions/2017/CU2 15052'; break} } } elseif ($AdditionPath.Contains('Mobile Apps 6 NAV FOODWARE SOURCE')) { if ($AdditionPath.Substring($AdditionPath.Length - 11) -eq 'GBNAV10_CU8') { '$/Foodware/FW2017/FW2017.SI6.01GBCU8' } elseif (($AdditionPath.Substring($AdditionPath.Length - 4) -eq 'Test') -or ($AdditionPath.Substring($AdditionPath.Length - 3) -eq 'Dev')) { '$/Foodware/FW2016/FW2016.GB' } } else { '$/NAV - Base Versions/2015/RTM' } } Export-ModuleMember -Function Get-AdditionBasePath |