Environment半年ほど前から密かにPrestoにコントリビュートしているんですが、メモも兼ねて自分が送ったPRや開発のTipsについて書いていきたいと思います。開発言語はJavaなのと、直すべきところも多々あるので比較的コントリビュートしやすいOSSな気がします。次に開発環境ですが、Windowsはサポートされていません。頑張れば出来るかもしれませんが、スタイルチェッカーで文字コード等々が弾かれエラーになります。約2年以上経過していますが、0/12という進捗率です...。僕は基本Macで時々VM内のUbuntu上で開発しています。後々詳しく書きますが、Dockerを使うテストがあるので、その時はやはりUbuntu上で動かすことが多いです。IDEAとPrestoをローカルにクローン/ダウンロードしておきます。最新のRequirmentsはこちらをご覧ください。環境によっては数十分かかるかもしれないので気長に待ちましょう。Projectでリポジトリ直下のpom.xmlを選択します。そこから先は適当にNextを連打し、JDKの選択画面では1.8のパスを選択します。directoryを入力します。$MODULE_DIR$これでRunもしくはDebugするとPrestoのサーバー側が起動します。起動しているサーバーに接続するためには下記のパスにあるjarを実行することで接続できます。presto-cli/target/presto-cli-*-SNAPSHOT-executable.jarちなみに、サーバー側の設定ファイルはpresto-main/etc配下に存在します。master上の設定ファイルでは全部のコネクタが記載されていないので、もしcatalog内に記載されていないコネクタでデバッグしたい時などはconfig.propertiesを修正し、catalog配下にpropertiesファイルを追加する必要があります。テストですが、全部を回すとなると環境にもよりますが1時間以上はかかるかと思います。CIの無料プランで大体1時間ちょっと、Presto側では30分ちょっとで終わります。CI上で全テストを回すようにしています。presto-product-testsはそれなりの頻度で失敗するので、影響がなさそうな部分を直したのに失敗している時はログを見ないでその部分だけRestartをかけちゃってます。