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 { # if([System.IO.Path]::IsPathRooted($Solution)){ $path = [System.IO.FileInfo] $Solution } else{ $path = Get-ChildItem -Path ..\ -Filter $Solution -File -Recurse | Select-Object -First 1 if ( $null -eq $path ){ throw "Solution $Solution is not found!" } } # $sln = $path.FullName $src = $path.Directory.FullName $base = $path.Directory.Parent.FullName $devops = [System.IO.Path]::Combine($base,"devops") $developer = [System.IO.Path]::Combine($base,"developer") if ( (-not (Test-Path -Path $devops -PathType Container)) -and (-not (Test-Path -Path $developer -PathType Container)) ) { $base = $path.Directory.FullName $devops = [System.IO.Path]::Combine($base,"devops") $developer = [System.IO.Path]::Combine($base,"developer") if ( (-not (Test-Path -Path $devops -PathType Container)) -and (-not (Test-Path -Path $developer -PathType Container)) ) { throw "Solution devops or developer directory is not found!" } } # if (-not (Test-Path -Path $devops -PathType Container)) { $output = [System.IO.Path]::Combine($developer,"publish") } else{ $output = [System.IO.Path]::Combine($devops,"publish") } # # return @{ Base = $base; Src = $src; Devops = $devops; Developer = $developer; Sln = $sln; Output = $output; } } End { } } Export-ModuleMember -Function Get-SolutionPath # SIG # Begin signature block # MIIIEwYJKoZIhvcNAQcCoIIIBDCCCAACAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCCZg4cDdJ9g3qRg # 2/EcjVYrPSuHu2aqs7Iz+mSDa4m2DKCCBQ8wggULMIIC86ADAgECAgIApTANBgkq # 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 # AgELMQ4wDAYKKwYBBAGCNwIBFjAvBgkqhkiG9w0BCQQxIgQgrXT5z9RZkdC91vse # RtRXuGVd4c11FxGV1rCNkaCIMtowDQYJKoZIhvcNAQEBBQAEggEAFh0ru055c6XA # /Z96O2tHgd/AL5chkKZ/MYN49CnaW3y7spm1C0EvsHHsa3BK/GGZZmHOThWIf9QH # 3RW+zkSUBxygARCEkByXk1TDZNRx5RNwtOdPLkHKAOKmxRSmttAS/7WKiSqPSa4S # ShWQZaXuUgUFvLB/3HwTSm/7KmyJ4jQOUZmgsWcSGjH6sv3Kxo+6/caPpjS9AnhC # b6rPA4yI76+0rdowB8GTr21QNphm0buNMLbX6KJi1ilLZ0mHdj1WpOhlyreml6dR # cp+e12IBuh1Ugrs2byQyGFM/f93pyTddHVoKlBMyk+PWDmJIbGatne/8u0L/Z+aH # VwHMydfvdQ== # SIG # End signature block |