mike-neckのブログ

Java or Groovy or Swift or Golang

gradleでLTS Haskellのテンプレートを作るやつ作った

何を言っているかわからないタイトルですね。でも字面通りなのです。

StackageのLTS Haskell便利なのですが、更新頻度が週1回くらいあって、次のQiitaの手順を行うのが面倒なので、なんとかしたかったのですが、あまりにシェルちからなさすぎてgradleでやるやつを作りました。

元ネタ

qiita.com

githubはこちら

github.com

手順

  • 上記のレポジトリーからcloneするなりzipを取ってくるなりして、ローカルに展開
  • ./gradlew tasksでLTS Haskellでバージョンを確認
  • ./gradlew ltsHaskell{version}を実行するといい感じにLTS Haskellがセットアップされます
  • デフォルトでは$HOME/.ltshs/versionにセットアップされます
  • デフォルトではcabalのパッケージは何も入りません

カスタマイズ

model{}ブロックを利用してカスタマイズします。

たとえば、ディレクトリー/foo/barhappyghc-modを入れたい場合は次のように記述します。

model {
    ltsHaskell {
        dir = '/foo/bar'
        cabal.create {
            install = 'happy'
        }
        cabal.create {
            install = 'ghc-mod'
        }
    }
}

だれかシェルで作ってくれないかな…|д゚)チラッ