Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Androidのコードを自動で解析し、GitHubのpull requestにコメントする

Androidのコードを自動で解析し、GitHubのpull requestにコメントする

Android Bazaar & Conference Diverse 2015 Kanazawa の1日目のLT大会での発表です。
#ABCD2015K

D3514d99962ff3b2a6b2d11d54b4574b?s=128

noboru ishikura

November 22, 2015
Tweet

Transcript

  1. 1 ANDROID のコー ドを 自動で解析し GITHUB のプルリクに コメントする

  2. 2 WHO ARE YOU 石倉 昇 株式会社モンスター・ ラボ所属 受託でアプリとかWEB サー

    ビスとか作ってます 富山県の自宅でリモー トワー ク中 Twitter : @noboru_i
  3. 個人活動 http://noboru-i.github.io/

  4. 3 4 本題

  5. たまにプルリクで上がってくるこんなやつ。 ・ 未使用のimport が残ってる ・static final なのに、 変数名が小文字 ・ スペー

    スが無い
  6. 5 「 ここにスペー スを入れて」 とか いちいちレビュー で指摘したくない。

  7. 6 「 それ、Checkstyle で指摘してくれるよ。」

  8. 7 ならば

  9. 8 Checkstyle をみんなが忘れず守れば解決!

  10. 9 でも、 忘れますよね。 にんげんだもの

  11. 10 いっぽう、 GitHub のプルリクに コメントあったら見ますよね?

  12. 11 Checkstyle の結果を コメントにしたらいいんじゃね?

  13. 12 既にありました。 packsaddle/ruby-saddler

  14. 13 あとは、push したらこれが動けばいい

  15. 14 ということで、 CircleCI にやってもらいましょう。

  16. 15 こんな感じ ついでなので、 Findbugs とかAndroid Lint とか いろいろやってもらいましょう。

  17. 16 まず、CircleCI の環境設定をして、

  18. 17 build.gradle にチェック項目を追加して、 a p p l y f r

    o m : " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / m o n s t a r - l a b / g r a d l e - a n d r o i d - c i - 詳細は monstar-lab/gradle-android-ci-check
  19. 18 saddler.sh として、 チェックの実行と プルリクへの反映をするscript を書き、 # ! / u

    s r / b i n / e n v b a s h e c h o " * * * * * * * * * * * * * * * * * * * * " e c h o " * i n s t a l l g e m s * " e c h o " * * * * * * * * * * * * * * * * * * * * " g e m i n s t a l l - - n o - d o c u m e n t c h e c k s t y l e _ f i l t e r - g i t s a d d l e r s a d d l e r - r e p o r t e r - g i t h i f [ $ ? - n e 0 ] ; t h e n e c h o ' F a i l e d t o i n s t a l l g e m s . ' e x i t 1 f i e c h o " * * * * * * * * * * * * * * * * * * * * " e c h o " * e x e c g r a d l e * " e c h o " * * * * * * * * * * * * * * * * * * * * " . / g r a d l e w a p p : c h e c k
  20. 19 circle.yml のtest として実行するように設定。 t e s t : o

    v e r r i d e : - . / s c r i p t s / s a d d l e r . s h
  21. 20 あとは、 修正をpush する度に CircleCI がチェックしてくれる。

  22. 21

  23. None
  24. 22 統一されたフォー マット! 細かく指摘して嫌われない!

  25. 23 みんなHAPPY!

  26. 24 詳しくはWEB で。 Android のコー ドを自動で解析し、GitHub のpull request にコメントする -

    Qiita
  27. 25 WE ARE HIRING! 株式会社モンスター・ ラボ - Wantedly

  28. 27 ありがとうございました。