=======================
Building an application
=======================
.. contents::
:depth: 3
Maven Central Repository
========================
You can pull the artifacts of the Doma framework from the Maven central repository.
We provide two artifacts, ``doma-core`` and ``doma-processor``.
The ``doma-core`` artifact is required at runtime and compile-time.
The ``doma-processor`` artifact provides annotation processors and is required at compile-time only.
The group id and artifact id of those artifacts are as follows:
:GroupId: org.seasar.doma
:ArtifactId: doma-core
:GroupId: org.seasar.doma
:ArtifactId: doma-processor
.. _build-with-gradle:
Build with Gradle
=================
Write your build.gradle(.kts) as follows:
.. tabs::
.. tab:: Kotlin
.. code-block:: kotlin
plugins {
id("org.seasar.doma.compile") version "3.0.1"
}
dependencies {
implementation("org.seasar.doma:doma-core:3.0.1")
annotationProcessor("org.seasar.doma:doma-processor:3.0.1")
}
.. tab:: Groovy
.. code-block:: groovy
plugins {
id 'org.seasar.doma.compile' version '3.0.1'
}
dependencies {
implementation 'org.seasar.doma:doma-core:3.0.1'
annotationProcessor 'org.seasar.doma:doma-processor:3.0.1'
}
To simplify your build.script(.kts), we recommend that you use the `org.seasar.doma.compile`_ plugin.
See build.gradle.kts in the `getting-started`_ repository as an example.
.. _build-with-maven
Build with Maven
=================
Write your pom.xml as follows:
.. code-block:: xml
...
3.0.1
...
org.seasar.domadoma-core${doma.version}
...
org.apache.maven.pluginsmaven-compiler-plugin3.8.11717org.seasar.domadoma-processor${doma.version}-Adoma.resources.dir=${project.basedir}/src/main/resources
.. _build-with-eclipse:
Build with Eclipse
==================
Gradle
------
Import your project as a Gradle project.
To reflect Gradle settings in Eclipse, right-click on your project and select Gradle > Refresh Gradle Project.
See build.gradle.kts in the `getting-started`_ repository as an example.
Maven
------
Import your project as a Maven project.
Right-click on the project, then select Properties > Maven > Annotation Processing.
Enable "Enable Project specific settings" and "Automatically configure JDT APT"
as shown in the figure below.
.. image:: images/eclipse-maven-annotation-processing.png
:alt: Eclipse Maven Annotation Processing
To reflect Maven settings in Eclipse, you can right-click on your project then select Maven > Update Project...
.. note::
You need to add the following argument to the Maven compiler plugin configuration in your pom.xml:
.. code-block:: xml
-Adoma.resources.dir=${project.basedir}/src/main/resources
.. _build-with-idea:
Build with IntelliJ IDEA
========================
Gradle
------
Import your project as a Gradle project.
Build and run using Gradle.
Maven
------
Import your project as a Maven project.
Build and run using Maven.
.. _org.seasar.doma.compile: https://github.com/domaframework/doma-compile-plugin
.. _com.diffplug.eclipse.apt: https://plugins.gradle.org/plugin/com.diffplug.eclipse.apt
.. _getting-started: https://github.com/domaframework/getting-started