Get-SolutionPath.psm1
<#
.Synopsis Automatic Version Tool (AVT) .DESCRIPTION Get Solution Path .EXAMPLE Get-SolutionPath project.sln #> function Get-SolutionPath { [CmdletBinding()] [Alias()] [OutputType([hashtable])] Param ( # Solution file (sln) [string] [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$false, HelpMessage="Solution file name")] $Solution ) Begin { } Process { $path = Get-ChildItem -Path ..\ -Filter $Solution -Recurse | Select-Object -First 1 if ( $null -eq $path ){ throw "Solution $Solution is not found!" } # $base = $path.Directory.Parent.FullName # $sln = $path.FullName; $relativeSln = [System.IO.Path]::Combine(".","src",$Solution); # $src = [System.IO.Path]::Combine($path.Directory.FullName) $relativeSrc = [System.IO.Path]::Combine(".","src"); # $devops = [System.IO.Path]::Combine($path.Directory.Parent.FullName,"devops") if (-not (Test-Path -Path $devops -PathType Container)) { throw "Solution devops is not found!" } $relativeDevops = [System.IO.Path]::Combine(".","devops"); # $output = [System.IO.Path]::Combine($devops,"publish") $relativeOutput = [System.IO.Path]::Combine($relativeDevops,"publish") # return @{ Base = $base; Src = $src; RelativeSrc = $relativeSrc; Devops = $devops; RelativeDevops = $relativeDevops Sln = $sln; RelativeSln = $relativeSln Output = $output; RelativeOutput = $relativeOutput } } End { } } Export-ModuleMember -Function Get-SolutionPath # SIG # Begin signature block # MIIIEwYJKoZIhvcNAQcCoIIIBDCCCAACAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBqcRdRx3gQurp1 # 2ixTw9dF77eCOzKB/BupuOwKh/D/76CCBQ8wggULMIIC86ADAgECAgIApTANBgkq # hkiG9w0BAQsFADCBoDELMAkGA1UEBhMCU0sxETAPBgNVBAgTCFNsb3Zha2lhMRMw # EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpMb210ZWMuY29tMSswKQYDVQQD # EyJMb210ZWMuY29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MScwJQYJKoZIhvcN # AQkBFhhJbXJpY2guU3pvbGlrQGxvbXRlYy5jb20wHhcNMTkwMzI2MTUwNDQzWhcN # MzAwMTAxMDAwMDAwWjCBkzELMAkGA1UEBhMCU0sxETAPBgNVBAgTCFNsb3Zha2lh # MRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpMb210ZWMuY29tMR4wHAYD # VQQDExVMb210ZWMuY29tIFBvd2Vyc2hlbGwxJzAlBgkqhkiG9w0BCQEWGEltcmlj # aC5Tem9saWtAbG9tdGVjLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC # ggEBAL4n4nCHbkdrf09IHNFQ2P/z6I43GKScsFJOQHUMkRD3ALoUFL/URC9sW2fY # rqG5VkFAKhnM0VxeiICR53cAshNShjFf58PhaS973jtCoJcaugIVBVoFIuQ+gnNY # Jp2VdBbIPKMW4JjjZOxBEkHpMWmfitXKWGKeU68Qcn3oI6PO+YSztfXLe1NU+1GI # O3fA7E0vHVPUf/qWZXMYU5ElLQVm9AXbfX79mTgl76A57+OC6j+Aehkd2OPfUl4w # snox3fOyUAUA8iojeWh97PpXd/s+RkuxWdgsC4YSWDUjhZSzBkml9uerYqo9a+XA # b39dvkpK9TPl3q5HNBQMkCfp8bkCAwEAAaNaMFgwCQYDVR0TBAIwADALBgNVHQ8E # BAMCB4AwKwYDVR0lBCQwIgYIKwYBBQUHAwMGCisGAQQBgjcCARUGCisGAQQBgjcC # ARYwEQYJYIZIAYb4QgEBBAQDAgSwMA0GCSqGSIb3DQEBCwUAA4ICAQAJJapv9skY # jh5HTsJnqDdtqh7YOOXuA8g+DKBj+5gDEZE5V9VhAFVp8UJ9RoITGGIRTVId0lqc # LJiVSTHx305VW9aID8vo77kfrTyXvPXNIsTtHnPkkwH47+CoiY3IpPQLjUA/Q6Qd # qwINvvwom7/Wc+OoIqlPdJH5DbBrIy85dr6M/Lm3Rw2BolcTRwXTB3xAhweth78B # P6pbcAd32FdymkRopLIihuNs7g7ZR/Q/5803G+OiQIMRGyTvaQ+aQjJgFpkzp7NI # whzougfCOV47Sc89jEpUqw16i2UFfz2ywOlWUyYtue1S1PjM1ljgJfRo+e0wUnFp # gFQzXGF1bTYVaQ4e3nJleADfvqeXoH2AYeBTbz9BcogkkfURAC3iiob1bNs5jE1C # brEDCw6m/03k0oOmm3xQksXyAhBYuUkRwu9jd4y3FwZ/syDGLz3b6cY8o1YyINOO # A3B2r92shNt0rWhJu3v+qcIVmFQ0aKlhNNRoiVlQgJ7NgO0UV+vU2lgiscpUSxEt # xKN+450r49su06NA6zsyn3CELUmVkPyjx5fyizwt9KxVuYOUSEb32Y7QCffHJ1qt # F6SuQrKbgb/24y7cCDW6PDVRvPOySUlKu9sPykICDjvzXBvjYEILM7AmtYCIBGQg # imBsQvTEoXJXiwAOi1XNz3LxcjQHQ/ZM4zGCAlowggJWAgEBMIGnMIGgMQswCQYD # VQQGEwJTSzERMA8GA1UECBMIU2xvdmFraWExEzARBgNVBAcTCkJyYXRpc2xhdmEx # EzARBgNVBAoTCkxvbXRlYy5jb20xKzApBgNVBAMTIkxvbXRlYy5jb20gQ2VydGlm # aWNhdGlvbiBBdXRob3JpdHkxJzAlBgkqhkiG9w0BCQEWGEltcmljaC5Tem9saWtA # bG9tdGVjLmNvbQICAKUwDQYJYIZIAWUDBAIBBQCggYQwGAYKKwYBBAGCNwIBDDEK # MAigAoAAoQKAADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3 # AgELMQ4wDAYKKwYBBAGCNwIBFjAvBgkqhkiG9w0BCQQxIgQgEh/XjhgKkc6k8zrb # EaJThA+n3/qGxk3kGUj8T3In0EowDQYJKoZIhvcNAQEBBQAEggEAkbZw0PT4wCZN # ncTBxfBWc9NRThiO4dIsXjbmzSnD+HQiUYM/q2qTjCBECHanH1UUXiCjEQSy+6wp # kCu8sOXRq3MjpAP6Pk10RGY1KVDgcaH6pnCMqQd9rM0oBeZLddSk80yI+kSjnIUh # SwkFBSSv6GyotWPdSFzBc3T0gZ1Cg6HSDFjxGY+IUHUmN4dphUBMR8W0zKaWF/L3 # umD21imDeoojEN0D4nH7Q29Rc8vGS62bYyHVpGPGP08jZPPMC49MWekj0lvMZGWE # cis5/JmHeNvAreUNbvPI7ISpk+ZyXIvnkVVWYvYWFaS9dP+0sDubqXEoW26Emvk4 # HZ/JDix8tw== # SIG # End signature block |