From c459306a94c2969500fd69a7572b99d13dc23b04 Mon Sep 17 00:00:00 2001 From: Iristyle Date: Thu, 9 May 2013 11:29:14 -0400 Subject: [PATCH] feat(Posh-VsVars): version 0.0.1 - Includes new set of PowerShellHelpers to find standard module directory --- Posh-VsVars/Posh-VsVars.nuspec | 43 +++++++++++++++ Posh-VsVars/Posh-VsVars.png | Bin 0 -> 17064 bytes Posh-VsVars/tools/chocolateyInstall.ps1 | 70 ++++++++++++++++++++++++ core/PowerShellHelpers.ps1 | 37 +++++++++++++ 4 files changed, 150 insertions(+) create mode 100644 Posh-VsVars/Posh-VsVars.nuspec create mode 100644 Posh-VsVars/Posh-VsVars.png create mode 100644 Posh-VsVars/tools/chocolateyInstall.ps1 create mode 100644 core/PowerShellHelpers.ps1 diff --git a/Posh-VsVars/Posh-VsVars.nuspec b/Posh-VsVars/Posh-VsVars.nuspec new file mode 100644 index 0000000..4ae7ee6 --- /dev/null +++ b/Posh-VsVars/Posh-VsVars.nuspec @@ -0,0 +1,43 @@ + + + + Posh-VsVars + Automatically load Visual Studio VsVars32 + 0.0.1 + Ethan J Brown + Ethan J Brown + Load Visual Studio command line tools into current shell environment + Provides cmdlets for automatically finding / loading Visual Studio variables +into the current shell session. + +By default, loads the values from the latest discovered Visual Studio version installed. + +Tip: + +Use the -Verbose switch to see what values are being imported into the current +shell session. + +Credits: + +Original concept is derived from Chris Tavares: +http://www.tavaresstudios.com/Blog/post/The-last-vsvars32ps1-Ill-ever-need.aspx +https://github.com/gzortch + +Icon from Scott Hanselman +https://github.com/shanselman +http://www.hanselman.com/blog/AwesomeVisualStudioCommandPromptAndPowerShellIconsWithOverlays.aspx + + http://github.com/Iristyle/Posh-VsVars/ + powershell shell visualstudio vs msbuild + + false + https://github.com/Iristyle/ChocolateyPackages/raw/master/Posh-VsVars/Posh-VsVars.png + + + + + + + diff --git a/Posh-VsVars/Posh-VsVars.png b/Posh-VsVars/Posh-VsVars.png new file mode 100644 index 0000000000000000000000000000000000000000..97735145d9824da84320f41419fbc721572a1095 GIT binary patch literal 17064 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 literal 0 HcmV?d00001 diff --git a/Posh-VsVars/tools/chocolateyInstall.ps1 b/Posh-VsVars/tools/chocolateyInstall.ps1 new file mode 100644 index 0000000..5b7abc8 --- /dev/null +++ b/Posh-VsVars/tools/chocolateyInstall.ps1 @@ -0,0 +1,70 @@ +$package = 'Posh-VsVars' + +function Get-CurrentDirectory +{ + $thisName = $MyInvocation.MyCommand.Name + [IO.Path]::GetDirectoryName((Get-Content function:$thisName).File) +} + +try { + $current = Get-CurrentDirectory + . (Join-Path $current 'PowerShellHelpers.ps1') + + $moduleDirectory = Get-ModuleDirectory + $installDirectory = Join-Path $moduleDirectory $package + # find user specific module directory + + # unload module if its already loaded necessary + Get-Module -Name $package | Remove-Module + + try + { + if (Test-Path($installDirectory)) + { + Remove-Item $installDirectory -Recurse -Force + } + } + catch + { + Write-Host "Could not remove existing $package folder" + } + + Write-Host "Installing $package to $installDirectory..." + $params = @{ + PackageName = $package; + Url = 'https://github.com/Iristyle/Posh-VsVars/zipball/master'; + UnzipLocation = $moduleDirectory; + } + + Install-ChocolateyZipPackage @params + + # github tarballs are versioned and we don't want that ;0 + Get-ChildItem -Path $moduleDirectory | + ? { $_.Name -match 'Posh\-VsVars' } | + Sort-Object -Property CreationTime -Descending | + Select -First 1 | + Rename-Item -NewName $installDirectory + + if (!(Test-Path $PROFILE)) + { + $profileRoot = Split-Path $PROFILE + New-Item -Path $profileRoot -Type Directory -ErrorAction SilentlyContinue + Set-Content -Path $PROFILE -Value '' -Force -Encoding UTF8 + } + + if (!(Select-String -Pattern 'Posh\-VsVars\-Profile\.ps1' -Path $PROFILE)) + { + $loaderFile = 'Posh-VsVars-Profile.ps1' + "`n`n# Load Posh-VsVars`n. '$installDirectory\$loaderFile'" | + Out-File -FilePath $PROFILE -Append -Encoding UTF8 + Write-Host 'Reloading PowerShell Profile...' + . $PROFILE + } + + Write-ChocolateySuccess $package +} +catch +{ + Write-ChocolateyFailure $package "$($_.Exception.Message)" + throw +} diff --git a/core/PowerShellHelpers.ps1 b/core/PowerShellHelpers.ps1 new file mode 100644 index 0000000..d66b2e7 --- /dev/null +++ b/core/PowerShellHelpers.ps1 @@ -0,0 +1,37 @@ +function Get-ModuleDirectory +{ + [CmdletBinding()] + param() + + # find the first default module path we can safely write to + $defaultModulePath = $Env:PSModulePath -split ';' | + ? { + Write-Verbose "Checking path $_ for write-ability" + try { + if (!(Test-Path $_)) { New-Item -Path $_ -Type Directory } + + $testFile = Join-Path $_ 'write-test.tmp' + '' | Out-File -FilePath $testFile + Remove-Item -Path $testFile + return $true + } + catch { return $false } + } | + Select -First 1 + + if ($defaultModulePath) { return $defaultModulePath } + + # no defaults were acceptable, so try Choc paths + $tools = Join-Path $Env:SystemDrive 'tools' + if ($Env:Chocolatey_Bin_Root) + { + $tools = Join-Path $Env:SystemDrive $Env:Chocolatey_Bin_Root + } + + if (!(Test-Path $tools)) + { + New-Item -Path $tools -Type Directory | Out-Null + } + + return $tools +}