DomaをIntelliJ&Gradleで使ったば場合にIntelliJ側でもビルドできるようにする手順です。
バージョンなど
Gradle
task wrapper(type: Wrapper) {
gradleVersion = '3.3'
}
プロジェク構成
下のプロジェクト構成で確認を行いました
- シングルプロジェクト
- マルチプロジェクト(rootプロジェクトのsubprojects内に設定を行っています)
Domaのドキュメントを参考にbuild.gradleを作る
ビルド — Doma 2.0 ドキュメントを参考にbuild.gradleを作りましょう。
これで、Gradleでビルドした場合にSQLファイルをうまく参照できるようになります。
IntelliJでビルドできるようにするための設定を追加する
build.gradleに以下の設定を追加します
// ideaプラグインを追加 apply plugin: 'idea' // モジュールの出力先ディレクトリをcompileJava.destinationDirに変更 idea.module.outputDir = compileJava.destinationDir
inheritOutputDirsを有効しないと動かない場合がある
inheritOutputDirsを有効(true)にしないと、うまく動かないとの指摘をいただきました。
上に書いたバージョンの組み合わせでは、この設定がなくても動いたのですがバージョンの組み合わせによってはこの設定が必要なので、以下の設定をbuild.gradleに追加してあげましょう。
idea.module.inheritOutputDirs = true
@_siosio_ プロジェクトの作り方なのかIntelliJ or Gradleのバージョンなのかわかっていないのですが、私の場合inheritOutputDirsをtrueにしないとビルドが成功しないのですが理由わかりますか?https://t.co/SoXHuYiaLE
— toshihiro nakamura (@nakamura_to) 2017年1月24日
おわり。