IGNITE-13987: Improve dependencies management. (#25)
diff --git a/modules/cli-common/pom.xml b/modules/cli-common/pom.xml
index 06a5351..e932309 100644
--- a/modules/cli-common/pom.xml
+++ b/modules/cli-common/pom.xml
@@ -26,7 +26,7 @@
<groupId>org.apache.ignite</groupId>
<artifactId>apache-ignite</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../..</relativePath>
+ <relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>ignite-cli-common</artifactId>
diff --git a/modules/cli/pom.xml b/modules/cli/pom.xml
index e79a94f..42a8f9d 100644
--- a/modules/cli/pom.xml
+++ b/modules/cli/pom.xml
@@ -28,86 +28,82 @@
<groupId>org.apache.ignite</groupId>
<artifactId>apache-ignite</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../..</relativePath>
+ <relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>ignite-cli</artifactId>
- <properties>
- <micronaut.version>2.1.2</micronaut.version>
- <picocli.version>4.5.2</picocli.version>
- </properties>
-
<dependencies>
<dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-classic</artifactId>
- <version>1.2.3</version>
- </dependency>
- <dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.11.1</version>
- </dependency>
- <dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-cli-common</artifactId>
<version>${project.version}</version>
</dependency>
+
+ <!-- 3-rd party dependencies. -->
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.apache.ivy</groupId>
<artifactId>ivy</artifactId>
- <version>2.5.0</version>
</dependency>
+
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli-shell-jline3</artifactId>
- <version>${picocli.version}</version>
- </dependency>
- <dependency>
- <groupId>org.fusesource.jansi</groupId>
- <artifactId>jansi</artifactId>
- <version>1.18</version>
- </dependency>
- <dependency>
- <groupId>info.picocli</groupId>
- <artifactId>picocli</artifactId>
- <version>${picocli.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jetbrains</groupId>
- <artifactId>annotations</artifactId>
- <version>16.0.3</version>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <version>5.7.0</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-junit-jupiter</artifactId>
- <version>3.3.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>io.micronaut.test</groupId>
- <artifactId>micronaut-test-junit5</artifactId>
- <version>2.3.1</version>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-inject-java</artifactId>
- <version>${micronaut.version}</version>
</dependency>
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
- <version>1.4.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.fusesource.jansi</groupId>
+ <artifactId>jansi</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>info.picocli</groupId>
+ <artifactId>picocli</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ </dependency>
+
+
+ <!-- Test dependencies. -->
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-junit-jupiter</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>io.micronaut.test</groupId>
+ <artifactId>micronaut-test-junit5</artifactId>
+ <scope>test</scope>
</dependency>
</dependencies>
@@ -118,11 +114,11 @@
<filtering>true</filtering>
</resource>
</resources>
+
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
- <version>3.2.0</version>
<configuration>
<finalName>ignite</finalName>
@@ -151,7 +147,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
<configuration>
<!-- Uncomment to enable incremental compilation -->
<!-- <useIncrementalCompilation>false</useIncrementalCompilation> -->
@@ -188,13 +183,8 @@
</plugin>
<plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.22.2</version>
- </plugin>
-
- <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
- <version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
@@ -248,7 +238,6 @@
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
- <version>0.13</version>
<configuration>
<excludes>
<exclude>**/builtin_modules.conf</exclude>
diff --git a/modules/configuration-annotation-processor/pom.xml b/modules/configuration-annotation-processor/pom.xml
index e01264e..fa93d22 100644
--- a/modules/configuration-annotation-processor/pom.xml
+++ b/modules/configuration-annotation-processor/pom.xml
@@ -28,49 +28,46 @@
<groupId>org.apache.ignite</groupId>
<artifactId>apache-ignite</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../..</relativePath>
+ <relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>ignite-configuration-annotation-processor</artifactId>
<dependencies>
<dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>com.squareup</groupId>
- <artifactId>javapoet</artifactId>
- <version>1.13.0</version>
- </dependency>
-
- <dependency>
<groupId>org.apache.ignite</groupId>
<artifactId>ignite-configuration</artifactId>
<version>${project.version}</version>
</dependency>
+ <!-- 3-rd party dependencies. -->
+ <dependency>
+ <groupId>com.squareup</groupId>
+ <artifactId>javapoet</artifactId>
+ </dependency>
+
+ <!-- Test dependencies. -->
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>3.4.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.testing.compile</groupId>
<artifactId>compile-testing</artifactId>
- <version>0.19</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>fr.inria.gforge.spoon</groupId>
<artifactId>spoon-core</artifactId>
- <version>8.3.0</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -80,7 +77,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
<executions>
<execution>
<id>default-compile</id>
@@ -104,7 +100,6 @@
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
- <version>0.13</version>
<configuration>
<excludes>
<exclude>src/main/resources/META-INF/services/javax.annotation.processing.Processor</exclude>
diff --git a/modules/configuration/pom.xml b/modules/configuration/pom.xml
index 65af22f..543e4c1 100644
--- a/modules/configuration/pom.xml
+++ b/modules/configuration/pom.xml
@@ -28,7 +28,7 @@
<groupId>org.apache.ignite</groupId>
<artifactId>apache-ignite</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../..</relativePath>
+ <relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>ignite-configuration</artifactId>
@@ -37,20 +37,18 @@
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
- <version>2.0.1.Final</version>
</dependency>
+ <!-- Test dependencies. -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.17</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <version>3.4.6</version>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/modules/ignite-runner/pom.xml b/modules/ignite-runner/pom.xml
index f6d068d..e38f83f 100644
--- a/modules/ignite-runner/pom.xml
+++ b/modules/ignite-runner/pom.xml
@@ -28,7 +28,7 @@
<groupId>org.apache.ignite</groupId>
<artifactId>apache-ignite</artifactId>
<version>3.0.0-SNAPSHOT</version>
- <relativePath>../..</relativePath>
+ <relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>ignite-runner</artifactId>
@@ -41,28 +41,26 @@
</dependency>
<dependency>
+ <groupId>org.apache.ignite</groupId>
+ <artifactId>ignite-configuration-annotation-processor</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+
+ <!-- 3rd party dependencies. -->
+ <dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
- <version>2.8.6</version>
</dependency>
<dependency>
<groupId>io.javalin</groupId>
<artifactId>javalin</artifactId>
- <version>3.12.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
- <version>1.7.30</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.ignite</groupId>
- <artifactId>ignite-configuration-annotation-processor</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
</dependency>
</dependencies>
@@ -78,7 +76,6 @@
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
- <version>0.13</version>
<configuration>
<excludes>
<exclude>src/main/resources/bootstrap-config.json</exclude>
diff --git a/pom.xml b/pom.xml
index 61b5716..f807a76 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
- <version>16</version>
+ <version>23</version>
</parent>
<groupId>org.apache.ignite</groupId>
@@ -46,23 +46,46 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.release>11</maven.compiler.release>
+
+ <!-- Dependencies versions. -->
+ <apache.ivy.version>2.5.0</apache.ivy.version>
+ <compile.testing.library.version>0.19</compile.testing.library.version>
+ <gson.version>2.8.6</gson.version>
+ <jackson.databind.version>2.11.1</jackson.databind.version>
+ <jansi.version>1.18</jansi.version>
+ <javalin.version>3.12.0</javalin.version>
+ <javapoet.version>1.13.0</javapoet.version>
+ <javax.annotation.api.version>1.3.2</javax.annotation.api.version>
+ <javax.validation.version>2.0.1.Final</javax.validation.version>
+ <jetbrains.annotations.version>20.1.0</jetbrains.annotations.version>
+ <junit.jupiter.version>5.7.0</junit.jupiter.version>
+ <log4j.version>1.2.17</log4j.version>
+ <logback.version>1.2.3</logback.version>
+ <micronaut.version>2.1.2</micronaut.version>
+ <micronaut.test.junit5.version>2.3.1</micronaut.test.junit5.version>
+ <mockito.framework.version>3.4.6</mockito.framework.version>
+ <mockito.junit.jupiter.version>3.3.3</mockito.junit.jupiter.version>
+ <picocli.version>4.5.2</picocli.version>
+ <slf4j.version>1.7.30</slf4j.version>
+ <spoon.framework.version>8.3.0</spoon.framework.version>
+ <typesafe.version>1.4.1</typesafe.version>
+
+ <!-- Maven plugins. -->
+ <apache.rat.plugin.version>0.13</apache.rat.plugin.version>
+ <launch.mave.plugin.version>1.7.25</launch.mave.plugin.version>
+ <maven.antrun.plugin.version>3.0.0</maven.antrun.plugin.version>
+ <maven.assembly.plugin.version>3.2.0</maven.assembly.plugin.version>
+ <maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
+ <maven.deploy.plugin.version>2.8.2</maven.deploy.plugin.version>
+ <maven.surefire.plugin.version>3.0.0-M4</maven.surefire.plugin.version>
</properties>
- <dependencies>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter-engine</artifactId>
- <version>5.6.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
<modules>
+ <module>modules/cli</module>
+ <module>modules/cli-common</module>
<module>modules/configuration</module>
<module>modules/configuration-annotation-processor</module>
<module>modules/ignite-runner</module>
- <module>modules/cli-common</module>
- <module>modules/cli</module>
</modules>
<distributionManagement>
@@ -73,48 +96,261 @@
</repository>
</distributionManagement>
+ <issueManagement>
+ <system>Jira</system>
+ <url>https://issues.apache.org/jira/projects/IGNITE/issues</url>
+ </issueManagement>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ <version>${jetbrains.annotations.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>${logback.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>${jackson.databind.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.ivy</groupId>
+ <artifactId>ivy</artifactId>
+ <version>${apache.ivy.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>info.picocli</groupId>
+ <artifactId>picocli-shell-jline3</artifactId>
+ <version>${picocli.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.micronaut</groupId>
+ <artifactId>micronaut-inject-java</artifactId>
+ <version>${micronaut.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.typesafe</groupId>
+ <artifactId>config</artifactId>
+ <version>${typesafe.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.fusesource.jansi</groupId>
+ <artifactId>jansi</artifactId>
+ <version>${jansi.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>info.picocli</groupId>
+ <artifactId>picocli</artifactId>
+ <version>${picocli.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.validation</groupId>
+ <artifactId>validation-api</artifactId>
+ <version>${javax.validation.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.squareup</groupId>
+ <artifactId>javapoet</artifactId>
+ <version>${javapoet.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>${gson.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>io.javalin</groupId>
+ <artifactId>javalin</artifactId>
+ <version>${javalin.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+
+ <!-- Test dependencies. -->
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <version>${junit.jupiter.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <version>${junit.jupiter.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito.framework.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-junit-jupiter</artifactId>
+ <version>${mockito.junit.jupiter.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>io.micronaut.test</groupId>
+ <artifactId>micronaut-test-junit5</artifactId>
+ <version>${micronaut.test.junit5.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <version>${log4j.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.testing.compile</groupId>
+ <artifactId>compile-testing</artifactId>
+ <version>${compile.testing.library.version}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>fr.inria.gforge.spoon</groupId>
+ <artifactId>spoon-core</artifactId>
+ <version>${spoon.framework.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
<build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven.compiler.plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${maven.surefire.plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>${apache.rat.plugin.version}</version>
+ <executions>
+ <execution>
+ <id>check-licenses</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <excludes>
+ <exclude>README.md</exclude>
+ <exclude>DEVNOTES.md</exclude>
+ <exclude>docs/assets/images/**</exclude>
+ <exclude>docs/assets/js/anchor.min.js
+ </exclude><!-- Distributed under the MIT license. The original license header is badly formatted. -->
+ </excludes>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>${maven.assembly.plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <version>${maven.antrun.plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>${maven.deploy.plugin.version}</version>
+ </plugin>
+
+ <plugin>
+ <groupId>com.akathist.maven.plugins.launch4j</groupId>
+ <artifactId>launch4j-maven-plugin</artifactId>
+ <version>${launch.mave.plugin.version}</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.1</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
- <version>0.13</version>
- <executions>
- <execution>
- <id>check-licenses</id>
- <phase>validate</phase>
- <goals>
- <goal>check</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <excludes>
- <exclude>README.md</exclude>
- <exclude>DEVNOTES.md</exclude>
- <exclude>docs/assets/images/**</exclude>
- <exclude>docs/assets/js/anchor.min.js</exclude><!-- Distributed under the MIT license. The original license header is badly formatted. -->
- </excludes>
- </configuration>
</plugin>
</plugins>
</build>