1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 05:50:05 +08:00
SpaceVim/.ci/install.ps1
Wang Shidong a830a3e2a4
Update travis setting (#981)
* Update travis setting

* Update after failure script

* Fix lint

* Update comment

* Test bot

* Update ci script

* Update ci

* Test lint

* Update ci

* Check var

* Use log file

* Fix lint

* Check -f

* Lint

* Fix json

* Use vim script instead

* Fixup

* quit afte comment

* Update lint

* Fix lint

* Install gvim

* Remove file

* Install vim before test

* Fix lint

* Fix github api

* Use neovim report error

* Update travis

* Fix unkonwn command

* Use origin/dev

* Update lint

* Fix unkown command

* Fix lint

* Update config

* Fix lint

* Fix cache

* Fix cache

* Fix neovim install

* Fix neovim install

* Fix install

* Use dockerfile

* Fix lint

* Update install script

* Fix lint

* Fix type

* Fix alow faile

* Fix jobs

* Fix docker

* Fix docker

* Fix makefile

* Update commenter vim script
2017-11-22 01:27:35 -06:00

97 lines
3.3 KiB
PowerShell
Executable File

function install_vim($name)
{
$ver = $name -replace "^Official\s*", ""
if ($ver -eq "latest-32")
{
$url1 = 'ftp://ftp.vim.org/pub/vim/pc/vim80w32.zip'
}
elseif ($ver -eq "8.0.0069-32")
{
$url1 = 'ftp://ftp.vim.org/pub/vim/pc/vim80-069w32.zip'
}
$url2 = 'ftp://ftp.vim.org/pub/vim/pc/vim80rt.zip'
$zip1 = $Env:APPVEYOR_BUILD_FOLDER + '\vim.zip'
$zip2 = $Env:APPVEYOR_BUILD_FOLDER + '\vim-rt.zip'
(New-Object Net.WebClient).DownloadFile($url1, $zip1)
(New-Object Net.WebClient).DownloadFile($url2, $zip2)
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip1, $Env:APPVEYOR_BUILD_FOLDER)
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip2, $Env:APPVEYOR_BUILD_FOLDER)
$Env:THEMIS_VIM = $Env:APPVEYOR_BUILD_FOLDER + '\vim\vim80\vim.exe'
}
function install_kaoriya_vim($name)
{
$ver = $name -replace "^Kaoriya\s*", ""
if ($ver -eq "latest-32")
{
$url = 'http://vim-jp.org/redirects/koron/vim-kaoriya/latest/win32/'
}
elseif ($ver -eq "latest-64")
{
$url = 'http://vim-jp.org/redirects/koron/vim-kaoriya/latest/win64/'
}
elseif ($ver -eq "8.0.0082-32")
{
$url = 'https://github.com/koron/vim-kaoriya/releases/download/v8.0.0082-20161113/vim80-kaoriya-win32-8.0.0082-20161113.zip'
}
elseif ($ver -eq "8.0.0082-64")
{
$url = 'https://github.com/koron/vim-kaoriya/releases/download/v8.0.0082-20161113/vim80-kaoriya-win64-8.0.0082-20161113.zip'
}
$zip = $Env:APPVEYOR_BUILD_FOLDER + '\kaoriya-vim.zip'
$out = $Env:APPVEYOR_BUILD_FOLDER + '\kaoriya-vim\'
if ($url.StartsWith('http://vim-jp.org/redirects/'))
{
$redirect = Invoke-WebRequest -URI $url
(New-Object Net.WebClient).DownloadFile($redirect.Links[0].href, $zip)
}
else
{
(New-Object Net.WebClient).DownloadFile($url, $zip)
}
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $out)
$Env:THEMIS_VIM = $out + (Get-ChildItem $out).Name + '\vim.exe'
}
function install_nvim($name)
{
$ver = $name -replace "^Neovim\s*", ""
if ($ver -eq "latest-32")
{
$url = 'https://ci.appveyor.com/api/projects/neovim/neovim/artifacts/build/Neovim.zip?branch=master&job=Configuration%3A%20MINGW_32'
}
elseif ($ver -eq "latest-64")
{
$url = 'https://ci.appveyor.com/api/projects/neovim/neovim/artifacts/build/Neovim.zip?branch=master&job=Configuration%3A%20MINGW_64'
}
elseif ($ver -eq "0.2.0-32")
{
$url = 'https://github.com/neovim/neovim/releases/download/v0.2.0/nvim-win32.zip'
}
elseif ($ver -eq "0.2.0-64")
{
$url = 'https://github.com/neovim/neovim/releases/download/v0.2.0/nvim-win64.zip'
}
$zip = $Env:APPVEYOR_BUILD_FOLDER + '\nvim.zip'
(New-Object Net.WebClient).DownloadFile($url, $zip)
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') > $null
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip, $Env:APPVEYOR_BUILD_FOLDER)
$Env:THEMIS_VIM = $Env:APPVEYOR_BUILD_FOLDER + '\Neovim\bin\nvim.exe'
$Env:THEMIS_ARGS = '-e -s --headless'
}
if ($Env:CONDITION.StartsWith("Neovim"))
{
install_nvim $Env:CONDITION
}
elseif ($Env:CONDITION.StartsWith("Official"))
{
install_vim $Env:CONDITION
}
else
{
install_kaoriya_vim $Env:CONDITION
}