ref #4009: remove json-lib from pom and Manifest
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / pom.xml
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"
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4 <parent>
5 <groupId>eu.etaxonomy</groupId>
6 <artifactId>taxeditor-parent</artifactId>
7 <version>5.40.0-SNAPSHOT</version>
8 </parent>
9 <modelVersion>4.0.0</modelVersion>
10 <artifactId>eu.etaxonomy.taxeditor.cdmlib</artifactId>
11 <packaging>eclipse-plugin</packaging>
12 <properties>
13 <jackson.version>2.13.3</jackson.version>
14 <poi.version>4.1.2</poi.version>
15 <hibernate.version>5.4.33.Final</hibernate.version>
16 <hibernate-search.version>5.11.10.Final</hibernate-search.version>
17 <lucene.version>5.5.5</lucene.version>
18 <spring.version>4.3.30.RELEASE</spring.version> <!-- checked 2021-12, further upgrade possible -->
19 <spring-security.version>4.2.20.RELEASE</spring-security.version> <!-- checked 2021-12, further upgrade possible -->
20 <aspectj.version>1.9.7</aspectj.version>
21 </properties>
22 <name>CDM Library Dependencies Plugin</name>
23 <description>CDM Library and dependencies as a plugin</description>
24 <build>
25 <pluginManagement>
26 <plugins>
27 <plugin>
28 <groupId>org.apache.maven.plugins</groupId>
29 <artifactId>maven-surefire-plugin</artifactId>
30 <version>3.0.0-M7</version>
31 </plugin>
32 </plugins>
33 </pluginManagement>
34 <plugins>
35 <plugin>
36 <groupId>org.apache.maven.plugins</groupId>
37 <artifactId>maven-dependency-plugin</artifactId>
38 <version>3.2.0</version>
39 <executions>
40 <execution>
41 <id>copy-dependencies</id>
42 <phase>validate</phase>
43 <goals>
44 <goal>copy-dependencies</goal>
45 </goals>
46 <configuration>
47 <excludeArtifactIds>
48 cdmlib-remote-webapp
49 </excludeArtifactIds>
50 <includeArtifactIds>
51 cdmlib-commons,cdmlib-model,cdmlib-api,cdmlib-persistence,cdmlib-services,cdmlib-cache,cdmlib-ext,cdmlib-io
52 </includeArtifactIds>
53 <outputDirectory>${basedir}/lib</outputDirectory>
54 <overWriteReleases>true</overWriteReleases>
55 <overWriteSnapshots>true</overWriteSnapshots>
56 <excludeTransitive>true</excludeTransitive>
57 </configuration>
58 </execution>
59 <execution>
60 <id>copy-dependency-jars</id>
61 <phase>validate</phase>
62 <goals>
63 <goal>copy-dependencies</goal>
64 </goals>
65 <configuration>
66 <includeArtifactIds>
67 httpclient,JavaAPIforKml,iiif-apis,commons-lang3,commons-lang,commons-text,
68 commons-codec,commons-io,
69 log4j-core,log4j-api,slf4j-api,jboss-logging,jcl-over-slf4j,log4j-slf4j-impl,
70 lucene-analyzers-common,lucene-core,lucene-queryparser,lucene-suggest,lucene-sandbox,
71 commons-imaging,jackson-databind,jackson-annotations,jackson-core,
72 jakarta.validation-api,validation-api,
73 ehcache,
74 hibernate-validator,
75 spring-context,spring-aspects,spring-beans,
76 spring-tx,spring-web,spring-core,spring-aop,
77 spring-jdbc,spring-orm,
78 spring-security-core,
79 aspectjweaver,
80 byte-buddy,
81 hibernate-core,hibernate-envers,hibernate-search-engine,
82 antlr,
83 javax.persistence-api,
84 xml-apis,lsid-client,jdom,
85 commons-collections4,commons-math3,
86 c3p0,mchange-commons-java,
87 opencsv,joda-time,
88 h2,mysql-connector-java,postgresql,
89 junit,hamcrest-core,commons-dbcp,commons-pool,
90 jboss-transaction-api_1.2_spec
91 </includeArtifactIds>
92 <outputDirectory>
93 ${basedir}/lib
94 </outputDirectory>
95 <overWriteReleases>true</overWriteReleases>
96 <overWriteSnapshots>true</overWriteSnapshots>
97 <excludeTransitive>true</excludeTransitive>
98 </configuration>
99 </execution>
100 <execution>
101 <id>copy-dependency-jars-transitive</id>
102 <phase>validate</phase>
103 <goals>
104 <goal>copy-dependencies</goal>
105 </goals>
106 <configuration>
107 <includeArtifactIds>
108 httpclient-cache,httpcore
109 </includeArtifactIds>
110 <outputDirectory>
111 ${basedir}/lib
112 </outputDirectory>
113 <overWriteReleases>true</overWriteReleases>
114 <overWriteSnapshots>true</overWriteSnapshots>
115 <excludeTransitive>false</excludeTransitive>
116 </configuration>
117 </execution>
118 </executions>
119 </plugin>
120 <plugin>
121 <groupId>org.apache.maven.plugins</groupId>
122 <artifactId>maven-antrun-plugin</artifactId>
123 <executions>
124 <execution>
125 <id>update-snapshot-jar-names</id>
126 <phase>validate</phase>
127 <goals>
128 <goal>run</goal>
129 </goals>
130 <configuration>
131 <target>
132 <echo>Update cdmlib jars to SNAPSHOT when build with
133 timestamp
134 </echo>
135 <move todir="./lib">
136 <fileset dir="./lib" />
137 <mapper type="regexp"
138 from="(^cdmlib\-.*\-\d+\.\d+\.\d+\-)[\d.-]+(\.jar)"
139 to="\1SNAPSHOT\2" />
140 </move>
141 <move todir="./lib">
142 <fileset dir="./lib" />
143 <mapper type="regexp"
144 from="(^cdmlib\-.*\-\d+\.\d+\.\d+\-)[\d.-]+(\-sources\.jar)"
145 to="\1SNAPSHOT\2" />
146 </move>
147 </target>
148 </configuration>
149 </execution>
150 <execution>
151 <id>remove-existing-jars</id>
152 <phase>clean</phase>
153 <goals>
154 <goal>run</goal>
155 </goals>
156 <configuration>
157 <target>
158 <echo>Remove all cdmlib jars</echo>
159 <delete>
160 <fileset dir="./lib" includes="cdmlib-*" />
161 </delete>
162 </target>
163 </configuration>
164 </execution>
165 </executions>
166 </plugin>
167 </plugins>
168 </build>
169 <profiles>
170 <profile>
171 <id>copyAllJars</id>
172 <build>
173 <plugins>
174 <plugin>
175 <groupId>org.apache.maven.plugins</groupId>
176 <artifactId>maven-dependency-plugin</artifactId>
177 <version>3.2.0</version>
178 <executions>
179 <execution>
180 <id>copy-all-dependencies</id>
181 <phase>validate</phase>
182 <goals>
183 <goal>copy-dependencies</goal>
184 </goals>
185 <configuration>
186 <excludeArtifactIds>
187 cdmlib-remote-webapp
188 </excludeArtifactIds>
189 <outputDirectory>${basedir}/lib</outputDirectory>
190 <overWriteReleases>true</overWriteReleases>
191 <overWriteSnapshots>true</overWriteSnapshots>
192 <excludeTransitive>true</excludeTransitive>
193 </configuration>
194 </execution>
195 </executions>
196 </plugin>
197 </plugins>
198 </build>
199 </profile>
200 </profiles>
201 <dependencies>
202
203 <!-- direct dependencies (used within this module) -->
204
205 <!-- used e.g. in CdmApplicationRemoteConfiguration -->
206 <dependency>
207 <!-- used e.g. by CdmServiceCacher -->
208 <groupId>eu.etaxonomy</groupId>
209 <artifactId>cdmlib-cache</artifactId>
210 <version>${cdmlib.version}</version>
211 </dependency>
212 <dependency>
213 <!-- used e.g. by CdmApplicationState -->
214 <groupId>eu.etaxonomy</groupId>
215 <artifactId>cdmlib-commons</artifactId>
216 <version>${cdmlib.version}</version>
217 </dependency>
218 <dependency>
219 <!-- used e.g. by CdmChangeEvent -->
220 <groupId>eu.etaxonomy</groupId>
221 <artifactId>cdmlib-model</artifactId>
222 <version>${cdmlib.version}</version>
223 </dependency>
224 <dependency>
225 <groupId>eu.etaxonomy</groupId>
226 <artifactId>cdmlib-io</artifactId>
227 <version>${cdmlib.version}</version>
228 </dependency>
229 <dependency>
230 <groupId>eu.etaxonomy</groupId>
231 <artifactId>cdmlib-ext</artifactId>
232 <version>${cdmlib.version}</version>
233 </dependency>
234 <dependency>
235 <groupId>eu.etaxonomy</groupId>
236 <artifactId>cdmlib-persistence</artifactId>
237 <version>${cdmlib.version}</version>
238 </dependency>
239 <dependency>
240 <groupId>eu.etaxonomy</groupId>
241 <artifactId>cdmlib-services</artifactId>
242 <version>${cdmlib.version}</version>
243 </dependency>
244 <dependency>
245 <groupId>org.springframework</groupId>
246 <!-- used e.g. by CachingHttpInvokerProxyFactoryBean -->
247 <artifactId>spring-aop</artifactId>
248 <version>${spring.version}</version>
249 </dependency>
250 <dependency>
251 <groupId>org.springframework</groupId>
252 <artifactId>spring-beans</artifactId>
253 <version>${spring.version}</version>
254 </dependency>
255 <dependency>
256 <groupId>org.springframework</groupId>
257 <artifactId>spring-context</artifactId>
258 <version>${spring.version}</version>
259 </dependency>
260 <dependency>
261 <groupId>org.springframework</groupId>
262 <artifactId>spring-core</artifactId>
263 <version>${spring.version}</version>
264 </dependency>
265 <dependency>
266 <groupId>org.springframework</groupId>
267 <artifactId>spring-tx</artifactId>
268 <version>${spring.version}</version>
269 </dependency>
270 <dependency>
271 <groupId>org.springframework</groupId>
272 <artifactId>spring-web</artifactId>
273 <version>${spring.version}</version>
274 </dependency>
275 <dependency>
276 <groupId>org.springframework.security</groupId>
277 <artifactId>spring-security-core</artifactId>
278 <version>${spring-security.version}</version>
279 </dependency>
280 <dependency>
281 <!-- used e.g. by CdmLazyLoader -->
282 <groupId>org.hibernate</groupId>
283 <artifactId>hibernate-core</artifactId>
284 <version>${hibernate.version}</version>
285 </dependency>
286 <dependency>
287 <groupId>org.apache.commons</groupId>
288 <artifactId>commons-lang3</artifactId>
289 <version>3.12.0</version>
290 </dependency>
291 <dependency>
292 <!-- used e.g. by CdmServerUtils -->
293 <groupId>commons-io</groupId>
294 <artifactId>commons-io</artifactId>
295 <version>2.11.0</version>
296 </dependency>
297 <dependency>
298 <!-- used e.g. by CdmServerUtils -->
299 <groupId>org.apache.commons</groupId>
300 <artifactId>commons-text</artifactId>
301 <version>1.10.0</version>
302 </dependency>
303 <dependency>
304 <!-- used in AuthenticatingHttpInvokerRequestExecutor -->
305 <groupId>commons-codec</groupId>
306 <artifactId>commons-codec</artifactId>
307 <version>1.15</version>
308 </dependency>
309 <dependency>
310 <!-- CdmServiceCacher -->
311 <groupId>org.apache.logging.log4j</groupId>
312 <artifactId>log4j-core</artifactId>
313 <version>${log4j.version}</version>
314 </dependency>
315 <dependency>
316 <!-- CdmServiceCacher -->
317 <groupId>org.apache.logging.log4j</groupId>
318 <artifactId>log4j-api</artifactId>
319 <version>${log4j.version}</version>
320 </dependency>
321 <dependency>
322 <groupId>org.aspectj</groupId>
323 <!-- used e.g. by CdmLazyLoader -->
324 <artifactId>aspectjweaver</artifactId>
325 <version>${aspectj.version}</version>
326 </dependency>
327 <dependency>
328 <groupId>org.apache.httpcomponents</groupId>
329 <artifactId>httpclient</artifactId>
330 <!-- version defined in parent pom -->
331 </dependency>
332 <dependency>
333 <!-- used e.g. by CdmServerInfo -->
334 <groupId>org.apache.httpcomponents</groupId>
335 <artifactId>httpcore</artifactId>
336 <version>4.4.15</version>
337 </dependency>
338 <!--<dependency>
339
340 <groupId>org.json</groupId>
341 <artifactId>json</artifactId>
342 <version>20220320</version>
343 </dependency>-->
344 <dependency>
345 <!-- used e.g. by CdmServerInfo -->
346 <groupId>com.fasterxml.jackson.core</groupId>
347 <artifactId>jackson-core</artifactId>
348 <version>${jackson.version}</version>
349 </dependency>
350 <dependency>
351 <!-- used e.g. by CdmServerInfo -->
352 <groupId>com.fasterxml.jackson.core</groupId>
353 <artifactId>jackson-databind</artifactId>
354 <version>${jackson.version}</version>
355 </dependency>
356 <dependency>
357 <!-- used e.g. by ICdmEntitySession -->
358 <groupId>net.sf.ehcache</groupId>
359 <artifactId>ehcache</artifactId>
360 <version>2.10.6</version>
361 </dependency>
362 <dependency>
363 <!-- used e.g. by CdmPersistentRemoteSource -->
364 <groupId>org.jdom</groupId>
365 <artifactId>jdom</artifactId>
366 <version>1.1.3</version>
367 </dependency>
368
369 <!-- indirectly used with compile error -->
370 <dependency>
371 <!-- indirectly used e.g. by AbstractPersistentCollection -->
372 <groupId>javax.persistence</groupId>
373 <artifactId>javax.persistence-api</artifactId>
374 <version>2.2</version>
375 </dependency>
376 <dependency>
377 <!-- indirectly used e.g. by AbstractPersistentCollection -->
378 <groupId>org.jboss.logging</groupId>
379 <artifactId>jboss-logging</artifactId>
380 <version>3.4.3.Final</version>
381 </dependency>
382
383 <!-- indirectly used, by other taxeditor modules -->
384 <!-- ... by taxeditor.local -->
385 <dependency>
386 <groupId>eu.etaxonomy</groupId>
387 <artifactId>cdmlib-api</artifactId>
388 <version>${cdmlib.version}</version>
389 </dependency>
390
391 <!-- ... by taxeditor.store -->
392 <dependency>
393 <groupId>joda-time</groupId>
394 <artifactId>joda-time</artifactId>
395 <version>2.10.14</version>
396 </dependency>
397 <dependency>
398 <groupId>net.sf.opencsv</groupId>
399 <artifactId>opencsv</artifactId>
400 <version>2.3</version>
401 </dependency>
402 <dependency>
403 <groupId>org.springframework</groupId>
404 <artifactId>spring-aspects</artifactId>
405 <version>${spring.version}</version>
406 </dependency>
407 <dependency>
408 <groupId>com.ibm.lsid</groupId>
409 <artifactId>lsid-client</artifactId>
410 <version>1.1.2</version>
411 </dependency>
412 <dependency>
413 <groupId>org.apache.commons</groupId>
414 <artifactId>commons-imaging</artifactId>
415 <version>1.0-alpha3</version>
416 </dependency>
417
418 <!-- used by taxeditor.editor -> character matrix -->
419 <dependency>
420 <groupId>org.apache.commons</groupId>
421 <artifactId>commons-math3</artifactId>
422 <version>3.6.1</version>
423 </dependency>
424
425 <!-- used by bulkeditor -->
426 <dependency>
427 <!-- used by CharacterMatrix/bulkeditor (LinkedList) and UpdateResult.exceptions (CircularFifoQueue) -->
428 <groupId>org.apache.commons</groupId>
429 <artifactId>commons-collections4</artifactId>
430 <version>4.4</version>
431 </dependency>
432 <!-- used by taxeditor.local -->
433 <dependency>
434 <!-- used by datasource dialogue finish button -->
435 <groupId>com.mchange</groupId>
436 <artifactId>mchange-commons-java</artifactId>
437 <version>0.2.11</version>
438 </dependency>
439
440 <!-- needed by taxeditor.test during test run, maybe move to test package only -->
441 <dependency>
442 <!-- used by hibernate -->
443 <groupId>net.bytebuddy</groupId>
444 <artifactId>byte-buddy</artifactId>
445 <version>1.12.10</version>
446 </dependency>
447 <dependency>
448 <!-- dependency of xerces -->
449 <groupId>xml-apis</groupId>
450 <artifactId>xml-apis</artifactId>
451 <version>1.4.01</version>
452 </dependency>
453 <!-- needed only for H2Local and unitils, move maybe to test + local together with c3p0 -->
454 <dependency>
455 <groupId>commons-pool</groupId>
456 <artifactId>commons-pool</artifactId>
457 <version>1.6</version>
458 </dependency>
459
460 <!-- For Unit Tests Start -->
461 <!-- keep junit and its dependency hamcrest here as long as each plugin
462 has its own unit tests and junit is not yet added there in a way
463 that it does not appear in production bundles -->
464 <dependency>
465 <groupId>junit</groupId>
466 <artifactId>junit</artifactId>
467 <version>4.13.2</version>
468 <scope>test</scope>
469 </dependency>
470 <dependency>
471 <groupId>org.hamcrest</groupId>
472 <artifactId>hamcrest-core</artifactId>
473 <version>1.3</version>
474 <!-- <scope>test</scope> -->
475 </dependency>
476
477 <!-- END for Unit Tests -->
478
479 <!-- required during RUNTIME -->
480
481 <dependency>
482 <!-- for handling HibernateSystemException, see #10277, TODO try to handle without adding dependency -->
483 <groupId>org.springframework</groupId>
484 <artifactId>spring-orm</artifactId>
485 <version>${spring.version}</version>
486 </dependency>
487 <dependency>
488 <!-- for handling BridgeException, see #10277, TODO try to handle without adding dependency -->
489 <groupId>org.hibernate</groupId>
490 <artifactId>hibernate-search-engine</artifactId>
491 <version>${hibernate-search.version}</version>
492 </dependency>
493 <dependency>
494 <!-- throws exception in bulk editor after search if not present -->
495 <groupId>org.hibernate</groupId>
496 <artifactId>hibernate-envers</artifactId>
497 <version>${hibernate.version}</version>
498 </dependency>
499 <dependency>
500 <!-- throws exception in bulk editor after search during deserialization if not present -->
501 <groupId>org.apache.lucene</groupId>
502 <artifactId>lucene-core</artifactId>
503 <version>${lucene.version}</version>
504 </dependency>
505 <dependency>
506 <!-- e.g. when opening character matrix
507 probably only used by hibernate-core, so remove when removing hibernate-core -->
508 <groupId>antlr</groupId>
509 <artifactId>antlr</artifactId>
510 <version>2.7.7</version>
511 </dependency>
512 <dependency>
513 <!-- used e.g. by login dialog, CdmServerInfo:411 -->
514 <groupId>com.fasterxml.jackson.core</groupId>
515 <artifactId>jackson-annotations</artifactId>
516 <version>${jackson.version}</version>
517 </dependency>
518 <dependency>
519 <!-- for any transactions, e.g. when first time logging in -->
520 <groupId>org.jboss.spec.javax.transaction</groupId>
521 <artifactId>jboss-transaction-api_1.2_spec</artifactId>
522 <version>1.1.1.Final</version>
523 </dependency>
524
525 <dependency>
526 <!-- for showing maps in distribution details view -->
527 <groupId>de.micromata.jak</groupId>
528 <!-- Java11 required <groupId>uk.m0nom</groupId> -->
529 <artifactId>JavaAPIforKml</artifactId>
530 <version>2.2.1</version>
531 </dependency>
532
533 <dependency>
534 <!-- used if a validation result is returned, see https://dev.e-taxonomy.eu/redmine/issues/10182#note-10 -->
535 <!-- can probably be removed after switching to jakarta.validation-api with spring 6.x -->
536 <groupId>javax.validation</groupId>
537 <artifactId>validation-api</artifactId>
538 <version>2.0.1.Final</version>
539 </dependency>
540
541 <dependency>
542 <!-- used in datasource view and in test, maybe enough if in taxeditor.local and taxeditor.test -->
543 <groupId>com.mchange</groupId>
544 <artifactId>c3p0</artifactId>
545 <version>0.9.5.2</version>
546 </dependency>
547
548 <!-- database related, should be moved to local/test when possible -->
549 <!-- only for supporting test button in datasource dialogue, dialogue should be moved to taxeditor.local -->
550 <dependency>
551 <groupId>mysql</groupId>
552 <artifactId>mysql-connector-java</artifactId>
553 <version>8.0.29</version>
554 </dependency>
555 <dependency>
556 <groupId>com.h2database</groupId>
557 <artifactId>h2</artifactId>
558 <version>1.4.190</version>
559 </dependency>
560 <dependency>
561 <groupId>org.postgresql</groupId>
562 <artifactId>postgresql</artifactId>
563 <version>42.5.1</version>
564 </dependency>
565
566 <!-- Only added for correct package export, but reported as needed -->
567
568 <!-- dbcp and pool needed for H2Local and unitils,
569 move to taxeditor.webapp and taxedtior.test once all db dependencies are moved to webapp-->
570 <dependency>
571 <groupId>commons-dbcp</groupId>
572 <artifactId>commons-dbcp</artifactId>
573 <version>1.4</version>
574 </dependency>
575
576 <!-- For Hibernate Mapping Start -->
577 <dependency>
578 <groupId>jakarta.validation</groupId>
579 <artifactId>jakarta.validation-api</artifactId>
580 <version>3.0.2</version>
581 </dependency>
582
583 <!-- needed at least in taxeditor.test by BundleLoader; try to move there but test carefully -->
584 <dependency>
585 <groupId>commons-lang</groupId>
586 <artifactId>commons-lang</artifactId>
587 <version>2.6</version>
588 </dependency>
589 <dependency>
590 <!-- required when running test -->
591 <groupId>org.springframework</groupId>
592 <artifactId>spring-jdbc</artifactId>
593 <version>${spring.version}</version>
594 </dependency>
595
596 <!-- logging -->
597 <dependency>
598 <groupId>org.slf4j</groupId>
599 <artifactId>slf4j-api</artifactId>
600 <version>1.7.36</version>
601 </dependency>
602 <dependency>
603 <groupId>org.apache.logging.log4j</groupId>
604 <artifactId>log4j-slf4j-impl</artifactId>
605 <version>${log4j.version}</version>
606 </dependency>
607 <dependency>
608 <groupId>org.slf4j</groupId>
609 <artifactId>jcl-over-slf4j</artifactId>
610 <version>1.7.36</version>
611 </dependency>
612
613 <dependency>
614 <!-- https://stackoverflow.com/questions/38727655/maven-dependency-plugin-nosuchelementexception-for-aether-repositorysystem -->
615 <groupId>org.apache.maven.resolver</groupId>
616 <artifactId>maven-resolver-api</artifactId>
617 <version>1.4.1</version>
618 </dependency>
619
620 </dependencies>
621 </project>
622