- derived from EPSDevTools.Web, which will no longer exist shortly - complete batteries included stack
61 lines
1.4 KiB
PowerShell
61 lines
1.4 KiB
PowerShell
$package = 'EthanBrown.DevTools.Web'
|
|
|
|
try {
|
|
|
|
# simulate the unix command for finding things in path
|
|
# http://stackoverflow.com/questions/63805/equivalent-of-nix-which-command-in-powershell
|
|
function Which([string]$cmd)
|
|
{
|
|
Get-Command -ErrorAction "SilentlyContinue" $cmd |
|
|
Select -ExpandProperty Definition
|
|
}
|
|
|
|
# "External packages cannot depend on packages that target projects."
|
|
# http://nuget.codeplex.com/workitem/595
|
|
|
|
# install required NPM packages
|
|
$packages = @(
|
|
'coffee-script@1.6.2',
|
|
'coffeelint@0.5.4',
|
|
'bower@0.9.2',
|
|
'grunt-cli@0.1.8',
|
|
'http-server@0.5.3',
|
|
'jshint@2.0.1',
|
|
'codo@1.7.0',
|
|
'recess@1.1.6',
|
|
'csslint@0.9.10'
|
|
)
|
|
|
|
$npmDefault = Join-Path $Env:ProgramFiles 'nodejs\npm.cmd'
|
|
$npm = (Which npm),
|
|
$npmDefault |
|
|
? { Test-Path $_ } |
|
|
Select -First 1
|
|
|
|
if ($npm)
|
|
{
|
|
&$npm install -g $packages
|
|
}
|
|
else
|
|
{
|
|
$msg = @"
|
|
Could not find NodeJS NPM to install global packages:
|
|
Please install these packages in a command prompt that has access to npm.cmd
|
|
|
|
npm install -g $packages
|
|
"@
|
|
Write-Warning $msg
|
|
}
|
|
|
|
# install required gems
|
|
gem update --system
|
|
gem install bundler --version '=1.3.5'
|
|
gem install capistrano --version '=2.14.2'
|
|
gem install twig --version '=1.2'
|
|
|
|
Write-ChocolateySuccess $package
|
|
} catch {
|
|
Write-ChocolateyFailure $package $($_.Exception.Message)
|
|
throw
|
|
}
|