- # Download and unpack the stack executable
- - mkdir -p ~/.local/bin
- - export PATH=$HOME/.local/bin:$PATH
- - travis_retry curl -L https://get.haskellstack.org/stable/linux-x86_64.tar.gz | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
+- |
+ if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
+ choco source add -n mistuke -s https://www.myget.org/F/mistuke/api/v2
+ choco install cabal-head -pre
+ choco install ghc --ignore-dependencies
+ choco install nodejs.install
+ /C/ProgramData/chocolatey/bin/RefreshEnv.cmd
+
+ # ghc/cabal paths
+ export PATH=/C/ProgramData/chocolatey/lib/ghc/tools/ghc-8.6.5/bin:${PATH}
+ export PATH=${APPDATA}/cabal/bin:${PATH}
+ # nodejs paths
+ export PATH=/C/Program\ Files/nodejs:${PATH}
+ export PATH=${APPDATA}/npm:${PATH}
+ fi
+# these are taken from the haskell language setup
+- export PATH=/opt/ghc/8.6.5/bin:${PATH}
+- export PATH=/opt/cabal/2.4/bin:${PATH}
+- export PATH=$HOME/.cabal/bin:${PATH}
+- npm update
+- npm i -g javascript-typescript-langserver
+- mkdir -p $HOME/haskell-ide-engine
+- pushd $HOME/haskell-ide-engine
+- git init
+- git remote add origin https://github.com/haskell/haskell-ide-engine.git
+- git pull origin master
+- git checkout 0f697c8919747effca54be8a9b494896aea7d947
+- git submodule update --init
+- cabal v2-update
+- |
+ if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
+ cabal v2-install hie -j2 --overwrite-policy=always --install-method=copy
+ else
+ cabal v2-install hie -j2 --overwrite-policy=always
+ fi
+- |
+ if [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
+ cabal v2-install hoogle -j2 --overwrite-policy=always --install-method=copy
+ else
+ cabal v2-install hoogle -j2 --overwrite-policy=always
+ fi
+- hoogle generate
+- popd
+# needs to be old-install for cabal-helper to find it
+- cabal v1-install Cabal --constraint "Cabal == 2.4.1.0"