jimble コマンド#
使い方: jimble <コマンド>
new <name> プロジェクトの雛形を作る
migrate 未適用のマイグレーションを適用する
codegen <ソースルート> テーブル定義のコードを生成する(例: src/main/java)
version 版を表示する
入れる#
jimble のリポジトリからビルドして、PATH に通します。
git clone https://github.com/hidemikimura/jimble.git
cd jimble
./gradlew :jimble-cli:installDist
export PATH="$PWD/jimble-cli/build/install/jimble/bin:$PATH"
補足
CLI は Maven Central にありますが、そのままでは起動できません
(io.jimble:jimble-cli の jar に Main-Class を入れていないので、
java -jar では動きません)。リポジトリからビルドしてください。
CLI が無くても始められます。jimble new が作るものは
Gradle プラグイン の「まっさらから書く」に全文があります。
migrate と codegen は Gradle のタスク(./gradlew migrate / ./gradlew codegen)でも走ります。
$ jimble version
jimble 0.4.0-SNAPSHOT
毎回書きたくなければ、~/.zshrc に上の export を足すか、リンクを張ってください。
ln -sf "$PWD/jimble-cli/build/install/jimble/bin/jimble" /usr/local/bin/jimble
注意
java として Java 25 が引ける必要があります。
起動スクリプトは JAVA_HOME か PATH の java を使うので、
古い Java だと UnsupportedClassVersionError になります。
生成したプロジェクトをビルドするのに Gradle 9 以上も要ります。
落とし穴
jimble を直したら installDist をやり直してください。
動くのは build/install/ にコピーされたほうなので、
直しただけでは反映されません。
手元でビルドした jimble を使うとき#
jimble new が作る build.gradle.kts は、CLI をビルドした版を参照します。
公開していない版(0.4.0-SNAPSHOT など)なら、先にローカルへ publishしてください。
./gradlew publishToMavenLocal
./gradlew -p gradle-plugin publishToMavenLocal
雛形の settings.gradle.kts は mavenLocal() を先に見るようにしてあります。
公開済みの版だけを使うなら、これは要りません。
jimble new#
jimble new my-blog
作られるもの:
my-blog/
settings.gradle.kts
build.gradle.kts
gradle.properties
.gitignore
README.md
src/main/java/myblog/App.java
src/main/jte/myblog/index.jte
conf/application.conf
conf/logback.xml
conf/migration/my_blog/001_create_note.sql.example
空のディレクトリは作りません。 使う段になってから作ってください。
.example が付いているものは、名前を変えれば有効になります。
名前の決まり:
- 使えるのは英小文字・数字・
-・_です - 先頭は英字です
- パッケージ名は英数字だけ残したもの(
my-blog→myblog) - DB 名は英数字以外を
_にしたもの(my-blog→my_blog) - Java の予約語や、既にあるディレクトリ名は断られます
理由はエラーメッセージに書いてあります。
補足
**DB も Redis も要らないものが出ます。**手を入れずにビルドして起動できます。
使うようになったら、build.gradle.kts と application.conf の
コメントを外していく形にしてあります。
次にすること#
cd my-blog
gradle wrapper --gradle-version 9.7.1 # Gradle ラッパーを用意する(1回だけ)
./gradlew run # 起動する
./gradlew jimbleRun # ホットリロードで起動する
$ curl http://localhost:9000/hello
{"message":"hello, jimble"}
migrate / codegen#
プロジェクトの中では Gradle から呼びます。
./gradlew migrate
./gradlew codegen
io.jimble.db プラグインを入れておくと、compileJava の前に
migrate → codegen が自動で繋がります。
中身は マイグレーションとコード生成、タスクと設定は Gradle プラグイン を見てください。
落とし穴
jimble migrate / jimble codegen を素で叩いても動きません。
どちらも設定(application.conf)とマイグレーションの SQL を
クラスパスから探すので、アプリのリソースが見えている必要があります。
CI や本番で Gradle が使えないところでは、jar をクラスパスに足して呼んでください。
java -cp app.jar io.jimble.db.cli.JimbleDbCli migrate
版を確認する#
jimble version
jar の Implementation-Version を読んでいます。
雛形が参照する jimble の版もこれです(手で書いていません)。