Androidライブラリのスケルトンを作るCLI作った

github.com

  • gem install robotkit すると、robotkitコマンドが利用可能になる
  • robotkit create :output_dir --package your.package.name ですぐ開発が始められるプロジェクトが作成される
  • まだαバージョンくらいの完成度

背景

Androidライブラリを書いた経験があると共感してもらえると思うのですが、プロジェクトを作るのがめちゃめちゃ面倒なんです。 僕の場合ざっくり以下の手順をやります。

  1. 新規アプリを作成する手順でウィザードを進める
  2. Android library用moduleを追加する
  3. app の依存にlibrary moduleを追加する
  4. allowBackupなどを不要な宣言を消す
  5. Applicationクラスを作る
  6. jackやretrolambdaの設定を追加する
  7. app moduleをサンプルに使うため、renameする
  8. sourceCompatibility targetCompatibilityを1.8に上げる
  9. gradleを3.2に変更する
  10. gradle propertyの設定を変更する
  11. android-maven-gradle-pluginを入れる

慣れれば大したことないけど、npm パッケージやgemを作るときのような体験が出来るといいなと前から思っていました。 昨日試しに作ってみたら、個人の実用に耐えられる程度には動くので公開しました。(実装はべた書き)

使い方

robotkit create :output_dir --package your.package.name

オプション

option :package, required: true
option :library_module, desc: "ライブラリモジュール名 (デフォルト: library)"
option :sample_module, desc: "サンプルモジュール名 (デフォルト: sample)"

試してないですが、systemのrubyだと動かないかもしれない。

追加したい機能

  • jack や android-maven-gradle-pluginなどを追加/除外できるオプション
  • 設定ファイル(.robotkitrcのようなもの)を作り、デフォルト値を変更出来るようにする
  • 対話的インターフェース
  • プリプロジェクトも作成できるようにする
  • 外部のスケルトンプロジェクトを読み込めるようにする

終わりに

Androidはライブラリを作るレールが今までなかったので、有名OSSでも作法にバラつきがあります。今は僕の好みが強いプロジェクトが生成されます。 ここは気に入らない。こういう機能が欲しいなどがあったらissueを立てていただけると嬉しいです。:P