4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

cabalでドキュメントをhackageにアップロードする

Posted at

Haskellのパッケージをhackageにアップロードすると基本的にhackage側でドキュメント(haddock)を生成してくれますが、なんらかの理由で失敗することもあります。そういう時のために、hackageでは開発者が手元でドキュメントを生成してアップロードできるようになっています。

で、cabal-install-1.24.0.0ではcabalコマンドでこういったドキュメントのアップロードができるようになっています。

hackage向けドキュメントの生成:

$ cabal haddock --for-hackage

hackageへドキュメントをアップロード:

$ cabal upload --doc

便利ですね。

参考

余談: パッケージ / ドキュメントのアップロード先とプロトコル

cabalコマンドが自動生成する設定ファイル(~/.cabal/config)を見ると、以下のような記述があります。

repository hackage.haskell.org
  url: http://hackage.haskell.org/
  -- secure: False
  -- root-keys:
  -- key-threshold:

これを見て僕は、「こいつまさか俺のユーザ名とパスワードをHTTPで送るつもりか?」と勘ぐったのですが、ちゃんとHTTPSで送ってくれているようです。

どうやら、"hackage.haskell.org"という名前のレポジトリに関しては、RemoteRepo型のremoteRepoShouldTryHttpsフィールドをTrueに上書きする処理が走っていて、実際に通信を行う直前にremoteRepoTryUpgradeToHttps関数によって接続先URLがHTTPSに書き換わるようです。ややこしいですね。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?