ビルド

Maven Central Repository

Doma の jar ファイルは Maven Central Repository から入手できます。 GroupId と ArtifactId の名称は以下の通りです。

GroupId:org.seasar.doma
ArtifactId:doma

Eclipse を使ったビルド

Eclipse でビルドを行う際のポイントは以下の通りです。

  • プロジェクトの設定で注釈処理を有効にする
  • Build Path に加えて Factory Path にも Doma の jar ファイルを設定する

注釈

手動で設定するよりも Gradle の eclipse タスクで自動設定することを推奨します。 詳細については、 domaframework/simple-boilerplate に含まれる build.gradle と eclipse.gradle を参照ください。

注釈処理の有効化

注釈処理を有効化するには、メニューから Project > Properties を選んで画面を開き 左のメユーから Java Compiler > Annotation Processing を選択します。

そして、下記に示すチェックボックスにチェックを入れます。

../_images/annotation-processing.png

Factory Path の設定

注釈処理を有効化するには、メニューから Project > Properties を選んで画面を開き 左のメユーから Java Compiler > Annotation Processing > Factory Path を選択します。

そして、下記に示すチェックボックスにチェックを入れ、 ビルドパスで指定しているのと同じバージョンの Doma の jar を登録します。

../_images/factory-path.png

IntelliJ IDEA を使ったビルド

IntelliJ IDEA でビルドを行う際のポイントは以下の通りです。

  • Module の設定で Inherit project compile output pathを有効にする
  • Preferences の設定で注釈処理を有効にする
  • 注釈処理で生成されたコードが出力されるディレクトリを Generated Sources Root に設定する

詳細な設定方法については Annotation Processor に関する設定 を参照してください。

Gradle を使ったビルド

Gradle でビルドを行う際のポイントは以下のとおりです。

  • compileJava実行前にdomaが注釈処理で参照するリソースをcompileJavaタスクの出力先ディレクトリにコピーする
  • テスト時は注釈処理を無効にする
  • 依存関係の設定でdomaの注釈処理を実行することを示す
  • 依存関係の設定でdomaへの依存を示す

サンプルのbuild.gradleです。

apply plugin: 'java'

// domaが注釈処理で参照するリソースをcompileJavaタスクの出力先ディレクトリにコピーする
task copyDomaResources(type: Sync)  {
    from sourceSets.main.resources.srcDirs
    into compileJava.destinationDir
    include 'doma.compile.config'
    include 'META-INF/**/*.sql'
    include 'META-INF/**/*.script'
}

compileJava {
    // 上述のタスクに依存させる
    dependsOn copyDomaResources
    options.encoding = 'UTF-8'
}

compileTestJava {
    options.encoding = 'UTF-8'
    // テストの実行時は注釈処理を無効にする
    options.compilerArgs = ['-proc:none']
}

dependencies {
    // domaの注釈処理を実行することを示す
    annotationProcessor "org.seasar.doma:doma:2.21.0"
    // domaへの依存を示す
    implementation "org.seasar.doma:doma:2.21.0"
}

repositories {
    mavenCentral()
    maven {url 'https://oss.sonatype.org/content/repositories/snapshots/'}
}

注釈

リポジトリにおける https://oss.sonatype.org/content/repositories/snapshots/ の設定は Doma の SNAPSHOT を参照したい場合にのみ必要です。

Doma の SNAPSHOT は Travis-CI でビルドが成功されるたびに作成されリポジトリに配置されます。

注釈

上述のbuild.gradleの書き方により、Gradle 5.0 で導入された Incremental annotation processing の恩恵を受けられます。

Gradle を使ったより詳細なビルドスクリプトの例として、 domaframework/simple-boilerplate を参照にしてください。