This is an automated email from the ASF dual-hosted git repository.

ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new f29e70e9e9 IGNITE-17608: PMD and checkstyle for gradle build (#1065)
f29e70e9e9 is described below

commit f29e70e9e92f0044b0fb816819b48ae25cfad3b7
Author: Mikhail <[email protected]>
AuthorDate: Fri Sep 16 13:15:34 2022 +0300

    IGNITE-17608: PMD and checkstyle for gradle build (#1065)
---
 build.gradle                                       |  11 +-
 buildscripts/java-core.gradle                      |  60 +++++------
 buildscripts/java-integration-test.gradle          |   6 +-
 buildscripts/java-junit5.gradle                    |   6 +-
 buildscripts/java-library.gradle                   |  18 ----
 buildscripts/java-test-fixtures.gradle             |   7 +-
 buildscripts/publishing-repos.gradle               |   4 +-
 buildscripts/publishing.gradle                     |   4 +-
 buildscripts/sql-parser-generator.gradle           |  93 ++++++++++++++++
 check-rules/checkstyle-rules.xml                   |   8 +-
 examples/build.gradle                              |  13 ++-
 gradle/libs.versions.toml                          | 120 ++++++++++-----------
 modules/affinity/build.gradle                      |   9 +-
 modules/api/build.gradle                           |   6 +-
 modules/baseline/build.gradle                      |   6 +-
 modules/binary-tuple/build.gradle                  |   6 +-
 modules/bytecode/build.gradle                      |  12 ++-
 modules/cli-common/build.gradle                    |   6 +-
 modules/cli/build.gradle                           |  12 ++-
 .../apache/ignite/cli/core/call/UrlCallInput.java  |   4 +-
 modules/client-common/build.gradle                 |   7 +-
 modules/client-handler/build.gradle                |   6 +-
 modules/client/build.gradle                        |   7 +-
 modules/cluster-management/build.gradle            |   7 +-
 modules/compute/build.gradle                       |   6 +-
 .../build.gradle                                   |  11 +-
 modules/configuration-api/build.gradle             |   6 +-
 modules/configuration/build.gradle                 |   7 +-
 modules/core/build.gradle                          |   6 +-
 .../apache/ignite/internal/util/IgniteRandom.java  |   0
 modules/extended-api/build.gradle                  |   6 +-
 modules/file-io/build.gradle                       |   6 +-
 modules/index/build.gradle                         |   6 +-
 modules/jacoco-report/build.gradle                 |   6 +-
 modules/marshaller-common/build.gradle             |   6 +-
 modules/metastorage-client/build.gradle            |  19 +++-
 modules/metastorage-common/build.gradle            |   6 +-
 modules/metastorage-server/build.gradle            |   6 +-
 modules/metastorage/build.gradle                   |   6 +-
 modules/metrics/build.gradle                       |   9 +-
 modules/network-annotation-processor/build.gradle  |   6 +-
 modules/network-api/build.gradle                   |   6 +-
 modules/network/build.gradle                       |   6 +-
 modules/page-memory/build.gradle                   |  10 +-
 modules/platforms/build.gradle                     |   4 +-
 modules/raft-client/build.gradle                   |  12 ++-
 modules/raft/build.gradle                          |  10 +-
 .../internal/raft/server/impl/RaftServerImpl.java  |   0
 .../service/ItAbstractListenerSnapshotTest.java    |   0
 modules/rest-api/build.gradle                      |   7 +-
 modules/rest/build.gradle                          |   6 +-
 modules/rocksdb-common/build.gradle                |   6 +-
 modules/runner/build.gradle                        |  12 ++-
 modules/schema/build.gradle                        |   6 +-
 modules/sql-engine/build.gradle                    |  73 +------------
 modules/storage-api/build.gradle                   |   6 +-
 modules/storage-page-memory/build.gradle           |   6 +-
 .../pagememory/index/sorted/SortedIndexRow.java    |   4 +-
 .../pagememory/index/sorted/SortedIndexRowKey.java |   4 +-
 .../pagememory/index/sorted/SortedIndexTree.java   |   4 +-
 .../index/sorted/io/SortedIndexTreeInnerIo.java    |   2 +-
 .../index/sorted/io/SortedIndexTreeIo.java         |   4 +-
 .../index/sorted/io/SortedIndexTreeLeafIo.java     |   2 +-
 .../index/sorted/io/SortedIndexTreeMetaIo.java     |   4 +-
 modules/storage-rocksdb/build.gradle               |   6 +-
 modules/table/build.gradle                         |  12 ++-
 modules/transactions/build.gradle                  |   6 +-
 modules/vault/build.gradle                         |   6 +-
 parent/pom.xml                                     |   3 +-
 69 files changed, 425 insertions(+), 358 deletions(-)

diff --git a/build.gradle b/build.gradle
index cad7582c15..dc593cfc31 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,6 +15,13 @@
  * limitations under the License.
  */
 
+
+//This need for resolving plugins in buildscripts
+plugins {
+    alias(libs.plugins.javacc) apply false
+    alias(libs.plugins.modernizer) apply false
+}
+
 repositories {
     mavenLocal()
     maven {
diff --git a/buildscripts/java-core.gradle b/buildscripts/java-core.gradle
index 23deac065e..49b21ea460 100644
--- a/buildscripts/java-core.gradle
+++ b/buildscripts/java-core.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -19,6 +19,8 @@ apply plugin: 'java'
 apply plugin: 'jacoco'
 apply plugin: 'checkstyle'
 apply plugin: 'pmd'
+apply plugin: 'java-library'
+apply plugin: 'com.github.andygoossens.modernizer'
 
 java {
     sourceCompatibility = JavaVersion.VERSION_11
@@ -35,7 +37,7 @@ pmd {
     consoleOutput = true
 
     toolVersion = libs.versions.pmdTool.get()
-    ruleSets = []//switch off old rulesets
+    ruleSets = ["$rootDir/check-rules/pmd-rules.xml"]
 }
 
 processResources {
@@ -46,65 +48,55 @@ processResources {
     }
 }
 
-tasks.withType(Pmd) {
-    reports {
-        html {
-            required = true
-        }
-        xml {
-            required = true
-        }
-    }
-}
 
 pmdMain {
-    enabled = false
-    ruleSetFiles = files("$rootDir/check-rules/pmd-rules.xml")
+    enabled = true
 }
 
 pmdTest {
     enabled = false
-    ruleSetFiles = files("$rootDir/check-rules/pmd-rules.xml")
 }
 
-
 checkstyle {
     toolVersion = libs.versions.checkstyleTool.get()
     ignoreFailures = false
     showViolations = true
     maxWarnings = 0
     configFile = file("$rootDir/check-rules/checkstyle-rules.xml")
-    configProperties.
     configProperties = [
-            "checkstyle.header.file"      : 
file("$rootDir/check-rules/LICENSE.txt"),
-            "checkstyle.suppressions.file": 
file("$rootDir/check-rules/checkstyle-suppressions.xml")
+            "checkstyle.header.file" : 
file("$rootDir/check-rules/LICENSE.txt"),
+            "org.checkstyle.google.suppressionfilter.config" : 
file("$rootDir/check-rules/checkstyle-suppressions.txt")
     ]
 }
 
 tasks.withType(Checkstyle) {
-    enabled false
+    excludes = ["**/generated-source/**",
+                "**/generated/**",
+                "com/facebook/presto/bytecode/**/*",
+                "org/apache/ignite/raft/jraft/**/*"]
     reports {
-        html {
-            required = true
-        }
-        xml {
-            required = true
-        }
+        xml.required = false
+        html.required = true
     }
 }
 
+modernizer {
+    failOnViolations = true
+    includeTestClasses = false
+    violationsFile = "${rootDir}/check-rules/modernizer-rules.xml"
+    ignorePackages = ["org.apache.ignite.internal.sql.engine",
+                      "org.apache.ignite.internal.generated",
+                      "org.apache.ignite.rest.client"]
+}
+
 jacoco {
     toolVersion = libs.versions.jacocoTool.get()
 }
 
 jacocoTestReport {
     reports {
-        html {
-            required = true
-        }
-        xml {
-            required = true
-        }
+        xml.required = false
+        html.required = true
     }
     afterEvaluate {
         classDirectories.setFrom(files(classDirectories.files.collect {
@@ -112,4 +104,4 @@ jacocoTestReport {
                     exclude: ['org/apache/calcite/**/*'])
         }))
     }
-}
\ No newline at end of file
+}
diff --git a/buildscripts/java-integration-test.gradle 
b/buildscripts/java-integration-test.gradle
index dfb1908045..745aac23b3 100644
--- a/buildscripts/java-integration-test.gradle
+++ b/buildscripts/java-integration-test.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -29,10 +29,10 @@ sourceSets {
 }
 
 pmdIntegrationTest {
-    ruleSetFiles = files("$rootDir/check-rules/pmd-rules.xml")
     enabled = false
 }
 
+
 configurations {
     integrationTestImplementation.extendsFrom implementation
     integrationTestRuntimeOnly.extendsFrom runtimeOnly
diff --git a/buildscripts/java-junit5.gradle b/buildscripts/java-junit5.gradle
index 901c25b24c..97de37d5f8 100644
--- a/buildscripts/java-junit5.gradle
+++ b/buildscripts/java-junit5.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -26,4 +26,4 @@ dependencies {
     testImplementation libs.junit5.impl
     testImplementation libs.junit5.api
     testImplementation libs.junit5.params
-}
\ No newline at end of file
+}
diff --git a/buildscripts/java-library.gradle b/buildscripts/java-library.gradle
deleted file mode 100644
index 8113ee8b50..0000000000
--- a/buildscripts/java-library.gradle
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-apply from: "$rootDir/buildscripts/java-core.gradle"
-apply plugin: 'java-library'
\ No newline at end of file
diff --git a/buildscripts/java-test-fixtures.gradle 
b/buildscripts/java-test-fixtures.gradle
index 6bf0e5f38e..82476c2a68 100644
--- a/buildscripts/java-test-fixtures.gradle
+++ b/buildscripts/java-test-fixtures.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -18,6 +18,5 @@
 apply plugin: 'java-test-fixtures'
 
 pmdTestFixtures {
-    ruleSetFiles = files("$rootDir/check-rules/pmd-rules.xml")
     enabled = false
-}
\ No newline at end of file
+}
diff --git a/buildscripts/publishing-repos.gradle 
b/buildscripts/publishing-repos.gradle
index e954f40b7f..0caf4e1fe7 100644
--- a/buildscripts/publishing-repos.gradle
+++ b/buildscripts/publishing-repos.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git a/buildscripts/publishing.gradle b/buildscripts/publishing.gradle
index 2180457874..a8720f8443 100644
--- a/buildscripts/publishing.gradle
+++ b/buildscripts/publishing.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git a/buildscripts/sql-parser-generator.gradle 
b/buildscripts/sql-parser-generator.gradle
new file mode 100644
index 0000000000..9612607572
--- /dev/null
+++ b/buildscripts/sql-parser-generator.gradle
@@ -0,0 +1,93 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+buildscript {
+    repositories {
+        maven {
+            url "https://plugins.gradle.org/m2/";
+        }
+    }
+    dependencies {
+        classpath 'net.sourceforge.fmpp:fmpp:0.9.16'
+    }
+}
+
+import fmpp.setting.Settings
+
+apply plugin: "com.intershop.gradle.javacc"
+apply plugin: 'idea'
+
+
+configurations {
+    calcite
+}
+
+dependencies {
+    calcite(libs.calcite.core)
+}
+
+pmdMain {
+    excludes = [
+            
"**/org/apache/ignite/internal/generated/query/calcite/sql/IgniteSqlParserImplTokenManager.java",
+            
"**/org/apache/ignite/internal/generated/query/calcite/sql/IgniteSqlParserImpl.java"
+    ]
+}
+
+task copyFmppResources(type: Copy) {
+    from("$rootDir/modules/sql-engine/src/main/codegen")
+    into("$buildDir/codegen")
+}
+
+task extractParserTemplate(type: Copy) {
+    from({ zipTree(configurations.calcite.files[0]) }) {
+        include 'codegen/templates/Parser.jj'
+    }
+    into("${buildDir}")
+}
+
+task generateFmppSources() {
+    doLast {
+        Settings settings = new Settings(temporaryDir)
+        settings.set("sourceRoot", 
file("${buildDir}/codegen/templates").absolutePath)
+        settings.set("outputRoot", 
file("$buildDir/generated-sources/fmpp").absolutePath)
+
+        settings.load(file("${buildDir}/codegen/config.fmpp"))
+        settings.execute()
+    }
+}
+
+
+javacc {
+    configs {
+        template {
+            inputFile = 
file("${buildDir}/generated-sources/fmpp/javacc/Parser.jj")
+            outputDir = file("${buildDir}/generated-sources/javacc")
+            packageName = 
'org.apache.ignite.internal.generated.query.calcite.sql'
+            lookahead = 2
+            staticParam = false
+        }
+    }
+}
+
+extractParserTemplate.dependsOn copyFmppResources
+generateFmppSources.dependsOn extractParserTemplate
+javaccTemplate.dependsOn generateFmppSources
+compileJava.dependsOn javaccTemplate
+
+idea.module {
+    sourceDirs += file("${buildDir}/generated-sources/javacc")
+}
diff --git a/check-rules/checkstyle-rules.xml b/check-rules/checkstyle-rules.xml
index 2b0cff6247..457906d868 100644
--- a/check-rules/checkstyle-rules.xml
+++ b/check-rules/checkstyle-rules.xml
@@ -353,13 +353,13 @@
       <property name="accessModifiers" value="public"/>
       <property name="allowMissingParamTags" value="true"/>
       <property name="allowMissingReturnTag" value="true"/>
-      <property name="allowedAnnotations" value="Override, Test, 
ParameterizedTest, TestFactory, BeforeEach, BeforeAll, AfterEach, AfterAll, 
TestFactory"/>
+      <property name="allowedAnnotations" value="Override, Test, 
ParameterizedTest, TestFactory, BeforeEach, BeforeAll, AfterEach, AfterAll"/>
       <property name="tokens" value="METHOD_DEF, CTOR_DEF, 
ANNOTATION_FIELD_DEF, COMPACT_CTOR_DEF"/>
     </module>
     <module name="MissingJavadocMethod">
       <property name="scope" value="public"/>
       <property name="minLineCount" value="2"/>
-      <property name="allowedAnnotations" value="Override, Test, 
ParameterizedTest, TestFactory, BeforeEach, BeforeAll, AfterEach, AfterAll, 
TestFactory"/>
+      <property name="allowedAnnotations" value="Override, Test, 
ParameterizedTest, TestFactory, BeforeEach, BeforeAll, AfterEach, AfterAll"/>
       <property name="tokens" value="METHOD_DEF, CTOR_DEF, 
ANNOTATION_FIELD_DEF,
                                    COMPACT_CTOR_DEF"/>
     </module>
@@ -384,4 +384,8 @@
       <property name="optional" value="true"/>
     </module>
   </module>
+  <module name="Header">
+    <property name="headerFile" value="${checkstyle.header.file}"/>
+    <property name="fileExtensions" value="java"/>
+  </module>
 </module>
diff --git a/examples/build.gradle b/examples/build.gradle
index f17f7c24b6..d7d141615a 100644
--- a/examples/build.gradle
+++ b/examples/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
+description = 'ignite-examples'
+
 dependencies {
     implementation project(':ignite-runner')
     implementation project(':ignite-client')
@@ -26,4 +28,7 @@ dependencies {
     testImplementation libs.hamcrest.core
 }
 
-description = 'ignite-examples'
+checkstyleMain {
+    enabled = false
+}
+
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 6f8a56fd19..e084d3cded 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -16,67 +16,66 @@
 #
 
 [versions]
-ivy="2.5.0"
-assertj="3.22.0"
-asm="9.0"
-compileTesting="0.19"
-fliptables="1.1.0"
-jackson="2.13.1"
-jakarta="2.0.0"
-jansi="1.18"
-netty="4.1.70.Final"
-javapoet="1.13.0"
-javax="1.3.2"
-jetbrainsAnnotations="20.1.0"
-jline="3.21.0"
-jmh="1.35"
-junit5="5.8.1"
-jsr305="3.0.2"
-okhttp="4.9.1"
-gson="2.8.9"
-gsonFire="1.8.5"
-threetenbp="1.5.2"
-micronaut="3.5.3"
-micronautPicocli="4.1.0"
-micronautJunit5="3.4.0"
-mockito="4.3.1"
-picocli="4.6.2"
-slf4j="1.7.32"
-spoon="8.4.0-beta-18"
-swagger="2.1.12"
-swaggerLegacy="1.6.4"
-typesafe="1.4.1"
-hamcrest="2.2"
-hamcrestOptional="2.0.0"
-hamcrestPath="1.0.1"
-scalecube="2.6.12"
-calcite="1.31.0"
-value="2.8.8"
-janino="3.1.6"
-avatica="1.22.0"
-jsonpath="2.4.0"
-classgraph="4.8.110"
-javassist="3.28.0-GA"
-geometry="2.2.0"
-checker="3.10.0"
-rocksdb="7.3.1"
-disruptor="3.3.7"
-metrics="4.0.2"
-jctools="3.3.0"
-msgpack="0.8.21"
-caffeine="3.0.4"
-fastutil="8.5.6"
-kryo="4.0.1"
-bytebuddy="1.12.8"
-mockServer="5.13.2"
-archunit="0.23.1"
-testkit="1.8.1"
-openapi="3.2.0"
-
-#Plugins
-rat="0.7.1"
+ivy = "2.5.0"
+assertj = "3.22.0"
+asm = "9.0"
+compileTesting = "0.19"
+fliptables = "1.1.0"
+jackson = "2.13.1"
+jakarta = "2.0.0"
+jansi = "1.18"
+netty = "4.1.70.Final"
+javapoet = "1.13.0"
+javax = "1.3.2"
+jetbrainsAnnotations = "20.1.0"
+jline = "3.21.0"
+jmh = "1.35"
+junit5 = "5.8.1"
+jsr305 = "3.0.2"
+okhttp = "4.9.1"
+gson = "2.8.9"
+gsonFire = "1.8.5"
+threetenbp = "1.5.2"
+micronaut = "3.5.3"
+micronautPicocli = "4.1.0"
+micronautJunit5 = "3.4.0"
+mockito = "4.3.1"
+picocli = "4.6.2"
+slf4j = "1.7.32"
+spoon = "8.4.0-beta-18"
+swagger = "2.1.12"
+swaggerLegacy = "1.6.4"
+typesafe = "1.4.1"
+hamcrest = "2.2"
+hamcrestOptional = "2.0.0"
+hamcrestPath = "1.0.1"
+scalecube = "2.6.12"
+calcite = "1.31.0"
+value = "2.8.8"
+janino = "3.1.6"
+avatica = "1.22.0"
+jsonpath = "2.4.0"
+classgraph = "4.8.110"
+javassist = "3.28.0-GA"
+geometry = "2.2.0"
+checker = "3.10.0"
+rocksdb = "7.3.1"
+disruptor = "3.3.7"
+metrics = "4.0.2"
+jctools = "3.3.0"
+msgpack = "0.8.21"
+caffeine = "3.0.4"
+fastutil = "8.5.6"
+kryo = "4.0.1"
+bytebuddy = "1.12.8"
+mockServer = "5.13.2"
+archunit = "0.23.1"
+testkit = "1.8.1"
+openapi = "3.2.0"
+
+#Tools
 pmdTool = "6.28.0"
-checkstyleTool = "8.41"
+checkstyleTool = "10.3.3"
 jacocoTool = "0.8.5"
 
 [plugins]
@@ -84,6 +83,7 @@ openapiGenerator = "org.openapi.generator:5.4.0"
 javacc = "com.intershop.gradle.javacc:4.0.1"
 shadow = "com.github.johnrengelman.shadow:7.1.2"
 cmake = "net.freudasoft.gradle-cmake-plugin:0.0.4"
+modernizer = "com.github.andygoossens.modernizer:1.6.2"
 
 [libraries]
 assertj-core = { module = "org.assertj:assertj-core", version.ref = "assertj" }
diff --git a/modules/affinity/build.gradle b/modules/affinity/build.gradle
index 5e802205f0..cc9b26cf99 100644
--- a/modules/affinity/build.gradle
+++ b/modules/affinity/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
+description = 'ignite-affinity'
+
 dependencies {
     implementation project(':ignite-raft')
     implementation project(':ignite-configuration')
@@ -31,4 +33,3 @@ dependencies {
     testImplementation libs.mockito.core
 }
 
-description = 'ignite-affinity'
diff --git a/modules/api/build.gradle b/modules/api/build.gradle
index b24c76b57f..c4bf60bea5 100644
--- a/modules/api/build.gradle
+++ b/modules/api/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 
diff --git a/modules/baseline/build.gradle b/modules/baseline/build.gradle
index 53fb2752f6..9029eb81d1 100644
--- a/modules/baseline/build.gradle
+++ b/modules/baseline/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/binary-tuple/build.gradle 
b/modules/binary-tuple/build.gradle
index 369c81b92b..da2e61e207 100644
--- a/modules/binary-tuple/build.gradle
+++ b/modules/binary-tuple/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 description = 'ignite-binary-tuple'
diff --git a/modules/bytecode/build.gradle b/modules/bytecode/build.gradle
index 8cb6b91b86..2ad5d0f7ac 100644
--- a/modules/bytecode/build.gradle
+++ b/modules/bytecode/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
+description = 'ignite-bytecode'
+
 dependencies {
     implementation libs.jetbrains.annotations
     api libs.asm.core
@@ -25,4 +27,6 @@ dependencies {
     api libs.asm.util
 }
 
-description = 'ignite-bytecode'
+checkstyleMain {
+    enabled = false
+}
diff --git a/modules/cli-common/build.gradle b/modules/cli-common/build.gradle
index ea365df4a5..9ea69031f5 100644
--- a/modules/cli-common/build.gradle
+++ b/modules/cli-common/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/cli/build.gradle b/modules/cli/build.gradle
index ba120657f8..22a4714773 100644
--- a/modules/cli/build.gradle
+++ b/modules/cli/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -23,7 +23,7 @@ plugins {
     id 'application'
 }
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-integration-test.gradle"
 
@@ -99,6 +99,10 @@ task copyOpenapiDefinition(type: Copy) {
     into("$buildDir/customOpenapiDefinition/")
 }
 
+pmdMain {
+    excludes = ["**/org/apache/ignite/rest/client/**"]
+}
+
 task generateApiClient(type: GenerateTask) {
     generatorName="java"
     inputs.dir file("$buildDir/customOpenapiDefinition/")
@@ -148,5 +152,3 @@ compileJava {
     dependsOn generateApiClient
     source generatedClientDir.get().dir('src/main/java')
 }
-
-
diff --git 
a/modules/cli/src/main/java/org/apache/ignite/cli/core/call/UrlCallInput.java 
b/modules/cli/src/main/java/org/apache/ignite/cli/core/call/UrlCallInput.java
index 76cecea224..2c01482b13 100644
--- 
a/modules/cli/src/main/java/org/apache/ignite/cli/core/call/UrlCallInput.java
+++ 
b/modules/cli/src/main/java/org/apache/ignite/cli/core/call/UrlCallInput.java
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git a/modules/client-common/build.gradle 
b/modules/client-common/build.gradle
index 99e2192335..e133356832 100644
--- a/modules/client-common/build.gradle
+++ b/modules/client-common/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,12 +15,13 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
     implementation project(':ignite-api')
     implementation project(':ignite-core')
+    implementation project(':ignite-binary-tuple')
     implementation libs.msgpack.core
     implementation libs.msgpack.jackson
     implementation libs.netty.common
diff --git a/modules/client-handler/build.gradle 
b/modules/client-handler/build.gradle
index 1b075b7c51..595976185e 100644
--- a/modules/client-handler/build.gradle
+++ b/modules/client-handler/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-integration-test.gradle"
 
diff --git a/modules/client/build.gradle b/modules/client/build.gradle
index 43f0fe47e6..5212b18baa 100644
--- a/modules/client/build.gradle
+++ b/modules/client/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,12 +15,13 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
     implementation project(':ignite-api')
     implementation project(':ignite-core')
+    implementation project(':ignite-binary-tuple')
     api project(':ignite-client-common')
     implementation project(':ignite-marshaller-common')
 
diff --git a/modules/cluster-management/build.gradle 
b/modules/cluster-management/build.gradle
index 0cf2af3fb4..73b823126c 100644
--- a/modules/cluster-management/build.gradle
+++ b/modules/cluster-management/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 apply from: "$rootDir/buildscripts/java-integration-test.gradle"
@@ -62,4 +62,3 @@ dependencies {
     integrationTestImplementation libs.micronaut.http.client
     integrationTestImplementation libs.micronaut.http.server.netty
 }
-
diff --git a/modules/compute/build.gradle b/modules/compute/build.gradle
index e304ed2c10..7fd1d1d77b 100644
--- a/modules/compute/build.gradle
+++ b/modules/compute/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/configuration-annotation-processor/build.gradle 
b/modules/configuration-annotation-processor/build.gradle
index a7f7df2f2e..9f2859fb25 100644
--- a/modules/configuration-annotation-processor/build.gradle
+++ b/modules/configuration-annotation-processor/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/java-integration-test.gradle"
 
 dependencies {
     implementation project(':ignite-configuration-api')
@@ -27,6 +28,10 @@ dependencies {
     testImplementation libs.compileTesting
     testImplementation libs.hamcrest.core
     testImplementation libs.spoon.core
+
+    integrationTestImplementation libs.compileTesting
+    integrationTestImplementation libs.hamcrest.core
+    integrationTestImplementation libs.spoon.core
 }
 
 description = 'ignite-configuration-annotation-processor'
diff --git a/modules/configuration-api/build.gradle 
b/modules/configuration-api/build.gradle
index 60a7f953c3..e713031c1d 100644
--- a/modules/configuration-api/build.gradle
+++ b/modules/configuration-api/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/configuration/build.gradle 
b/modules/configuration/build.gradle
index 147b5b1b8a..c5463a32df 100644
--- a/modules/configuration/build.gradle
+++ b/modules/configuration/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 
@@ -57,4 +57,3 @@ dependencies {
     testFixturesImplementation libs.typesafe.config
     testFixturesImplementation libs.hamcrest.core
 }
-
diff --git a/modules/core/build.gradle b/modules/core/build.gradle
index 11e386a8a4..9ca221e533 100644
--- a/modules/core/build.gradle
+++ b/modules/core/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -19,7 +19,7 @@ plugins {
     alias(libs.plugins.shadow)
 }
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/util/IgniteRandom.java 
b/modules/core/src/testFixtures/java/org/apache/ignite/internal/util/IgniteRandom.java
similarity index 100%
rename from 
modules/core/src/test/java/org/apache/ignite/internal/util/IgniteRandom.java
rename to 
modules/core/src/testFixtures/java/org/apache/ignite/internal/util/IgniteRandom.java
diff --git a/modules/extended-api/build.gradle 
b/modules/extended-api/build.gradle
index f81bcf47fc..741122b731 100644
--- a/modules/extended-api/build.gradle
+++ b/modules/extended-api/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/file-io/build.gradle b/modules/file-io/build.gradle
index 659eb15396..366e07838d 100644
--- a/modules/file-io/build.gradle
+++ b/modules/file-io/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/index/build.gradle b/modules/index/build.gradle
index 6ba0421ee2..8136cffa86 100644
--- a/modules/index/build.gradle
+++ b/modules/index/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/jacoco-report/build.gradle 
b/modules/jacoco-report/build.gradle
index 78be31ff78..5613ad147c 100644
--- a/modules/jacoco-report/build.gradle
+++ b/modules/jacoco-report/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/marshaller-common/build.gradle 
b/modules/marshaller-common/build.gradle
index 5ccc4abdad..07b9a59055 100644
--- a/modules/marshaller-common/build.gradle
+++ b/modules/marshaller-common/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 description = 'ignite-marshaller-common'
diff --git a/modules/metastorage-client/build.gradle 
b/modules/metastorage-client/build.gradle
index 710084a00a..954b719eb8 100644
--- a/modules/metastorage-client/build.gradle
+++ b/modules/metastorage-client/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/java-integration-test.gradle"
 
 dependencies {
     implementation project(':ignite-raft-client')
@@ -24,6 +25,7 @@ dependencies {
     implementation project(':ignite-metastorage-common')
     implementation libs.jetbrains.annotations
     implementation libs.fastutil.core
+
     testImplementation project(':ignite-raft')
     testImplementation project(':ignite-network')
     testImplementation project(':ignite-network')
@@ -35,6 +37,17 @@ dependencies {
     testImplementation libs.hamcrest.core
     testImplementation libs.classgraph
     testImplementation libs.slf4j.jdk14
+
+    integrationTestImplementation(testFixtures(project(':ignite-core')))
+    integrationTestImplementation(testFixtures(project(':ignite-raft')))
+    integrationTestImplementation(testFixtures(project(':ignite-network')))
+    integrationTestImplementation project(':ignite-metastorage-server')
+    integrationTestImplementation project(':ignite-api')
+    integrationTestImplementation project(':ignite-raft')
+    integrationTestImplementation libs.mockito.junit
+    integrationTestImplementation libs.hamcrest.core
+    integrationTestImplementation libs.classgraph
+    integrationTestImplementation libs.slf4j.jdk14
 }
 
 description = 'ignite-metastorage-client'
diff --git a/modules/metastorage-common/build.gradle 
b/modules/metastorage-common/build.gradle
index 7b07bc1b30..25d3021cb1 100644
--- a/modules/metastorage-common/build.gradle
+++ b/modules/metastorage-common/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/metastorage-server/build.gradle 
b/modules/metastorage-server/build.gradle
index 9dd5a75fad..74e8b15c19 100644
--- a/modules/metastorage-server/build.gradle
+++ b/modules/metastorage-server/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 
diff --git a/modules/metastorage/build.gradle b/modules/metastorage/build.gradle
index 6f27d88bf4..4900a68baf 100644
--- a/modules/metastorage/build.gradle
+++ b/modules/metastorage/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/metrics/build.gradle b/modules/metrics/build.gradle
index b89b8941e4..d1f08e7b80 100644
--- a/modules/metrics/build.gradle
+++ b/modules/metrics/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/java-integration-test.gradle"
 
 dependencies {
     implementation project(':ignite-core')
@@ -25,4 +26,4 @@ dependencies {
     testImplementation libs.hamcrest.core
 }
 
-description = 'ignite-metrics'
\ No newline at end of file
+description = 'ignite-metrics'
diff --git a/modules/network-annotation-processor/build.gradle 
b/modules/network-annotation-processor/build.gradle
index 40cb8071e6..46254956ee 100644
--- a/modules/network-annotation-processor/build.gradle
+++ b/modules/network-annotation-processor/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/network-api/build.gradle b/modules/network-api/build.gradle
index 1c83f57066..eb88e6bc3e 100644
--- a/modules/network-api/build.gradle
+++ b/modules/network-api/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/network/build.gradle b/modules/network/build.gradle
index 2d1ec372dd..257d7199b8 100644
--- a/modules/network/build.gradle
+++ b/modules/network/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 apply from: "$rootDir/buildscripts/java-integration-test.gradle"
diff --git a/modules/page-memory/build.gradle b/modules/page-memory/build.gradle
index a4a2261379..ce8c0c2bf2 100644
--- a/modules/page-memory/build.gradle
+++ b/modules/page-memory/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/java-integration-test.gradle"
 
 dependencies {
     implementation project(':ignite-api')
@@ -33,6 +34,9 @@ dependencies {
     testImplementation(testFixtures(project(':ignite-configuration')))
     testImplementation libs.mockito.core
     testImplementation libs.hamcrest.core
+
+    integrationTestImplementation(testFixtures(project(':ignite-core')))
+    
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
 }
 
 description = 'ignite-page-memory'
diff --git a/modules/platforms/build.gradle b/modules/platforms/build.gradle
index b89ec7297e..6a5e555cf2 100644
--- a/modules/platforms/build.gradle
+++ b/modules/platforms/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git a/modules/raft-client/build.gradle b/modules/raft-client/build.gradle
index c210042f1e..4a507fba33 100644
--- a/modules/raft-client/build.gradle
+++ b/modules/raft-client/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,9 +15,11 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
+description = 'ignite-raft-client'
+
 dependencies {
     implementation project(':ignite-core')
     implementation project(':ignite-network-api')
@@ -26,4 +28,6 @@ dependencies {
     testImplementation libs.mockito.core
 }
 
-description = 'ignite-raft-client'
+checkstyleMain {
+    enabled = false
+}
diff --git a/modules/raft/build.gradle b/modules/raft/build.gradle
index dfa3f97e49..8f38119578 100644
--- a/modules/raft/build.gradle
+++ b/modules/raft/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 apply from: "$rootDir/buildscripts/java-integration-test.gradle"
@@ -52,8 +52,12 @@ dependencies {
     testFixturesImplementation project(':ignite-core')
     testFixturesImplementation project(':ignite-network')
     testFixturesImplementation project(':ignite-raft-client')
+    testFixturesImplementation(testFixtures(project(':ignite-core')))
+    testFixturesImplementation(testFixtures(project(':ignite-network')))
     testFixturesImplementation libs.mockito.core
     testFixturesImplementation libs.junit5.api
+    testFixturesImplementation libs.junit5.params
+    testFixturesImplementation libs.jetbrains.annotations
 
     integrationTestImplementation(testFixtures(project(':ignite-core')))
     integrationTestImplementation(testFixtures(project(':ignite-network')))
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/internal/raft/server/impl/RaftServerImpl.java
 
b/modules/raft/src/testFixtures/java/org/apache/ignite/internal/raft/server/impl/RaftServerImpl.java
similarity index 100%
rename from 
modules/raft/src/test/java/org/apache/ignite/internal/raft/server/impl/RaftServerImpl.java
rename to 
modules/raft/src/testFixtures/java/org/apache/ignite/internal/raft/server/impl/RaftServerImpl.java
diff --git 
a/modules/raft/src/integrationTest/java/org/apache/ignite/raft/client/service/ItAbstractListenerSnapshotTest.java
 
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/client/service/ItAbstractListenerSnapshotTest.java
similarity index 100%
rename from 
modules/raft/src/integrationTest/java/org/apache/ignite/raft/client/service/ItAbstractListenerSnapshotTest.java
rename to 
modules/raft/src/testFixtures/java/org/apache/ignite/raft/client/service/ItAbstractListenerSnapshotTest.java
diff --git a/modules/rest-api/build.gradle b/modules/rest-api/build.gradle
index 67877b338d..d6f9b949a7 100644
--- a/modules/rest-api/build.gradle
+++ b/modules/rest-api/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
@@ -24,6 +24,7 @@ dependencies {
     implementation project(':ignite-core')
     implementation project(':ignite-configuration-api')
     implementation libs.jetbrains.annotations
+    implementation libs.jsr305
     implementation libs.jackson.annotations
     implementation libs.jackson.databind
     implementation libs.jakarta.annotations
diff --git a/modules/rest/build.gradle b/modules/rest/build.gradle
index 740cfd7833..abd7235546 100644
--- a/modules/rest/build.gradle
+++ b/modules/rest/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 description = 'ignite-rest'
diff --git a/modules/rocksdb-common/build.gradle 
b/modules/rocksdb-common/build.gradle
index 28947c2c01..7789efbc72 100644
--- a/modules/rocksdb-common/build.gradle
+++ b/modules/rocksdb-common/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/runner/build.gradle b/modules/runner/build.gradle
index 0ca1598a60..1154be5186 100644
--- a/modules/runner/build.gradle
+++ b/modules/runner/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,10 +15,12 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-integration-test.gradle"
 
+description = 'ignite-runner'
+
 dependencies {
     annotationProcessor project(':ignite-configuration-annotation-processor')
     annotationProcessor libs.micronaut.inject.annotation.processor
@@ -91,4 +93,6 @@ dependencies {
 
 }
 
-description = 'ignite-runner'
+checkstyleMain {
+    enabled = false
+}
diff --git a/modules/schema/build.gradle b/modules/schema/build.gradle
index c60dc06b59..2772655874 100644
--- a/modules/schema/build.gradle
+++ b/modules/schema/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 
diff --git a/modules/sql-engine/build.gradle b/modules/sql-engine/build.gradle
index 6555ea514c..cef4ef5bf6 100644
--- a/modules/sql-engine/build.gradle
+++ b/modules/sql-engine/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,29 +15,12 @@
  * limitations under the License.
  */
 
-
-import fmpp.setting.Settings
-
-buildscript {
-    dependencies {
-        classpath group: 'net.sourceforge.fmpp', name: 'fmpp', version: 
'0.9.16'
-    }
-}
-
-plugins {
-    alias(libs.plugins.javacc)
-    id 'idea'
-}
-
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/sql-parser-generator.gradle"
 
 description = 'ignite-sql-engine'
 
-configurations {
-    calcite
-}
-
 dependencies {
     implementation project(':ignite-core')
     implementation project(':ignite-api')
@@ -87,52 +70,4 @@ dependencies {
     testImplementation libs.mockito.inline
     testImplementation libs.hamcrest.core
     testImplementation libs.slf4j.jdk14
-
-    calcite(libs.calcite.core)
 }
-
-task copyFmppResources(type: Copy) {
-    from("$rootDir/modules/sql-engine/src/main/codegen")
-    into("$buildDir/codegen")
-}
-
-task extractParserTemplate(type: Copy) {
-    from({ zipTree(configurations.calcite.files[0]) }) {
-        include 'codegen/templates/Parser.jj'
-    }
-    into("${buildDir}")
-}
-
-task generateFmppSources() {
-    doLast {
-        Settings settings = new Settings(temporaryDir)
-        settings.set("sourceRoot", 
file("${buildDir}/codegen/templates").absolutePath)
-        settings.set("outputRoot", 
file("$buildDir/generated-sources/fmpp").absolutePath)
-
-        settings.load(file("${buildDir}/codegen/config.fmpp"))
-        settings.execute()
-    }
-}
-
-
-javacc {
-    configs {
-        template {
-            inputFile = 
file("${buildDir}/generated-sources/fmpp/javacc/Parser.jj")
-            outputDir = file("${buildDir}/generated-sources/javacc")
-            packageName = 
'org.apache.ignite.internal.generated.query.calcite.sql'
-            lookahead = 2
-            staticParam = false
-        }
-    }
-}
-
-extractParserTemplate.dependsOn copyFmppResources
-generateFmppSources.dependsOn extractParserTemplate
-javaccTemplate.dependsOn generateFmppSources
-compileJava.dependsOn javaccTemplate
-
-idea.module {
-    sourceDirs += file("${buildDir}/generated-sources/javacc")
-}
-
diff --git a/modules/storage-api/build.gradle b/modules/storage-api/build.gradle
index 94c51ca612..02e0cc71e6 100644
--- a/modules/storage-api/build.gradle
+++ b/modules/storage-api/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 
diff --git a/modules/storage-page-memory/build.gradle 
b/modules/storage-page-memory/build.gradle
index 5947f04660..552f18061c 100644
--- a/modules/storage-page-memory/build.gradle
+++ b/modules/storage-page-memory/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexRow.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexRow.java
index c8183d28da..71349fe524 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexRow.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexRow.java
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexRowKey.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexRowKey.java
index e0e43996f3..efecee91e5 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexRowKey.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexRowKey.java
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexTree.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexTree.java
index a7c62da3d4..d03afdffd5 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexTree.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/SortedIndexTree.java
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeInnerIo.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeInnerIo.java
index 30c6ac0c2f..73a8f41849 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeInnerIo.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeInnerIo.java
@@ -4,7 +4,7 @@
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeIo.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeIo.java
index 9fb9437429..c912aa23d1 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeIo.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeIo.java
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeLeafIo.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeLeafIo.java
index efc7f65635..87a8bce44d 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeLeafIo.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeLeafIo.java
@@ -4,7 +4,7 @@
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeMetaIo.java
 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeMetaIo.java
index 0a776cd7f4..17a244191f 100644
--- 
a/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeMetaIo.java
+++ 
b/modules/storage-page-memory/src/main/java/org/apache/ignite/internal/storage/pagememory/index/sorted/io/SortedIndexTreeMetaIo.java
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
diff --git a/modules/storage-rocksdb/build.gradle 
b/modules/storage-rocksdb/build.gradle
index 1939de8b21..13598345fc 100644
--- a/modules/storage-rocksdb/build.gradle
+++ b/modules/storage-rocksdb/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/table/build.gradle b/modules/table/build.gradle
index f46cadb7ed..30b96dbdbd 100644
--- a/modules/table/build.gradle
+++ b/modules/table/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/java-integration-test.gradle"
 
 dependencies {
     annotationProcessor project(':ignite-configuration-annotation-processor')
@@ -61,6 +62,11 @@ dependencies {
     testImplementation libs.slf4j.jdk14
     testImplementation libs.jmh.core
     testImplementation libs.javax.annotations
+
+    integrationTestImplementation(testFixtures(project(':ignite-core')))
+    integrationTestImplementation(testFixtures(project(':ignite-network')))
+    integrationTestImplementation(testFixtures(project(':ignite-raft')))
+    integrationTestImplementation(testFixtures(project(':ignite-storage-api')))
 }
 
 description = 'ignite-table'
diff --git a/modules/transactions/build.gradle 
b/modules/transactions/build.gradle
index 6234f09fc5..f1a43c9711 100644
--- a/modules/transactions/build.gradle
+++ b/modules/transactions/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 
 dependencies {
diff --git a/modules/vault/build.gradle b/modules/vault/build.gradle
index 7f6c8d5689..aefa811b9e 100644
--- a/modules/vault/build.gradle
+++ b/modules/vault/build.gradle
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-apply from: "$rootDir/buildscripts/java-library.gradle"
+apply from: "$rootDir/buildscripts/java-core.gradle"
 apply from: "$rootDir/buildscripts/java-junit5.gradle"
 apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
 apply from: "$rootDir/buildscripts/java-integration-test.gradle"
diff --git a/parent/pom.xml b/parent/pom.xml
index 12a007a289..014fd03e18 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -146,6 +146,8 @@
             -Dio.netty.tryReflectionSetAccessible=true
             
-Djava.util.logging.config.file=../../config/java.util.logging.properties
         </common.test.argLine>
+
+        
<checkstyle.header.file>${root.directory}/check-rules/LICENSE.txt</checkstyle.header.file>
     </properties>
 
     <distributionManagement>
@@ -1528,7 +1530,6 @@
                     
<outputFile>${project.build.directory}/checkstyle.xml</outputFile>
                     
<configLocation>${project.basedir}/check-rules/checkstyle-rules.xml</configLocation>
                     
<suppressionsLocation>${project.basedir}/check-rules/checkstyle-suppressions.xml</suppressionsLocation>
-                    
<includeTestSourceDirectory>true</includeTestSourceDirectory>
                     
<excludes>com/facebook/presto/bytecode/**/*,org/apache/ignite/raft/jraft/**/*</excludes>
                     <linkXRef>false</linkXRef>
 

Reply via email to