Homebrew にプルリクエスト送って取り込まれたのでメモ

といっても取り込まれたのは先週の金曜のことですが・・・w

人生で初めてOSSに貢献することが出来ました。
該当のプルリクエストはこちらです。

https://github.com/Homebrew/homebrew/pull/41291

何やったの?

Terraform のバージョンアップです。

皆さん使ってますか? Terraform
最近注目を集め始めてますね

きっかけは?

今やっているお仕事のプロジェクトでTerraformを使うことになったので、
触っていますが出て間もないプロダクトなのでリソースちょっと定義して使おうとしても
何かとバグに当たることが多いです。。

↑のスライドを見るとうんうんと頷きたくなりますw

人気になってきていることもあり
バグレポート共に修正もがしがし行われているので
ちょこちょこバージョンアップしています。

そんな可愛いくてお茶目なTerraform0.6.0が6/30にリリースされました。
プロジェクトで書いたコードで丁度困っていた部分が修正されたこともあり、
Homebrewで数日のうちに振ってきてくれるかなぁと待ってみた物の上がる様子がなかったので
「じゃあやってみよう」という気持ちが深夜のテンションでわいてきました。

背中を押してくれた物

とりあえず過去のプルリクエストを漁ってみました。

https://github.com/Homebrew/homebrew/pulls?q=is%3Apr+Terraform+is%3Aclosed

その中にあった以下のプルリクエストのリンクにあったイシューの一文をみて「よしやろう」という気持ちに変わり手が動き出しました。

Could you try and open a pull request? This document should be helpful. Thanks!

もの凄く簡単に意訳すると

「プルリクエスト作ってみてくれないかな?手順とかはこのドキュメントを見ればいいから!」

ということで・・・

早速以下のドキュメントを参考にしながら手元でformulaの編集&インストールをトライを繰り返して問題なくなったのでプルリクエストを送りました。

https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/How-To-Open-a-Homebrew-Pull-Request-(and-get-it-merged).md#how-to-open-a-homebrew-pull-request-and-get-it-merged

英語に自信がなかったのと、依存関係のあるコミットハッシュの変更・追加で済んだので説明には何も書かずに出してみました。(過去のプルリクエストをさかのぼったら比較的何も書かない人も多かったというのもある)
手元でさんざん試した後だったのでそのままマージされるのかなと思いきやしばらく返答なく・・・

でよくよく探してみると、
bot.brew.sh でJenkins氏によるテストを行っている物の、
プルリクエストを送った時は死んでしまっていたためにテストが行われていない状況でした。
半日ほどしてJenkins氏が復旧して溜まっていたビルドが終わるとすんなりマージしてもらえました。

まとめ

コントリビューションガイドがすごくまとまっていてたのもあって
すごく作業がやりやすかったです。

しばらくTerraformとの戦いは続きそうなので
引き続きリリースしたらプルリクエスト投げるようにしたいと思います。

ではでは〜

マイリスト移動作業

よくよく考えたら携帯課金でニコニコプレミアムにしてるから
iPhoneにすると強制的に一般会員になるんだよな・・・

ってことでとりあえずたまりにたまってたとりあえずマイリストを普通のマイリストへ移動することにしたんだが、
400件もあって全部クリックして選択・・・
とかそんなめんどくさいことしてられなかったから書いてみた

使いたいページでURLのところに貼り付ければ全部のチェックボックスにチェックが入るよ!

javascript:a=document.getElementsByTagName("input");for(var i in a){a[i].checked=true}

需要少ないだろうけど全選択はつけておいてもらえるとうれしいなぁと思う今日この頃なのでした

選択にはメイン型が含まれていません

Javaの授業中友達のPCにエラーとしてタイトルのメッセージが出てなんだろうと思ったのでメモ

最初はプロジェクトの設定だろうなぁとか思って
Eclipseのプロジェクト設定まわり見て実行環境とかもいじってみたけど
まったく状況変わらず・・・

そこでGoogle先生にお尋ねしたところ
以下のサイトにこんな記述が!

Java での開発の勉強をしてみる(3) Eclipse で Hello world! – 超不定期雑記

Java のエントリポイントになるメソッドは C と同じくmain()。ただし、プロトタイプは “public static void main(String[] args)” でなければならない。
上記のプロトタイプに従った main 関数がないと、実行時に「選択にはメイン型が含まれていません」エラーが出る。

なんだと・・・

そこで、ソースコードをよく見てみると

public static void main(String args)

になってやがる・・・

そこで上記の通り

public static void main(String[] args)

に修正したところあっさり動いた

こんな仕様あったの全然知らなかった・・・