@@ -22,75 +22,40 @@ download_cabal_cache "$HOME/.local/bin/cabal-cache"
2222
2323# build
2424ecabal update
25+ ghcup install ghc " ${GHC_VERSION} "
26+ ghcup set ghc " ${GHC_VERSION} "
27+ " ghc-${GHC_VERSION} " --info
28+ " ghc" --info
2529
26- mkdir -p " $CI_PROJECT_DIR /plan.json "
27- mkdir -p " $CI_PROJECT_DIR /out"
30+ mkdir -p " $CI_PROJECT_DIR /out/ ${ARTIFACT} "
31+ mkdir -p " $CI_PROJECT_DIR /out/plan.json "
2832
2933case " $( uname) " in
3034 MSYS_* |MINGW* )
31- for ghc in $( cat bindist/ghcs-Msys) ; do
32- GHC_VERSION=" $( echo " ${ghc} " | tr -d ' \r' ) "
33- args=( -O2 -w " ghc-$GHC_VERSION " --project-file cabal.project --disable-profiling --disable-tests --enable-executable-stripping ${ADD_CABAL_ARGS} )
34- ghcup install ghc " ${GHC_VERSION} "
35- ghcup set ghc " ${GHC_VERSION} "
36- " ghc-${GHC_VERSION} " --info
37- " ghc" --info
38- # Shorten binary names
39- # due to MAX_PATH issues on windows
40- sed -i.bak -e ' s/haskell-language-server/hls/g' \
41- -e ' s/haskell_language_server/hls/g' \
42- haskell-language-server.cabal cabal.project
43- sed -i.bak -e ' s/Paths_haskell_language_server/Paths_hls/g' \
44- src/** /* .hs exe/* .hs
45-
46-
47- # shellcheck disable=SC2068
48- build_with_cache ${args[@]} exe:hls exe:hls-wrapper
49- cp dist-newstyle/cache/plan.json " $CI_PROJECT_DIR /plan.json/${ARTIFACT} -ghc-${GHC_VERSION} -plan.json"
50-
51- # shellcheck disable=SC2068
52- cp " $( cabal list-bin -v0 ${args[@]} exe:hls) " " $CI_PROJECT_DIR /out/haskell-language-server-${GHC_VERSION} " ${ext}
53- # shellcheck disable=SC2068
54- cp " $( cabal list-bin -v0 ${args[@]} exe:hls-wrapper) " " $CI_PROJECT_DIR /out/haskell-language-server-wrapper" ${ext}
55- ghcup rm ghc " ${GHC_VERSION} "
56- done
35+ args=( -O2 -w " ghc-$GHC_VERSION " --project-file cabal.project --disable-profiling --disable-tests --enable-executable-stripping ${ADD_CABAL_ARGS} )
36+
37+ # Shorten binary names
38+ # due to MAX_PATH issues on windows
39+ sed -i.bak -e ' s/haskell-language-server/hls/g' \
40+ -e ' s/haskell_language_server/hls/g' \
41+ haskell-language-server.cabal cabal.project
42+ sed -i.bak -e ' s/Paths_haskell_language_server/Paths_hls/g' \
43+ src/** /* .hs exe/* .hs
44+
45+ # shellcheck disable=SC2068
46+ build_with_cache ${args[@]} exe:hls exe:hls-wrapper
47+ cp dist-newstyle/cache/plan.json " $CI_PROJECT_DIR /out/plan.json/${ARTIFACT} -ghc-${GHC_VERSION} -plan.json"
48+
49+ # shellcheck disable=SC2068
50+ cp " $( cabal list-bin -v0 ${args[@]} exe:hls) " " $CI_PROJECT_DIR /out/${ARTIFACT} /haskell-language-server-${GHC_VERSION}${ext} "
51+ # shellcheck disable=SC2068
52+ cp " $( cabal list-bin -v0 ${args[@]} exe:hls-wrapper) " " $CI_PROJECT_DIR /out/${ARTIFACT} /haskell-language-server-wrapper${ext} "
5753 ;;
5854 * )
5955 sed -i.bak -e ' /DELETE MARKER FOR CI/,/END DELETE/d' cabal.project # see comment in cabal.project
6056 emake --version
61- emake GHCUP=ghcup CABAL_CACHE_BIN=cabal-cache.sh S3_HOST=" ${S3_HOST} " S3_KEY=" ${ARTIFACT} " hls
62- emake GHCUP=ghcup bindist
63- (
64- cd out/
65- for pj in * plan.json ; do
66- mv " ${pj} " " $CI_PROJECT_DIR /plan.json/${ARTIFACT} -${pj} "
67- done
68- )
69- rm -rf out/* .* .*
57+ emake GHCUP=ghcup CABAL_CACHE_BIN=cabal-cache.sh S3_HOST=" ${S3_HOST} " S3_KEY=" ${ARTIFACT} " GHC_VERSION=" ${GHC_VERSION} " hls-ghc
7058 ;;
7159esac
7260
73- # create tarball/zip
74- TARBALL_PREFIX=" haskell-language-server"
75- case " ${TARBALL_EXT} " in
76- zip)
77- HLS_VERSION=" $( " $CI_PROJECT_DIR /out/haskell-language-server-wrapper" --numeric-version) "
78- (
79- cd " $CI_PROJECT_DIR /out/"
80- zip " ${TARBALL_PREFIX} -${HLS_VERSION} -${ARTIFACT} .zip" haskell-language-server-*
81- find . -mindepth 1 -maxdepth 1 \! -name ' *.zip' -exec rm -rf ' {}' \;
82- )
83- ;;
84- tar.xz)
85- emake --version
86- HLS_VERSION=" $( emake -s -C out/bindist/haskell-language-server-* version) "
87- emake TARBALL=" ${TARBALL_PREFIX} -${HLS_VERSION} -${ARTIFACT} .tar.xz" bindist-tar
88- emake GHCUP=ghcup clean-ghcs
89- find out -mindepth 1 -maxdepth 1 \! -name ' *.tar.xz' -exec rm -rf ' {}' \;
90- ;;
91- * )
92- fail " Unknown TARBALL_EXT: ${TARBALL_EXT} "
93- ;;
94- esac
9561
96- mv " $CI_PROJECT_DIR " /plan.json/* out/
0 commit comments