1
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2
+ <project xmlns =" http://maven.apache.org/POM/4.0.0"
3
+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi : schemaLocation =" http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" >
5
+ <modelVersion >4.0.0</modelVersion >
6
+ <groupId >com.datastax.astra</groupId >
7
+ <artifactId >astra-db-java</artifactId >
8
+ <name >Java Client Library for Data API</name >
9
+ <version >1.0.0-SNAPSHOT</version >
10
+ <description >Implementation of a client to the Astra/Stargate Data API written in Java</description >
11
+ <url >https://github.com/datastax/astra-db-java</url >
12
+ <inceptionYear >2024</inceptionYear >
13
+
14
+ <properties >
15
+ <project .build.sourceEncoding>UTF-8</project .build.sourceEncoding>
16
+
17
+ <!-- Sonar -->
18
+ <sonar .organization>clun-datastax</sonar .organization>
19
+ <sonar .host.url>https://sonarcloud.io</sonar .host.url>
20
+
21
+ <!-- Third Party Libraries -->
22
+ <devops-sdk .version>1.2.7</devops-sdk .version>
23
+ <slf4j .version>2.0.9</slf4j .version>
24
+ <logback .version>1.5.0</logback .version>
25
+ <jackson .version>2.16.2</jackson .version>
26
+ <lombok .version>1.18.32</lombok .version>
27
+ <retry4j .version>0.15.0</retry4j .version>
28
+ <uuid-generator .version>5.0.0</uuid-generator .version>
29
+
30
+ <!-- Test -->
31
+ <test .skipped>false</test .skipped>
32
+ <assertj .version>3.25.3</assertj .version>
33
+ <junit-jupiter .version>5.10.2</junit-jupiter .version>
34
+
35
+ <!-- Maven -->
36
+ <maven .plugin.compiler.source>11</maven .plugin.compiler.source>
37
+ <maven .plugin.compiler.target>11</maven .plugin.compiler.target>
38
+ <version .maven.plugin.compiler>3.11.0</version .maven.plugin.compiler>
39
+ <version .maven.plugin.coveralls>4.3.0</version .maven.plugin.coveralls>
40
+ <version .maven.plugin.dependency>3.6.0</version .maven.plugin.dependency>
41
+ <version .maven.plugin.gpg>3.1.0</version .maven.plugin.gpg>
42
+ <version .maven.plugin.jacoco>0.8.11</version .maven.plugin.jacoco>
43
+ <version .maven.plugin.javadoc>3.5.0</version .maven.plugin.javadoc>
44
+ <version .maven.plugin.jar>3.3.0</version .maven.plugin.jar>
45
+ <version .maven.plugin.license>2.3.0</version .maven.plugin.license>
46
+ <version .maven.plugin.nexus>1.6.13</version .maven.plugin.nexus>
47
+ <version .maven.plugin.release>3.0.1</version .maven.plugin.release>
48
+ <version .maven.plugin.resources>3.3.1</version .maven.plugin.resources>
49
+ <version .maven.plugin.source>3.3.0</version .maven.plugin.source>
50
+ <version .maven.plugin.surefire>3.1.2</version .maven.plugin.surefire>
51
+
52
+ </properties >
53
+
54
+ <dependencies >
55
+
56
+ <!-- Dependency to Devops API -->
57
+ <dependency >
58
+ <groupId >com.datastax.astra</groupId >
59
+ <artifactId >astra-sdk-devops</artifactId >
60
+ <version >${devops-sdk.version} </version >
61
+ </dependency >
62
+
63
+ <!-- UUID Generation -->
64
+ <dependency >
65
+ <groupId >com.fasterxml.uuid</groupId >
66
+ <artifactId >java-uuid-generator</artifactId >
67
+ <version >${uuid-generator.version} </version >
68
+ </dependency >
69
+
70
+ <!-- Core -->
71
+ <dependency >
72
+ <groupId >org.slf4j</groupId >
73
+ <artifactId >slf4j-api</artifactId >
74
+ <version >${slf4j.version} </version >
75
+ </dependency >
76
+ <dependency >
77
+ <groupId >com.evanlennick</groupId >
78
+ <artifactId >retry4j</artifactId >
79
+ <version >${retry4j.version} </version >
80
+ </dependency >
81
+ <dependency >
82
+ <groupId >org.projectlombok</groupId >
83
+ <artifactId >lombok</artifactId >
84
+ <version >${lombok.version} </version >
85
+ </dependency >
86
+
87
+ <!-- Working with JSON -->
88
+ <dependency >
89
+ <groupId >com.fasterxml.jackson</groupId >
90
+ <artifactId >jackson-bom</artifactId >
91
+ <version >${jackson.version} </version >
92
+ <scope >runtime</scope >
93
+ <type >pom</type >
94
+ </dependency >
95
+ <dependency >
96
+ <groupId >com.fasterxml.jackson.core</groupId >
97
+ <artifactId >jackson-core</artifactId >
98
+ <version >${jackson.version} </version >
99
+ </dependency >
100
+ <dependency >
101
+ <groupId >com.fasterxml.jackson.core</groupId >
102
+ <artifactId >jackson-annotations</artifactId >
103
+ <version >${jackson.version} </version >
104
+ </dependency >
105
+ <dependency >
106
+ <groupId >com.fasterxml.jackson.core</groupId >
107
+ <artifactId >jackson-databind</artifactId >
108
+ <version >${jackson.version} </version >
109
+ </dependency >
110
+ <dependency >
111
+ <groupId >com.fasterxml.jackson.datatype</groupId >
112
+ <artifactId >jackson-datatype-jsr310</artifactId >
113
+ <version >${jackson.version} </version >
114
+ </dependency >
115
+
116
+ <!-- TEST -->
117
+ <dependency >
118
+ <groupId >org.junit.jupiter</groupId >
119
+ <artifactId >junit-jupiter-engine</artifactId >
120
+ <version >${junit-jupiter.version} </version >
121
+ <scope >test</scope >
122
+ </dependency >
123
+ <dependency >
124
+ <groupId >ch.qos.logback</groupId >
125
+ <artifactId >logback-classic</artifactId >
126
+ <version >${logback.version} </version >
127
+ <scope >test</scope >
128
+ </dependency >
129
+ <dependency >
130
+ <groupId >org.assertj</groupId >
131
+ <artifactId >assertj-core</artifactId >
132
+ <version >${assertj.version} </version >
133
+ <scope >test</scope >
134
+ </dependency >
135
+
136
+ </dependencies >
137
+
138
+ <!-- Client is JDK11+ -->
139
+ <build >
140
+ <plugins >
141
+
142
+ <plugin >
143
+ <groupId >org.sonatype.plugins</groupId >
144
+ <artifactId >nexus-staging-maven-plugin</artifactId >
145
+ <version >${version.maven.plugin.nexus} </version >
146
+ <extensions >true</extensions >
147
+ <configuration >
148
+ <serverId >ossrh</serverId >
149
+ <nexusUrl >https://oss.sonatype.org/</nexusUrl >
150
+ <autoReleaseAfterClose >false</autoReleaseAfterClose >
151
+ <skipLocalStaging >true</skipLocalStaging >
152
+ </configuration >
153
+ </plugin >
154
+
155
+ <plugin >
156
+ <groupId >org.apache.maven.plugins</groupId >
157
+ <artifactId >maven-gpg-plugin</artifactId >
158
+ <version >${version.maven.plugin.gpg} </version >
159
+ </plugin >
160
+
161
+ <plugin >
162
+ <groupId >org.apache.maven.plugins</groupId >
163
+ <artifactId >maven-source-plugin</artifactId >
164
+ <version >${version.maven.plugin.source} </version >
165
+ <executions >
166
+ <execution >
167
+ <id >attach-sources</id >
168
+ <goals >
169
+ <goal >jar-no-fork</goal >
170
+ </goals >
171
+ </execution >
172
+ </executions >
173
+ </plugin >
174
+
175
+ <plugin >
176
+ <groupId >org.apache.maven.plugins</groupId >
177
+ <artifactId >maven-release-plugin</artifactId >
178
+ <version >${version.maven.plugin.release} </version >
179
+ <configuration >
180
+ <tagNameFormat >@{project.version}</tagNameFormat >
181
+ <autoVersionSubmodules >true</autoVersionSubmodules >
182
+ <useReleaseProfile >false</useReleaseProfile >
183
+ <releaseProfiles >release</releaseProfiles >
184
+ <goals >deploy</goals >
185
+ </configuration >
186
+ </plugin >
187
+
188
+ <plugin >
189
+ <groupId >org.apache.maven.plugins</groupId >
190
+ <artifactId >maven-compiler-plugin</artifactId >
191
+ <version >${version.maven.plugin.compiler} </version >
192
+ <configuration >
193
+ <source >${maven.plugin.compiler.source} </source >
194
+ <target >${maven.plugin.compiler.target} </target >
195
+ <showWarnings >false</showWarnings >
196
+ </configuration >
197
+ </plugin >
198
+
199
+ <plugin >
200
+ <groupId >org.apache.maven.plugins</groupId >
201
+ <artifactId >maven-surefire-plugin</artifactId >
202
+ <version >${version.maven.plugin.surefire} </version >
203
+ <configuration >
204
+ <skipTests >${test.skipped} </skipTests >
205
+ </configuration >
206
+ <dependencies >
207
+ <dependency >
208
+ <groupId >org.junit.jupiter</groupId >
209
+ <artifactId >junit-jupiter-engine</artifactId >
210
+ <version >${junit-jupiter.version} </version >
211
+ </dependency >
212
+ </dependencies >
213
+ </plugin >
214
+
215
+ <plugin >
216
+ <groupId >org.apache.maven.plugins</groupId >
217
+ <artifactId >maven-javadoc-plugin</artifactId >
218
+ <version >${version.maven.plugin.javadoc} </version >
219
+ <executions >
220
+ <execution >
221
+ <id >attach-javadocs</id >
222
+ <goals >
223
+ <goal >jar</goal >
224
+ </goals >
225
+ </execution >
226
+ </executions >
227
+ <configuration >
228
+ <source >${maven.plugin.compiler.source} </source >
229
+ <overview >${basedir} /src/main/java/overview.html</overview >
230
+ </configuration >
231
+ </plugin >
232
+
233
+ <plugin >
234
+ <groupId >org.apache.maven.plugins</groupId >
235
+ <artifactId >maven-dependency-plugin</artifactId >
236
+ <version >${version.maven.plugin.dependency} </version >
237
+ </plugin >
238
+
239
+ <plugin >
240
+ <groupId >org.apache.maven.plugins</groupId >
241
+ <artifactId >maven-jar-plugin</artifactId >
242
+ <version >${version.maven.plugin.jar} </version >
243
+ <configuration >
244
+ <archive >
245
+ <manifest >
246
+ <addDefaultImplementationEntries >true</addDefaultImplementationEntries >
247
+ <addDefaultSpecificationEntries >true</addDefaultSpecificationEntries >
248
+ </manifest >
249
+ </archive >
250
+ </configuration >
251
+ </plugin >
252
+
253
+ <plugin >
254
+ <groupId >org.apache.maven.plugins</groupId >
255
+ <artifactId >maven-resources-plugin</artifactId >
256
+ <version >${version.maven.plugin.resources} </version >
257
+ <configuration >
258
+ <escapeString >\</escapeString >
259
+ <encoding >UTF-8</encoding >
260
+ </configuration >
261
+ </plugin >
262
+ <plugin >
263
+ <groupId >org.codehaus.mojo</groupId >
264
+ <artifactId >license-maven-plugin</artifactId >
265
+ <version >${version.maven.plugin.license} </version >
266
+ <configuration >
267
+ <verbose >false</verbose >
268
+ <extraExtensions >
269
+ <myProprietaryExtension >java</myProprietaryExtension >
270
+ </extraExtensions >
271
+ </configuration >
272
+ <executions >
273
+ <execution >
274
+ <id >add-license</id >
275
+ <goals >
276
+ <goal >update-file-header</goal >
277
+ </goals >
278
+ <phase >process-sources</phase >
279
+ <configuration >
280
+ <projectName >Data API Java Client</projectName >
281
+ <organizationName >DataStax</organizationName >
282
+ <licenseName >apache2</licenseName >
283
+ <licenseResolver >${project.baseUri} /src/license</licenseResolver >
284
+ <addJavaLicenseAfterPackage >true</addJavaLicenseAfterPackage >
285
+ <sectionDelimiter >--</sectionDelimiter >
286
+ <roots >
287
+ <root >src/main/java</root >
288
+ </roots >
289
+ </configuration >
290
+ </execution >
291
+ </executions >
292
+ </plugin >
293
+
294
+ </plugins >
295
+ </build >
296
+
297
+ <repositories >
298
+ <repository >
299
+ <id >jitpack.io</id >
300
+ <url >https://jitpack.io</url >
301
+ </repository >
302
+ </repositories >
303
+
304
+ <distributionManagement >
305
+ <repository >
306
+ <id >ossrh</id >
307
+ <url >https://oss.sonatype.org/service/local/staging/deploy/maven2/</url >
308
+ </repository >
309
+ </distributionManagement >
310
+
311
+ <scm >
312
+ <
connection >scm:git:
[email protected] :datastax/astra-db-java.git</
connection >
313
+ <
developerConnection >scm:git:
[email protected] :datastax/astra-db-java.git</
developerConnection >
314
+ <url >https://github.com/datastax/astra-db-java</url >
315
+ <tag >1.2.6</tag >
316
+ </scm >
317
+
318
+ <developers >
319
+ <developer >
320
+ <id >clunven</id >
321
+ <name >Cedrick Lunven</name >
322
+
323
+ <url >https://github.com/clun</url >
324
+ </developer >
325
+ </developers >
326
+
327
+ <profiles >
328
+ <profile >
329
+ <id >release</id >
330
+ <build >
331
+ <plugins >
332
+ <plugin >
333
+ <groupId >org.apache.maven.plugins</groupId >
334
+ <artifactId >maven-gpg-plugin</artifactId >
335
+ <executions >
336
+ <execution >
337
+ <id >sign-artifacts</id >
338
+ <phase >verify</phase >
339
+ <goals >
340
+ <goal >sign</goal >
341
+ </goals >
342
+ </execution >
343
+ </executions >
344
+ </plugin >
345
+ </plugins >
346
+ </build >
347
+ </profile >
348
+ </profiles >
349
+
350
+ <!-- Organization -->
351
+ <organization >
352
+ <name >DataStax</name >
353
+ <url >https://www.datastax.com</url >
354
+ </organization >
355
+
356
+ <!-- Release the client with Apache License -->
357
+ <licenses >
358
+ <license >
359
+ <name >Apache-2.0</name >
360
+ <url >https://www.apache.org/licenses/LICENSE-2.0.txt</url >
361
+ <distribution >repo</distribution >
362
+ <comments >A business-friendly OSS license</comments >
363
+ </license >
364
+ </licenses >
365
+
366
+ </project >
0 commit comments