diff --git a/.gitignore b/.gitignore
index 041a4df5..1b79e74a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,6 @@ nb-configuration.xml
# VS Code
.vscode/
+
+# formatter-maven-plugin
+.cache/
\ No newline at end of file
diff --git a/build/eclipse-formatter-config.xml b/build/eclipse-formatter-config.xml
new file mode 100644
index 00000000..0ecf4739
--- /dev/null
+++ b/build/eclipse-formatter-config.xml
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index eef3b1e3..ffc00150 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,6 +49,8 @@
3.8.1
+ 2.12.1
+ 1.4.1
3.0
1.2.0
3.0.0-M4
@@ -244,6 +246,26 @@ limitations under the License.
takari-lifecycle-plugin
${takari-lifecycle.version}
+
+ net.revelc.code.formatter
+ formatter-maven-plugin
+ ${formatter-maven-plugin.version}
+
+ ${maven.multiModuleProjectDirectory}/build/eclipse-formatter-config.xml
+ ${format.skip}
+
+
+
+ net.revelc.code
+ impsort-maven-plugin
+ ${impsort-maven-plugin.version}
+
+ true
+ true
+ KEEP
+ ${format.skip}
+
+
org.apache.maven.plugins
maven-compiler-plugin
@@ -285,6 +307,32 @@ limitations under the License.
+
+ net.revelc.code.formatter
+ formatter-maven-plugin
+
+
+ format
+
+ format
+
+ process-sources
+
+
+
+
+ net.revelc.code
+ impsort-maven-plugin
+
+
+ sort-imports
+
+ sort
+
+ process-sources
+
+
+