Androidライブラリのスケルトンを作るCLI作った
gem install robotkit
すると、robotkit
コマンドが利用可能になるrobotkit create :output_dir --package your.package.name
ですぐ開発が始められるプロジェクトが作成される- まだαバージョンくらいの完成度
背景
Androidライブラリを書いた経験があると共感してもらえると思うのですが、プロジェクトを作るのがめちゃめちゃ面倒なんです。 僕の場合ざっくり以下の手順をやります。
- 新規アプリを作成する手順でウィザードを進める
- Android library用moduleを追加する
- app の依存にlibrary moduleを追加する
- allowBackupなどを不要な宣言を消す
- Applicationクラスを作る
- jackやretrolambdaの設定を追加する
- app moduleをサンプルに使うため、renameする
- sourceCompatibility targetCompatibilityを1.8に上げる
- gradleを3.2に変更する
- gradle propertyの設定を変更する
- 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