メインコンテンツまでスキップ

V8への貢献

このページの情報は、V8に貢献する方法を説明しています。貢献を提出する前に必ず全体を読んでください。

コードを取得する

V8ソースコードのチェックアウトをご覧ください。

貢献する前に

V8のメーリングリストでガイダンスを求める

大きなV8の貢献を始める前に、V8の貢献者メーリングリストを通じてまず私たちに連絡してください。そうすればお手伝いや指導が可能です。事前調整を行うことで、後の苛立ちを回避しやすくなります。

CLAに署名する

私たちがあなたのコードを使用する前に、Google個人貢献者ライセンス契約に署名する必要があります。これはオンラインで行うことができます。主にあなたが変更の著作権を所有しているため、あなたのコードを使用および配布する許可が必要です。また、コードが他者の特許を侵害していると認識している場合は知らせることなど、いくつかの点について私たちは確信する必要があります。コードを提出してメンバーが承認した後にこれを行う必要はありませんが、コードをコードベースに取り込む前には行う必要があります。

企業による貢献は、上記とは異なる契約であるソフトウェア譲渡および企業貢献者ライセンス契約に基づいています。

オンラインで署名するにはこちらをご覧ください。

コードを提出する

V8のソースコードはGoogle C++スタイルガイドに従っていますので、それに精通しておいてください。コードを提出する前に、すべてのテストに合格し、事前送信チェックを成功させる必要があります:

git cl presubmit

事前送信スクリプトはGoogleのリンターcpplint.pyを使用します。これはdepot_toolsの一部であり、PATHに設定する必要があります — つまり、PATHdepot_toolsを追加すれば、すべてが正常に動作するはずです。

V8のコードレビューツールにアップロードする

プロジェクトメンバーによる提出も含め、すべての提出物にはレビューが必要です。当プロジェクトではChromiumのコードレビューのツールとプロセスを使用しています。パッチを提出するにはdepot_toolsを取得し、レビューを依頼する際の手順に従ってください(Chromiumワークスペースの代わりにV8ワークスペースを使用します)。

障害や回帰に注意する

コードレビューの承認を得たら、コミットキューを使用してパッチを適用できます。コミットキューは大量のテストを実行し、すべてのテストが合格するとパッチをコミットします。変更がコミットされたら、変更後にボットが緑色になるまでコンソールを監視することをお勧めします。なぜならコンソールでは、コミットキューよりも多くのテストが実行されるためです。