Skip to content

Commit e8ccb96

Browse files
committed
build: add bom module
1 parent ce0dd30 commit e8ccb96

File tree

3 files changed

+165
-108
lines changed

3 files changed

+165
-108
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## [Unreleased]
44

5+
### BOM Module
6+
7+
- Add `tarantool-java-sdk-bom` module providing centralized dependency management for all Tarantool Java SDK modules and their dependencies
8+
59
### Testcontainers
610

711
- Remove dependency on `testcontainers-java-tarantool` library

pom.xml

Lines changed: 5 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -286,115 +286,11 @@
286286
<dependencies>
287287
<dependency>
288288
<groupId>io.tarantool</groupId>
289-
<artifactId>tarantool-client</artifactId>
290-
<version>2.0.0-SNAPSHOT</version>
289+
<artifactId>tarantool-java-sdk-bom</artifactId>
290+
<version>${project.version}</version>
291+
<type>pom</type>
292+
<scope>import</scope>
291293
</dependency>
292-
<dependency>
293-
<groupId>io.tarantool</groupId>
294-
<artifactId>tarantool-core</artifactId>
295-
<version>2.0.0-SNAPSHOT</version>
296-
</dependency>
297-
<dependency>
298-
<groupId>io.tarantool</groupId>
299-
<artifactId>tarantool-pooling</artifactId>
300-
<version>2.0.0-SNAPSHOT</version>
301-
</dependency>
302-
<dependency>
303-
<groupId>io.tarantool</groupId>
304-
<artifactId>tarantool-jackson-mapping</artifactId>
305-
<version>2.0.0-SNAPSHOT</version>
306-
</dependency>
307-
<dependency>
308-
<groupId>io.tarantool</groupId>
309-
<artifactId>tarantool-schema</artifactId>
310-
<version>2.0.0-SNAPSHOT</version>
311-
</dependency>
312-
<dependency>
313-
<groupId>io.tarantool</groupId>
314-
<artifactId>tarantool-balancer</artifactId>
315-
<version>2.0.0-SNAPSHOT</version>
316-
</dependency>
317-
<dependency>
318-
<groupId>io.tarantool</groupId>
319-
<artifactId>tarantool-spring-data</artifactId>
320-
<version>2.0.0-SNAPSHOT</version>
321-
</dependency>
322-
<dependency>
323-
<groupId>io.tarantool</groupId>
324-
<artifactId>tarantool-spring-data-core</artifactId>
325-
<version>2.0.0-SNAPSHOT</version>
326-
</dependency>
327-
<dependency>
328-
<groupId>io.tarantool</groupId>
329-
<artifactId>testcontainers</artifactId>
330-
<version>2.0.0-SNAPSHOT</version>
331-
<scope>test</scope>
332-
</dependency>
333-
<dependency>
334-
<groupId>org.msgpack</groupId>
335-
<artifactId>jackson-dataformat-msgpack</artifactId>
336-
<version>${msgpack.version}</version>
337-
</dependency>
338-
<dependency>
339-
<groupId>org.msgpack</groupId>
340-
<artifactId>msgpack-core</artifactId>
341-
<version>${msgpack.version}</version>
342-
</dependency>
343-
<dependency>
344-
<groupId>com.fasterxml.jackson.core</groupId>
345-
<artifactId>jackson-databind</artifactId>
346-
<version>${jackson.version}</version>
347-
</dependency>
348-
<dependency>
349-
<groupId>com.fasterxml.jackson.core</groupId>
350-
<artifactId>jackson-annotations</artifactId>
351-
<version>${jackson.version}</version>
352-
</dependency>
353-
<dependency>
354-
<groupId>org.slf4j</groupId>
355-
<artifactId>slf4j-api</artifactId>
356-
<version>${slf4j.api.version}</version>
357-
</dependency>
358-
359-
<!-- Test dependencies -->
360-
<dependency>
361-
<groupId>ch.qos.logback</groupId>
362-
<artifactId>logback-classic</artifactId>
363-
<!-- 1.4.x only for jdk > 11 -->
364-
<version>1.3.16</version> <!-- 1.4.x only for jdk > 11 -->
365-
<!-- 1.4.x only for jdk > 11 -->
366-
<scope>test</scope>
367-
</dependency>
368-
<dependency>
369-
<groupId>org.junit.jupiter</groupId>
370-
<artifactId>junit-jupiter</artifactId>
371-
<version>5.13.4</version>
372-
<scope>test</scope>
373-
</dependency>
374-
<dependency>
375-
<groupId>org.testcontainers</groupId>
376-
<artifactId>testcontainers-junit-jupiter</artifactId>
377-
<version>${testcontainers.version}</version>
378-
<scope>test</scope>
379-
</dependency>
380-
<dependency>
381-
<groupId>org.apache.commons</groupId>
382-
<artifactId>commons-lang3</artifactId>
383-
<version>3.18.0</version>
384-
</dependency>
385-
<dependency>
386-
<groupId>org.projectlombok</groupId>
387-
<artifactId>lombok</artifactId>
388-
<version>1.18.38</version>
389-
<scope>test</scope>
390-
</dependency>
391-
<dependency>
392-
<groupId>com.google.guava</groupId>
393-
<artifactId>guava</artifactId>
394-
<version>33.4.8-jre</version>
395-
<scope>test</scope>
396-
</dependency>
397-
<!-- End of test dependencies -->
398294
</dependencies>
399295
</dependencyManagement>
400296

@@ -634,5 +530,6 @@
634530
<module>jacoco-coverage-aggregate-report</module>
635531
<module>testcontainers-autogen</module>
636532
<module>documentation</module>
533+
<module>tarantool-java-sdk-bom</module>
637534
</modules>
638535
</project>

tarantool-java-sdk-bom/pom.xml

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<name>tarantool-java-sdk-bom</name>
6+
<description>BOM for tarantool-java-sdk</description>
7+
<url>https://tarantool.io</url>
8+
<packaging>pom</packaging>
9+
10+
<groupId>io.tarantool</groupId>
11+
<artifactId>tarantool-java-sdk-bom</artifactId>
12+
<version>2.0.0-SNAPSHOT</version>
13+
14+
<properties>
15+
<tarantool-java-sdk.version>2.0.0-SNAPSHOT</tarantool-java-sdk.version>
16+
<jackson.version>2.18.4</jackson.version>
17+
<msgpack.version>0.9.10</msgpack.version>
18+
<netty.version>4.2.7.Final</netty.version>
19+
<slf4j.api.version>2.0.17</slf4j.api.version>
20+
<testcontainers.version>2.0.1</testcontainers.version>
21+
<logback.version>1.3.16</logback.version>
22+
<junit-jupiter.version>5.13.4</junit-jupiter.version>
23+
<commons-lang3.version>3.18.0</commons-lang3.version>
24+
<lombok.version>1.18.38</lombok.version>
25+
<guava.version>33.4.8-jre</guava.version>
26+
</properties>
27+
28+
<dependencyManagement>
29+
<dependencies>
30+
<!-- Tarantool Java SDK modules -->
31+
<dependency>
32+
<groupId>io.tarantool</groupId>
33+
<artifactId>tarantool-client</artifactId>
34+
<version>${tarantool-java-sdk.version}</version>
35+
</dependency>
36+
<dependency>
37+
<groupId>io.tarantool</groupId>
38+
<artifactId>tarantool-core</artifactId>
39+
<version>${tarantool-java-sdk.version}</version>
40+
</dependency>
41+
<dependency>
42+
<groupId>io.tarantool</groupId>
43+
<artifactId>tarantool-pooling</artifactId>
44+
<version>${tarantool-java-sdk.version}</version>
45+
</dependency>
46+
<dependency>
47+
<groupId>io.tarantool</groupId>
48+
<artifactId>tarantool-jackson-mapping</artifactId>
49+
<version>${tarantool-java-sdk.version}</version>
50+
</dependency>
51+
<dependency>
52+
<groupId>io.tarantool</groupId>
53+
<artifactId>tarantool-schema</artifactId>
54+
<version>${tarantool-java-sdk.version}</version>
55+
</dependency>
56+
<dependency>
57+
<groupId>io.tarantool</groupId>
58+
<artifactId>tarantool-balancer</artifactId>
59+
<version>${tarantool-java-sdk.version}</version>
60+
</dependency>
61+
<dependency>
62+
<groupId>io.tarantool</groupId>
63+
<artifactId>tarantool-spring-data</artifactId>
64+
<version>${tarantool-java-sdk.version}</version>
65+
</dependency>
66+
<dependency>
67+
<groupId>io.tarantool</groupId>
68+
<artifactId>tarantool-spring-data-core</artifactId>
69+
<version>${tarantool-java-sdk.version}</version>
70+
</dependency>
71+
<dependency>
72+
<groupId>io.tarantool</groupId>
73+
<artifactId>testcontainers</artifactId>
74+
<version>${tarantool-java-sdk.version}</version>
75+
<scope>test</scope>
76+
</dependency>
77+
78+
<!-- Third-party runtime -->
79+
<dependency>
80+
<groupId>org.msgpack</groupId>
81+
<artifactId>jackson-dataformat-msgpack</artifactId>
82+
<version>${msgpack.version}</version>
83+
</dependency>
84+
<dependency>
85+
<groupId>org.msgpack</groupId>
86+
<artifactId>msgpack-core</artifactId>
87+
<version>${msgpack.version}</version>
88+
</dependency>
89+
<dependency>
90+
<groupId>com.fasterxml.jackson.core</groupId>
91+
<artifactId>jackson-databind</artifactId>
92+
<version>${jackson.version}</version>
93+
</dependency>
94+
<dependency>
95+
<groupId>com.fasterxml.jackson.core</groupId>
96+
<artifactId>jackson-annotations</artifactId>
97+
<version>${jackson.version}</version>
98+
</dependency>
99+
<dependency>
100+
<groupId>org.slf4j</groupId>
101+
<artifactId>slf4j-api</artifactId>
102+
<version>${slf4j.api.version}</version>
103+
</dependency>
104+
<dependency>
105+
<groupId>org.apache.commons</groupId>
106+
<artifactId>commons-lang3</artifactId>
107+
<version>${commons-lang3.version}</version>
108+
</dependency>
109+
110+
<!-- Test dependencies -->
111+
<dependency>
112+
<groupId>ch.qos.logback</groupId>
113+
<artifactId>logback-classic</artifactId>
114+
<version>${logback.version}</version>
115+
<scope>test</scope>
116+
</dependency>
117+
<dependency>
118+
<groupId>org.junit.jupiter</groupId>
119+
<artifactId>junit-jupiter</artifactId>
120+
<version>${junit-jupiter.version}</version>
121+
<scope>test</scope>
122+
</dependency>
123+
<dependency>
124+
<groupId>org.testcontainers</groupId>
125+
<artifactId>testcontainers-junit-jupiter</artifactId>
126+
<version>${testcontainers.version}</version>
127+
<scope>test</scope>
128+
</dependency>
129+
<dependency>
130+
<groupId>org.projectlombok</groupId>
131+
<artifactId>lombok</artifactId>
132+
<version>${lombok.version}</version>
133+
<scope>test</scope>
134+
</dependency>
135+
<dependency>
136+
<groupId>com.google.guava</groupId>
137+
<artifactId>guava</artifactId>
138+
<version>${guava.version}</version>
139+
<scope>test</scope>
140+
</dependency>
141+
</dependencies>
142+
</dependencyManagement>
143+
144+
<build>
145+
<plugins>
146+
<plugin>
147+
<groupId>com.diffplug.spotless</groupId>
148+
<artifactId>spotless-maven-plugin</artifactId>
149+
<version>2.46.1</version>
150+
<configuration>
151+
<skip>true</skip>
152+
</configuration>
153+
</plugin>
154+
</plugins>
155+
</build>
156+
</project>

0 commit comments

Comments
 (0)