playframeworkにpull requestを出す

メモ。あとから追記していきます。

基本

以下のドキュメントをよく読む。TCLAには事前に署名しておくこと。

以下、適当な要約。(英語力皆無かつちゃんと読んでないので、PR出すときには責任をもって各々原文を読んでください)

issue

  • ドキュメントのみの修正の場合はissueを上げずPRを出すこと
  • バグかどうか確信がもてないときはMLで聞くこと
  • 新機能のリクエストについては開発者MLに議題を上げること
  • バグを発見した場合は環境やコードを可能な限り詳細にまとめてissueを上げること

ワークフロー

  1. Typesafe CLAに署名する
  2. 次のガイドラインに則っているか保証する
    • DRY原則ボーイスカウトルールを遵守する
    • 包括的なテストを行う
    • コードのドキュメント性
    • ロックとかスレッドローカルとかいろいろ気をつける
    • javaとscalaのためのフレームワークなので両方に配慮する
    • 新規ファイルにはコピーライトを含める
  3. PRを出す。このときすでにissueが上がっているものの場合は、下記の手順でissueをPRに含める

コミットとコミットコメント

  1. 複数コミットは1コミットにまとめる。詳細はGit flowを参照
  2. コミットコメントの1行目は簡潔に。ただし、チケット番号だけとか、'minor fix'みたいな適当なやつはだめ。issueがある場合は行末に#issue番号を含めること。
  3. 小さな修正でない場合は、2行目を空行とし、3行目以降に詳細なコメントをリスト形式で書く
  4. 特定の誰かへのレビューや他のブランチへのcherry-pickが必要な場合は追記する

ビルド

これを参照しておく。

cd framework
./build

するとsbtが立ち上がるので以下のコマンドを入力。

compile
test
publish-local

ドキュメントの修正

documentation/manual以下がドキュメントとなる。

書き方は以下を参照する。

修正したら以下コマンドで確認を行う。

cd playframework/documentation
./build run # ドキュメントサーバの起動
./build test # テスト
./build validate-docs # バリデーション

このとき

unresolved dependency for com.typesafe.play#sbt-plugin;2.3-SNAPSHOT

というエラーが出る場合は、上記のplayframeworkのビルド手順を実施すること。 (参考: https://groups.google.com/forum/#!topic/play-framework/zfKRKntj4vA)