Project

General

Profile

« Previous | Next » 

Revision f1b36c5b

Added by jenkins over 2 years ago

updating poms for 5.29.1-SNAPSHOT development

View differences:

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" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3

  
4
  <modelVersion>4.0.0</modelVersion>
5
  <groupId>eu.etaxonomy</groupId>
6
  <artifactId>cdm-server</artifactId>
7
  <version>5.29.0-SNAPSHOT</version>
8
  <packaging>jar</packaging>
9
  <name>CDM Community Standalone Server</name>
10

  
11
  <properties>
12
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13
    <jetty-version>9.4.26.v20200117</jetty-version>
14
    <javadoc.opts>-Xdoclint:none</javadoc.opts>
15
  </properties>
16

  
17
  <scm>
18
    <!-- see section Provider Configuration in https://maven.apache.org/scm/subversion.html 
19
      for instructions on how to externalize credentials in $user.home/.scm/svn-settings.xml -->
20
    <connection>scm:git:https://dev.e-taxonomy.eu/git/cdm-server.git</connection>
21
    <developerConnection>scm:git:ssh://git@dev.e-taxonomy.eu/var/git/cdm-server.git</developerConnection>
22
    <url>https://dev.e-taxonomy.eu/gitweb/cdm-server.git/tree</url>
23
  </scm>
24
  
25
  <prerequisites>
26
    <maven>3.6.3</maven>
27
  </prerequisites>
28

  
29
  <mailingLists>
30
    <mailingList>
31
        <name>EDIT Platform Developers</name>
32
        <subscribe>
33
            https://lists.fu-berlin.de/listinfo/editplatformdevelopers#subscribe
34
        </subscribe>
35
        <unsubscribe>
36
            https://lists.fu-berlin.de/listinfo/editplatformdevelopers#options
37
        </unsubscribe>
38
    </mailingList>
39
    <mailingList>
40
        <name>EDIT User</name>
41
        <subscribe>
42
            https://lists.fu-berlin.de/listinfo/edituser#subscribe
43
        </subscribe>
44
        <unsubscribe>
45
            https://lists.fu-berlin.de/listinfo/edituser#options
46
        </unsubscribe>
47
    </mailingList>
48
  </mailingLists>
49
  <licenses>
50
    <license>
51
      <name>Mozilla Public License Version 1.1</name>
52
      <url>https://www.mozilla.org/MPL/MPL-1.1.html</url>
53
      <distribution>repo</distribution>
54
    </license>
55
  </licenses>
56
  <developers>
57
    <developer>
58
      <!-- your SVN account id please! -->
59
      <id>a.kohlbecker</id>
60
      <name>
61
        Andreas Kohlbecker
62
      </name>
63
      <email>a.kohlbecker [at] bgbm.org</email>
64
      <organization>
65
        Botanical Garden Botanical Museum Berlin
66
      </organization>
67
      <organizationUrl>https://www.bgbm.org/en/biodiversity-informatics</organizationUrl>
68
      <timezone>+1</timezone>
69
      <roles>
70
        <role>Developer</role>
71
      </roles>
72
      <url />
73
    </developer>
74
  </developers>
75

  
76
  <!-- contributors> <contributor> <name>Test-Contributor</name> </contributor> 
77
    </contributors -->
78
  <issueManagement>
79
    <system>Redmine</system>
80
    <url>https://dev.e-taxonomy.eu/redmine/</url>
81
  </issueManagement>
82
  <ciManagement>
83
    <system>Jenkins</system>
84
    <url>https://int.e-taxonomy.eu/jenkins</url>
85
  </ciManagement>
86
  <!-- **** REPOSITORIES **** -->
87
  <profiles>
88
    <profile>
89
      <id>local-repository</id>
90
      <activation>
91
        <property>
92
          <name>localrepo</name>
93
        </property>
94
      </activation>
95
      <repositories>
96
        <repository>
97
          <id>EditLocalRepository</id>
98
          <url>file://${localrepo}/eu/etaxonomy/</url>
99
          <releases>
100
            <enabled>false</enabled>
101
            <updatePolicy>always</updatePolicy>
102
          </releases>
103
          <snapshots>
104
            <enabled>true</enabled>
105
            <updatePolicy>always</updatePolicy>
106
          </snapshots>
107
        </repository>
108
      </repositories>
109
    </profile>
110
  </profiles>
111
  <repositories>
112
    <!-- sun repository -->
113
    <repository>
114
      <id>java.net-Public</id>
115
      <name>Maven Java Net Snapshots and Releases</name>
116
      <url>https://maven.java.net/content/groups/public/</url>
117
    </repository>
118
    <!-- the localhost Maven Repository -->
119
    <repository>
120
      <id>EditLocalRepository</id>
121
      <!-- disable the local repo to let maven always retrieve the latest 
122
        cdm-webapp.war TODO: use ${localrepo} for ${user.home}/.m2/repository 
123
        in MAVEN 3 -->
124
      <url>file://${user.home}/.m2/repository/eu/etaxonomy/</url>
125
      <releases>
126
        <enabled>false</enabled>
127
        <updatePolicy>always</updatePolicy>
128
      </releases>
129
      <snapshots>
130
        <enabled>false</enabled>
131
        <updatePolicy>always</updatePolicy>
132
      </snapshots>
133
    </repository>
134
    <!-- the EDIT Maven Repository -->
135
    <repository>
136
      <id>EditRepository</id>
137
      <url>https://cybertaxonomy.eu/mavenrepo/</url>
138
      <releases>
139
        <enabled>true</enabled>
140
        <updatePolicy>always</updatePolicy>
141
      </releases>
142
      <snapshots>
143
        <enabled>true</enabled>
144
        <updatePolicy>always</updatePolicy>
145
      </snapshots>
146
    </repository>
147
    <!-- apache incubating repository -->
148
    <repository>
149
      <id>ApacheIncubating</id>
150
      <url>https://people.apache.org/repo/m2-incubating-repository/</url>
151
    </repository>
152
  </repositories>
153

  
154
  <!-- **** PLUGINS **** -->
155
  <build>
156
    <resources>
157
      <!-- ${basedir}/src/main/resources -->
158
      <resource>
159
        <!-- replace the project-version placeholder in the version.properties 
160
          file. This property can then be used to retrieve the version number in the 
161
          Bootloader -->
162
        <targetPath>${project.build.directory}/classes</targetPath>
163
        <filtering>true</filtering>
164
        <directory>${basedir}/src/main/resources</directory>
165
        <includes>
166
          <include>version.properties</include>
167
        </includes>
168
      </resource>
169
      <resource>
170
        <!-- all other files in classes -->
171
        <targetPath>${project.build.directory}/classes</targetPath>
172
        <directory>${basedir}/src/main/resources</directory>
173
        <excludes>
174
          <exclude>version.properties</exclude>
175
        </excludes>
176
      </resource>
177
      <!-- ${basedir}/src/main/installer/win32 -->
178
      <resource>
179
        <targetPath>${project.build.directory}/installer</targetPath>
180
        <filtering>true</filtering>
181
        <directory>${basedir}/src/main/installer</directory>
182
        <includes>
183
          <include>win32/program-folder/etc/CDMServer.conf</include>
184
          <include>win32/setup.nsi</include>
185
        </includes>
186
      </resource>
187
      <resource>
188
        <targetPath>${project.build.directory}/installer</targetPath>
189
        <directory>${basedir}/src/main/installer</directory>
190
        <excludes>
191
          <exclude>win32/program-folder/etc/CDMServer.conf</exclude>
192
          <exclude>win32/setup.nsi</exclude>
193
        </excludes>
194
      </resource>
195
    </resources>
196
    <plugins>
197
      <!-- ====== IDE ====== -->
198
      <plugin>
199
        <groupId>org.apache.maven.plugins</groupId>
200
        <artifactId>maven-eclipse-plugin</artifactId>
201
        <version>2.10</version>
202
        <configuration>
203
          <downloadSources>true</downloadSources>
204
          <downloadJavadocs>true</downloadJavadocs>
205
        </configuration>
206
      </plugin>
207

  
208
      <plugin>
209
        <!-- only needed for testing the svn credentials credentials are 
210
          usually stored by svn automatically unless not configured differently in 
211
          {user.home}\.subversion\config So in order to use a specific svn account 
212
          with maven firts to a commit manually by svn ci -m "commit message" and answer 
213
          the question wether to store the credential with yes. There is no specific 
214
          maven configuration required for svn to work with maven! -->
215
        <groupId>org.apache.maven.plugins</groupId>
216
        <artifactId>maven-scm-plugin</artifactId>
217
        <version>1.9.2</version>
218
        <configuration>
219
          <connectionType>developerConnection</connectionType>
220
        </configuration>
221
      </plugin>
222
      <!-- ====== CREATE ====== -->
223
      <plugin>
224
        <groupId>org.apache.maven.plugins</groupId>
225
        <artifactId>maven-resources-plugin</artifactId>
226
        <!-- creates "compile" error in IDE in maven-dependency-plugin section (see below) since upgrading from 3.1.0 to 3.2.0 -->
227
        <version>3.2.0</version>
228
      </plugin>
229
      <plugin>
230
        <groupId>org.apache.maven.plugins</groupId>
231
        <artifactId>maven-compiler-plugin</artifactId>
232
        <version>3.9.0</version>
233
        <configuration>
234
          <source>1.8</source>
235
          <target>1.8</target>
236
        </configuration>
237
      </plugin>
238
      <plugin>
239
        <groupId>org.apache.maven.plugins</groupId>
240
        <artifactId>maven-surefire-plugin</artifactId>
241
        <version>2.18.1</version>
242
        <configuration>
243
          <argLine>-Xmx512M</argLine>
244
          <includes>
245
            <include>**/*Test.java</include>
246
          </includes>
247
          <systemProperties>
248
            <property>
249
              <name>hibernate.connection.driver_class</name>
250
              <value>${hibernate.connection.driver_class}</value>
251
            </property>
252
            <property>
253
              <name>hibernate.connection.url</name>
254
              <value>${hibernate.connection.url}</value>
255
            </property>
256
            <property>
257
              <name>hibernate.connection.username</name>
258
              <value>${hibernate.connection.username}</value>
259
            </property>
260
            <property>
261
              <name>hibernate.connection.password</name>
262
              <value>${hibernate.connection.password}</value>
263
            </property>
264
          </systemProperties>
265
        </configuration>
266
      </plugin>
267
      <!-- ====== CREATE ====== -->
268
      <plugin>
269
        <groupId>org.codehaus.mojo</groupId>
270
        <artifactId>buildnumber-maven-plugin</artifactId>
271
        <version>1.4</version>
272
        <executions>
273
          <execution>
274
            <!--<phase>deploy</phase> -->
275
            <goals>
276
              <goal>create</goal>
277
            </goals>
278
          </execution>
279
        </executions>
280
        <configuration>
281
          <doCheck>false</doCheck>
282
          <!-- Only create the build number if there are no local modifications -->
283
          <doUpdate>false</doUpdate>
284
          <!-- automatically update the local svn copy -->
285
        </configuration>
286
      </plugin>
287
      <plugin>
288
        <groupId>org.apache.maven.plugins</groupId>
289
        <artifactId>maven-site-plugin</artifactId>
290
        <version>3.10.0</version>
291
        <configuration>
292
          <locales>en</locales>
293
          <outputEncoding>UTF-8</outputEncoding>
294
          <chmod>false</chmod>
295
        </configuration>
296
      </plugin>
297
      <!-- ====== VERIFY ====== -->
298
      <plugin>
299
        <groupId>org.apache.maven.plugins</groupId>
300
        <artifactId>maven-source-plugin</artifactId>
301
        <version>3.2.1</version>
302
        <executions>
303
          <execution>
304
            <id>attach-sources</id>
305
            <phase>verify</phase>
306
            <goals>
307
              <goal>jar</goal>
308
            </goals>
309
          </execution>
310
        </executions>
311
      </plugin>
312
      <plugin>
313
        <groupId>org.apache.maven.plugins</groupId>
314
        <artifactId>maven-javadoc-plugin</artifactId>
315
        <version>3.3.1</version>
316
        <configuration>
317
          <aggregate>true</aggregate>
318
          <stylesheet>maven</stylesheet>
319
          <failOnError>false</failOnError>
320
          <additionalparam>${javadoc.opts}</additionalparam>
321
        </configuration>
322
      </plugin>
323

  
324
      <!-- ====== PROCESS-SOURCES ====== -->
325
      <plugin>
326
        <groupId>org.apache.maven.plugins</groupId>
327
        <artifactId>maven-dependency-plugin</artifactId>
328
        <version>3.2.0</version>
329
        <executions>
330
          <!-- creates "compile" error in IDE in maven-dependency-plugin section (see below) since upgrading from 3.1.0 to 3.2.0 -->
331
          <execution>
332
            <id>copy</id>
333
            <goals>
334
              <goal>copy</goal>
335
            </goals>
336
            <configuration>
337
              <silent>flase</silent>
338
              <stripVersion>true</stripVersion>
339
              <overWriteSnapshots>true</overWriteSnapshots>
340
              <overWriteIfNewer>true</overWriteIfNewer>
341
              <overWriteReleases>true</overWriteReleases>
342
              <artifactItems>
343
                <artifactItem>
344
                  <!-- copy the cdm-webapp-${project.version}.war 
345
                    to the build dir -->
346
                  <groupId>eu.etaxonomy</groupId>
347
                  <artifactId>cdm-webapp</artifactId>
348
                  <version>${project.version}</version>
349
                  <type>war</type>
350
                  <!-- <classifier> [classifier - optional] </classifier> -->
351
                  <overWrite>true</overWrite>
352
                  <destFileName>cdm-webapp-${project.version}.war</destFileName>
353
                  <outputDirectory>
354
                    ${project.build.directory}
355
                  </outputDirectory>
356
                </artifactItem>
357
              </artifactItems>
358
            </configuration>
359
          </execution>
360
        </executions>
361
      </plugin>
362

  
363
      <!-- ====== PACKAGE ====== -->
364
      <!-- package the default webapp, // (and also add the cdm-webapp.war) 
365
        test with: mvn war:war -->
366
      <plugin>
367
        <groupId>org.apache.maven.plugins</groupId>
368
        <artifactId>maven-war-plugin</artifactId>
369
        <version>3.3.2</version>
370
        <configuration>
371
          <warName>default-webapp</warName>
372
          <packagingExcludes>
373
            cdm-webapp-*.war
374
          </packagingExcludes>
375
          <!-- <overlays> <overlay> <groupId>eu.etaxonomy</groupId> <artifactId>cdm-webapp</artifactId> 
376
            <!- - version is set in dependency - -> <skip>true</skip> <!- - Do Not overlay 
377
            - -> </overlay> </overlays> -->
378
        </configuration>
379
        <executions>
380
          <execution>
381
            <phase>package</phase>
382
            <goals>
383
              <goal>war</goal>
384
            </goals>
385
          </execution>
386
        </executions>
387
      </plugin>
388
      <plugin>
389
        <!-- Assemble the runnable server jar test with: mvn assembly:single -->
390
        <groupId>org.apache.maven.plugins</groupId>
391
        <artifactId>maven-assembly-plugin</artifactId>
392
        <version>3.3.0</version>
393
        <configuration>
394
          <appendAssemblyId>false</appendAssemblyId>
395
          <descriptors>
396
            <descriptor>src/main/assembly/assembly.xml</descriptor>
397
          </descriptors>
398
          <archive>
399
            <manifest>
400
              <mainClass>eu.etaxonomy.cdm.server.Bootloader</mainClass>
401
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
402
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
403
            </manifest>
404
          </archive>
405
        </configuration>
406
        <executions>
407
          <execution>
408
            <id>make-assembly</id>
409
            <phase>package</phase>
410
            <goals>
411
              <goal>single</goal>
412
            </goals>
413
          </execution>
414
        </executions>
415
      </plugin>
416
      <plugin>
417
      <!-- ====== INSTALL ====== -->
418
        <!-- Build a Debian package -->
419
        <groupId>org.apache.maven.plugins</groupId>
420
        <artifactId>maven-antrun-plugin</artifactId>
421
        <version>3.0.0</version>
422
        <executions>
423
          <execution>
424
            <phase>install</phase>
425
            <configuration>
426
              <target>
427
                <property name="project.fullversionstring" value="${project.version}" />
428
                <property name="project.version" value="${project.version}" />
429
                <ant antfile="${project.basedir}/src/main/installer/linux/build-deb.xml" dir="${project.basedir}" />
430
              </target>
431
            </configuration>
432
            <goals>
433
              <goal>run</goal>
434
            </goals>
435
          </execution>
436
        </executions>
437
      </plugin>
438
      <!-- Build windows installer -->
439
      <plugin>
440
        <groupId>org.codehaus.mojo</groupId>
441
        <artifactId>exec-maven-plugin</artifactId>
442
        <version>3.0.0</version>
443
        <executions>
444
          <execution>
445
            <phase>install</phase>
446
            <goals>
447
              <goal>exec</goal>
448
            </goals>
449
          </execution>
450
        </executions>
451
        <configuration>
452
          <executable>makensis</executable>
453
          <!-- optional -->
454
          <workingDirectory>/tmp</workingDirectory>
455
          <arguments>
456
            <!-- <argument>-V3</argument> -->
457
            <argument>${project.basedir}/target/installer/win32/setup.nsi</argument>
458
          </arguments>
459
        </configuration>
460
      </plugin>
461
      <!-- Build Docker image -->
462
      <plugin>
463
        <groupId>io.fabric8</groupId>
464
        <artifactId>docker-maven-plugin</artifactId>
465
        <version>0.38.1</version>
466
        <configuration>
467
           <images>
468
             <image>
469
               <!-- docker hub does not allow dots in organizations, so the name is
470
                    just 'cybertaxonomy', this MUST NOT BE CHANGED!!!!  -->
471
               <name>cybertaxonomy/${project.artifactId}:${project.version}</name>
472
               <build>
473
                 <!-- use a Dockerfile in the directory src/main/docker/production -->
474
                 <dockerFileDir>production</dockerFileDir>
475
                 <!-- fabric8-maven-plugin filters given Dockerfile with Maven properties -->
476
                 <!-- For example, the default <filter>${*}</filter> parse Maven properties 
477
                     in the format that we know. If you specify a single character for 
478
                     <filter> then this delimiter is taken for both, the start and the end. 
479
                     E.g a <filter>@</filter> triggers on parameters in the format @…​@, -->
480
                 <filter>@</filter>
481
                 <assembly>
482
                    <descriptorRef>artifact</descriptorRef>
483
                    <!--
484
                         1. The maven plugin copies the jar to the artifacts assembly location at:
485
                            ./target/docker/eu.etaxonomy/cdm-server/${project.version}/build/maven/cdm-server-${project.version}.jar
486
                         2. a tar is being created at target/docker/eu.etaxonomy/cdm-server/${project.version}/tmp/docker-build.tar 
487
                            which contains all files located in /target/docker/production and the artifacts. 
488
                            Artifacts are put into the folder maven/ inside the tar archive
489
                         3. The tar archive is passed to the docker daemon and is used as working directory for the build 
490
                     -->
491
                  </assembly>
492
               </build>
493
               
494
               <!-- TODO the run configuration if needed, see src/main/docker/production/README for examples -->
495
               <!-- 
496
               <run>
497
                 <ports>8080:8080</ports>
498
               </run>
499
                -->
500
             </image>
501
           </images>
502

  
503
        </configuration>
504

  
505
        <!-- Connect start/stop to pre- and
506
             post-integration-test phase, respectively if you want to start
507
             your docker containers during integration tests -->
508
        <executions>
509
        </executions>
510
      </plugin>
511
      <!-- ====== DEPLOY ====== -->
512
      <plugin>
513
        <groupId>org.apache.maven.plugins</groupId> 
514
        <artifactId>maven-deploy-plugin</artifactId>
515
        <version>2.8.2</version>
516
      </plugin> 
517
      <plugin>
518
        <groupId>ch.dvbern.oss.maven.jgitflow</groupId>
519
        <artifactId>jgitflow-maven-plugin</artifactId>
520
        <version>1.0-m8</version>
521
        <configuration>
522
          <pushHotfixes>true</pushHotfixes>
523
          <pushReleases>true</pushReleases> 
524
          <enableSshAgent>true</enableSshAgent>
525
          <allowSnapshots>true</allowSnapshots>
526
          <allowUntracked>true</allowUntracked>
527
        </configuration>
528
        <dependencies>
529
          <!-- 
530
                upgrading dependency jsch.agent.version of jgit-flow plugin to 0.1.53 
531
                in order to have ssl key exchange algorithms compatible with openssh 6.7 
532
             -->
533
          <dependency>
534
            <groupId>com.jcraft</groupId>
535
            <artifactId>jsch</artifactId>
536
            <version>0.1.55</version>
537
          </dependency>
538
        </dependencies>
539
      </plugin>
540
      <plugin>
541
        <groupId>org.codehaus.mojo</groupId>
542
        <artifactId>wagon-maven-plugin</artifactId>
543
        <version>1.0</version>
544
        <!-- Problems with the wagon-maven-plugin have been encounterd on 
545
          Windows, it should work properly on linux though. -->
546
        <executions>
547
          <execution>
548
            <phase>deploy</phase>
549
            <goals>
550
              <goal>upload</goal>
551
            </goals>
552
          </execution>
553
        </executions>
554
        <configuration>
555
          <fromDir>target</fromDir>
556
          <includes>*${project.version}*.deb,*${project.version}*.jar,*${project.version}*.exe</includes>
557
          <url>scpexe://wp5.e-taxonomy.eu/var/www/download/cdmserver/${project.version}</url>
558
          <serverId>wp5.e-taxonomy.eu</serverId>
559
        </configuration>
560
      </plugin>
561
    </plugins>
562
    <!-- EXTENSIONS -->
563
    <extensions>
564
      <extension>
565
        <groupId>org.apache.maven.wagon</groupId>
566
        <artifactId>wagon-scm</artifactId>
567
        <version>3.5.1</version>
568
      </extension>
569
      <extension>
570
        <groupId>org.apache.maven.wagon</groupId>
571
        <artifactId>wagon-ssh</artifactId>
572
        <version>3.5.1</version>
573
      </extension>
574
      <extension>
575
        <groupId>org.apache.maven.wagon</groupId>
576
        <artifactId>wagon-ssh-external</artifactId>
577
        <version>3.5.1</version>
578
      </extension>
579
      <extension>
580
        <groupId>org.apache.maven.scm</groupId>
581
        <artifactId>maven-scm-manager-plexus</artifactId>
582
        <version>1.12.2</version>
583
      </extension>
584
      <extension>
585
        <groupId>org.apache.maven.scm</groupId>
586
        <artifactId>maven-scm-provider-svnexe</artifactId>
587
        <version>1.12.2</version>
588
      </extension>
589
      <!-- WebDAV plugin to upload snapshots -->
590
      <extension>
591
        <groupId>org.apache.maven.wagon</groupId>
592
        <artifactId>wagon-webdav-jackrabbit</artifactId>
593
        <version>3.5.1</version>
594
      </extension>
595
    </extensions>
596
  </build>
597

  
598
  <reporting>
599
    <plugins>
600
      <plugin>
601
        <!-- you will want to start by publishing your classes' Javadocs -->
602
        <groupId>org.apache.maven.plugins</groupId>
603
        <artifactId>maven-javadoc-plugin</artifactId>
604
        <configuration>    
605
          <additionalparam>${javadoc.opts}</additionalparam>
606
        </configuration>
607
      </plugin>
608
      <plugin>
609
        <!-- this will generate an indexed and cross-referenced HTML version 
610
          of your source code -->
611
        <groupId>org.apache.maven.plugins</groupId>
612
        <artifactId>maven-jxr-plugin</artifactId>
613
        <version>2.5</version>
614
      </plugin>
615
      <plugin>
616
        <!-- if you use @todo tags to remind you of things to be done (which 
617
          is a good coding practice), the taglist report will generate a list of all 
618
          the items marked @todo or TODO -->
619
        <groupId>org.codehaus.mojo</groupId>
620
        <artifactId>taglist-maven-plugin</artifactId>
621
        <version>2.4</version>
622
      </plugin>
623
      <plugin>
624
        <!-- Test coverage can be a useful indication of the quality of your 
625
          unit tests. It basically tells you how much of your code is actually run 
626
          by your unit tests, which, in turn, can give you a good idea of the tests' 
627
          quality -->
628
        <groupId>org.codehaus.mojo</groupId>
629
        <artifactId>cobertura-maven-plugin</artifactId>
630
        <version>2.7</version>
631
      </plugin>
632

  
633

  
634
    </plugins>
635
  </reporting>
636
  <!-- DISTRIBUTION MANAGEMENT -->
637
  <distributionManagement>
638
    <site>
639
      <id>wp5.e-taxonomy.eu</id>
640
      <url>
641
        scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/cdm-server
642
      </url>
643
    </site>
644
    <repository>
645
      <uniqueVersion>false</uniqueVersion>
646
      <id>wp5.e-taxonomy.eu</id>
647
      <name>Edit Maven Repository</name>
648
      <url>
649
        scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/mavenrepo
650
      </url>
651
    </repository>
652
  </distributionManagement>
653

  
654
  <dependencies>
655
    <!-- maven 3 no longer supports uniqueVersions for SNAPSHOT artifacts. 
656
      The cdm-server Bootlader however relies on a specific name of the cdm-webapp 
657
      war file. In order to achieve this with maven 3 the below dependency is now 
658
      handled more explicitely by utilizing the dependency:copy-dependencies goal 
659
      in the build/plugins section -->
660
      <!-- <dependency> -->
661
      <!--   <groupId>eu.etaxonomy</groupId>  -->
662
      <!--   <artifactId>cdm-webapp</artifactId> -->
663
      <!--   <version>${project.version}</version>  -->
664
      <!--   <type>war</type> -->
665
      <!-- </dependency> -->
666
      
667
    <!-- JETTY -->
668
    <dependency>
669
      <groupId>org.eclipse.jetty</groupId>
670
      <artifactId>jetty-webapp</artifactId>
671
      <version>${jetty-version}</version>
672
    </dependency>
673
    <dependency>
674
        <groupId>org.eclipse.jetty</groupId>
675
        <artifactId>jetty-webapp-logging</artifactId>
676
        <version>9.4.20.v20190813</version><!-- versioning independent of jetty core -->
677
        <type>pom</type><!-- we only need the dependencies like jul-to-slf4j managed in this pom! -->
678
    </dependency>
679
    <dependency>
680
      <groupId>org.eclipse.jetty</groupId>
681
      <artifactId>jetty-plus</artifactId>
682
      <version>${jetty-version}</version>
683
    </dependency>
684
    <dependency>
685
      <groupId>org.eclipse.jetty</groupId>
686
      <artifactId>jetty-jmx</artifactId>
687
      <version>${jetty-version}</version>
688
    </dependency>
689
    <dependency>
690
      <groupId>org.eclipse.jetty</groupId>
691
      <artifactId>jetty-security</artifactId>
692
      <version>${jetty-version}</version>
693
    </dependency>
694
    <dependency>
695
      <groupId>org.eclipse.jetty</groupId>
696
      <artifactId>jetty-annotations</artifactId>
697
      <version>${jetty-version}</version>
698
    </dependency>
699
    <dependency>
700
      <groupId>org.eclipse.jetty</groupId>
701
      <artifactId>apache-jsp</artifactId>
702
      <version>${jetty-version}</version>
703
      <type>jar</type>
704
    </dependency>
705
    <dependency>
706
      <groupId>org.eclipse.jetty</groupId>
707
      <artifactId>apache-jstl</artifactId>
708
      <version>${jetty-version}</version>
709
      <type>pom</type>
710
    </dependency>
711
    <dependency>
712
        <groupId>javax.el</groupId>
713
        <artifactId>javax.el-api</artifactId>
714
        <version>3.0.0</version>
715
    </dependency>
716
    <dependency>
717
      <groupId>org.glassfish.web</groupId>
718
      <artifactId>el-impl</artifactId>
719
      <version>2.2</version>
720
    </dependency>
721
    <dependency>
722
      <groupId>javax.transaction</groupId>
723
      <artifactId>jta</artifactId>
724
      <version>1.1</version>
725
    </dependency>
726
    <!-- JSON -->
727
    <dependency>
728
      <!-- according to maven repo this artifact moved to com.fasterxml.jackson.core » jackson-databind
729
        but changing to next higher version 2.0.0 throws exceptions on the jsp pages (e.g. .../cdmserver/instances.jsp) -->
730
      <groupId>org.codehaus.jackson</groupId>
731
      <artifactId>jackson-mapper-asl</artifactId>
732
      <version>1.9.13</version>
733
    </dependency>
734
    <!-- windows service -->
735
    <dependency>
736
      <groupId>tanukisoft</groupId>
737
      <artifactId>wrapper</artifactId>
738
      <version>3.2.3</version>
739
    </dependency>
740

  
741
    <!-- Logging -->
742
    <dependency>
743
      <groupId>org.slf4j</groupId>
744
      <artifactId>slf4j-api</artifactId>
745
      <version>1.7.32</version>
746
    </dependency>
747
    <dependency>
748
      <groupId>org.slf4j</groupId>
749
      <artifactId>slf4j-log4j12</artifactId>
750
      <version>1.7.32</version>
751
    </dependency>
752
    <dependency>
753
      <groupId>commons-cli</groupId>
754
      <artifactId>commons-cli</artifactId>
755
      <version>1.3.1</version>
756
    </dependency>
757
    <dependency>
758
      <groupId>commons-io</groupId>
759
      <artifactId>commons-io</artifactId>
760
      <version>2.11.0</version>
761
    </dependency>
762
    <dependency>
763
      <!-- only used in InstanceManger class -->
764
      <groupId>org.apache.commons</groupId>
765
      <artifactId>commons-collections4</artifactId>
766
      <version>4.4</version>
767
    </dependency>
768
    <dependency>
769
      <groupId>net.sf.jopt-simple</groupId>
770
      <artifactId>jopt-simple</artifactId>
771
      <version>5.0.4</version>
772
    </dependency>
773
    <!-- Database dependencies -->
774
    <dependency>
775
      <groupId>eu.etaxonomy</groupId>
776
      <artifactId>cdmlib-db</artifactId>
777
      <version>${project.version}</version>
778
    </dependency>
779
  </dependencies>
780

  
781
</project>
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

  
4
  <modelVersion>4.0.0</modelVersion>
5
  <groupId>eu.etaxonomy</groupId>
6
  <artifactId>cdm-server</artifactId>
7
  <version>5.29.1-SNAPSHOT</version>
8
  <packaging>jar</packaging>
9
  <name>CDM Community Standalone Server</name>
10

  
11
  <properties>
12
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13
    <jetty-version>9.4.26.v20200117</jetty-version>
14
    <javadoc.opts>-Xdoclint:none</javadoc.opts>
15
  </properties>
16

  
17
  <scm>
18
    <!-- see section Provider Configuration in https://maven.apache.org/scm/subversion.html 
19
      for instructions on how to externalize credentials in $user.home/.scm/svn-settings.xml -->
20
    <connection>scm:git:https://dev.e-taxonomy.eu/git/cdm-server.git</connection>
21
    <developerConnection>scm:git:ssh://git@dev.e-taxonomy.eu/var/git/cdm-server.git</developerConnection>
22
    <url>https://dev.e-taxonomy.eu/gitweb/cdm-server.git/tree</url>
23
  </scm>
24
  
25
  <prerequisites>
26
    <maven>3.6.3</maven>
27
  </prerequisites>
28

  
29
  <mailingLists>
30
    <mailingList>
31
        <name>EDIT Platform Developers</name>
32
        <subscribe>
33
            https://lists.fu-berlin.de/listinfo/editplatformdevelopers#subscribe
34
        </subscribe>
35
        <unsubscribe>
36
            https://lists.fu-berlin.de/listinfo/editplatformdevelopers#options
37
        </unsubscribe>
38
    </mailingList>
39
    <mailingList>
40
        <name>EDIT User</name>
41
        <subscribe>
42
            https://lists.fu-berlin.de/listinfo/edituser#subscribe
43
        </subscribe>
44
        <unsubscribe>
45
            https://lists.fu-berlin.de/listinfo/edituser#options
46
        </unsubscribe>
47
    </mailingList>
48
  </mailingLists>
49
  <licenses>
50
    <license>
51
      <name>Mozilla Public License Version 1.1</name>
52
      <url>https://www.mozilla.org/MPL/MPL-1.1.html</url>
53
      <distribution>repo</distribution>
54
    </license>
55
  </licenses>
56
  <developers>
57
    <developer>
58
      <!-- your SVN account id please! -->
59
      <id>a.kohlbecker</id>
60
      <name>
61
        Andreas Kohlbecker
62
      </name>
63
      <email>a.kohlbecker [at] bgbm.org</email>
64
      <organization>
65
        Botanical Garden Botanical Museum Berlin
66
      </organization>
67
      <organizationUrl>https://www.bgbm.org/en/biodiversity-informatics</organizationUrl>
68
      <timezone>+1</timezone>
69
      <roles>
70
        <role>Developer</role>
71
      </roles>
72
      <url />
73
    </developer>
74
  </developers>
75

  
76
  <!-- contributors> <contributor> <name>Test-Contributor</name> </contributor> 
77
    </contributors -->
78
  <issueManagement>
79
    <system>Redmine</system>
80
    <url>https://dev.e-taxonomy.eu/redmine/</url>
81
  </issueManagement>
82
  <ciManagement>
83
    <system>Jenkins</system>
84
    <url>https://int.e-taxonomy.eu/jenkins</url>
85
  </ciManagement>
86
  <!-- **** REPOSITORIES **** -->
87
  <profiles>
88
    <profile>
89
      <id>local-repository</id>
90
      <activation>
91
        <property>
92
          <name>localrepo</name>
93
        </property>
94
      </activation>
95
      <repositories>
96
        <repository>
97
          <id>EditLocalRepository</id>
98
          <url>file://${localrepo}/eu/etaxonomy/</url>
99
          <releases>
100
            <enabled>false</enabled>
101
            <updatePolicy>always</updatePolicy>
102
          </releases>
103
          <snapshots>
104
            <enabled>true</enabled>
105
            <updatePolicy>always</updatePolicy>
106
          </snapshots>
107
        </repository>
108
      </repositories>
109
    </profile>
110
  </profiles>
111
  <repositories>
112
    <!-- sun repository -->
113
    <repository>
114
      <id>java.net-Public</id>
115
      <name>Maven Java Net Snapshots and Releases</name>
116
      <url>https://maven.java.net/content/groups/public/</url>
117
    </repository>
118
    <!-- the localhost Maven Repository -->
119
    <repository>
120
      <id>EditLocalRepository</id>
121
      <!-- disable the local repo to let maven always retrieve the latest 
122
        cdm-webapp.war TODO: use ${localrepo} for ${user.home}/.m2/repository 
123
        in MAVEN 3 -->
124
      <url>file://${user.home}/.m2/repository/eu/etaxonomy/</url>
125
      <releases>
126
        <enabled>false</enabled>
127
        <updatePolicy>always</updatePolicy>
128
      </releases>
129
      <snapshots>
130
        <enabled>false</enabled>
131
        <updatePolicy>always</updatePolicy>
132
      </snapshots>
133
    </repository>
134
    <!-- the EDIT Maven Repository -->
135
    <repository>
136
      <id>EditRepository</id>
137
      <url>https://cybertaxonomy.eu/mavenrepo/</url>
138
      <releases>
139
        <enabled>true</enabled>
140
        <updatePolicy>always</updatePolicy>
141
      </releases>
142
      <snapshots>
143
        <enabled>true</enabled>
144
        <updatePolicy>always</updatePolicy>
145
      </snapshots>
146
    </repository>
147
    <!-- apache incubating repository -->
148
    <repository>
149
      <id>ApacheIncubating</id>
150
      <url>https://people.apache.org/repo/m2-incubating-repository/</url>
151
    </repository>
152
  </repositories>
153

  
154
  <!-- **** PLUGINS **** -->
155
  <build>
156
    <resources>
157
      <!-- ${basedir}/src/main/resources -->
158
      <resource>
159
        <!-- replace the project-version placeholder in the version.properties 
160
          file. This property can then be used to retrieve the version number in the 
161
          Bootloader -->
162
        <targetPath>${project.build.directory}/classes</targetPath>
163
        <filtering>true</filtering>
164
        <directory>${basedir}/src/main/resources</directory>
165
        <includes>
166
          <include>version.properties</include>
167
        </includes>
168
      </resource>
169
      <resource>
170
        <!-- all other files in classes -->
171
        <targetPath>${project.build.directory}/classes</targetPath>
172
        <directory>${basedir}/src/main/resources</directory>
173
        <excludes>
174
          <exclude>version.properties</exclude>
175
        </excludes>
176
      </resource>
177
      <!-- ${basedir}/src/main/installer/win32 -->
178
      <resource>
179
        <targetPath>${project.build.directory}/installer</targetPath>
180
        <filtering>true</filtering>
181
        <directory>${basedir}/src/main/installer</directory>
182
        <includes>
183
          <include>win32/program-folder/etc/CDMServer.conf</include>
184
          <include>win32/setup.nsi</include>
185
        </includes>
186
      </resource>
187
      <resource>
188
        <targetPath>${project.build.directory}/installer</targetPath>
189
        <directory>${basedir}/src/main/installer</directory>
190
        <excludes>
191
          <exclude>win32/program-folder/etc/CDMServer.conf</exclude>
192
          <exclude>win32/setup.nsi</exclude>
193
        </excludes>
194
      </resource>
195
    </resources>
196
    <plugins>
197
      <!-- ====== IDE ====== -->
198
      <plugin>
199
        <groupId>org.apache.maven.plugins</groupId>
200
        <artifactId>maven-eclipse-plugin</artifactId>
201
        <version>2.10</version>
202
        <configuration>
203
          <downloadSources>true</downloadSources>
204
          <downloadJavadocs>true</downloadJavadocs>
205
        </configuration>
206
      </plugin>
207

  
208
      <plugin>
209
        <!-- only needed for testing the svn credentials credentials are 
210
          usually stored by svn automatically unless not configured differently in 
211
          {user.home}\.subversion\config So in order to use a specific svn account 
212
          with maven firts to a commit manually by svn ci -m "commit message" and answer 
213
          the question wether to store the credential with yes. There is no specific 
214
          maven configuration required for svn to work with maven! -->
215
        <groupId>org.apache.maven.plugins</groupId>
216
        <artifactId>maven-scm-plugin</artifactId>
217
        <version>1.9.2</version>
218
        <configuration>
219
          <connectionType>developerConnection</connectionType>
220
        </configuration>
221
      </plugin>
222
      <!-- ====== CREATE ====== -->
223
      <plugin>
224
        <groupId>org.apache.maven.plugins</groupId>
225
        <artifactId>maven-resources-plugin</artifactId>
226
        <!-- creates "compile" error in IDE in maven-dependency-plugin section (see below) since upgrading from 3.1.0 to 3.2.0 -->
227
        <version>3.2.0</version>
228
      </plugin>
229
      <plugin>
230
        <groupId>org.apache.maven.plugins</groupId>
231
        <artifactId>maven-compiler-plugin</artifactId>
232
        <version>3.9.0</version>
233
        <configuration>
234
          <source>1.8</source>
235
          <target>1.8</target>
236
        </configuration>
237
      </plugin>
238
      <plugin>
239
        <groupId>org.apache.maven.plugins</groupId>
240
        <artifactId>maven-surefire-plugin</artifactId>
241
        <version>2.18.1</version>
242
        <configuration>
243
          <argLine>-Xmx512M</argLine>
244
          <includes>
245
            <include>**/*Test.java</include>
246
          </includes>
247
          <systemProperties>
248
            <property>
249
              <name>hibernate.connection.driver_class</name>
250
              <value>${hibernate.connection.driver_class}</value>
251
            </property>
252
            <property>
253
              <name>hibernate.connection.url</name>
254
              <value>${hibernate.connection.url}</value>
255
            </property>
256
            <property>
257
              <name>hibernate.connection.username</name>
258
              <value>${hibernate.connection.username}</value>
259
            </property>
260
            <property>
261
              <name>hibernate.connection.password</name>
262
              <value>${hibernate.connection.password}</value>
263
            </property>
264
          </systemProperties>
265
        </configuration>
266
      </plugin>
267
      <!-- ====== CREATE ====== -->
268
      <plugin>
269
        <groupId>org.codehaus.mojo</groupId>
270
        <artifactId>buildnumber-maven-plugin</artifactId>
271
        <version>1.4</version>
272
        <executions>
273
          <execution>
274
            <!--<phase>deploy</phase> -->
275
            <goals>
276
              <goal>create</goal>
277
            </goals>
278
          </execution>
279
        </executions>
280
        <configuration>
281
          <doCheck>false</doCheck>
282
          <!-- Only create the build number if there are no local modifications -->
283
          <doUpdate>false</doUpdate>
284
          <!-- automatically update the local svn copy -->
285
        </configuration>
286
      </plugin>
287
      <plugin>
288
        <groupId>org.apache.maven.plugins</groupId>
289
        <artifactId>maven-site-plugin</artifactId>
290
        <version>3.10.0</version>
291
        <configuration>
292
          <locales>en</locales>
293
          <outputEncoding>UTF-8</outputEncoding>
294
          <chmod>false</chmod>
295
        </configuration>
296
      </plugin>
297
      <!-- ====== VERIFY ====== -->
298
      <plugin>
299
        <groupId>org.apache.maven.plugins</groupId>
300
        <artifactId>maven-source-plugin</artifactId>
301
        <version>3.2.1</version>
302
        <executions>
303
          <execution>
304
            <id>attach-sources</id>
305
            <phase>verify</phase>
306
            <goals>
307
              <goal>jar</goal>
308
            </goals>
309
          </execution>
310
        </executions>
311
      </plugin>
312
      <plugin>
313
        <groupId>org.apache.maven.plugins</groupId>
314
        <artifactId>maven-javadoc-plugin</artifactId>
315
        <version>3.3.1</version>
316
        <configuration>
317
          <aggregate>true</aggregate>
318
          <stylesheet>maven</stylesheet>
319
          <failOnError>false</failOnError>
320
          <additionalparam>${javadoc.opts}</additionalparam>
321
        </configuration>
322
      </plugin>
323

  
324
      <!-- ====== PROCESS-SOURCES ====== -->
325
      <plugin>
326
        <groupId>org.apache.maven.plugins</groupId>
327
        <artifactId>maven-dependency-plugin</artifactId>
328
        <version>3.2.0</version>
329
        <executions>
330
          <!-- creates "compile" error in IDE in maven-dependency-plugin section (see below) since upgrading from 3.1.0 to 3.2.0 -->
331
          <execution>
332
            <id>copy</id>
333
            <goals>
334
              <goal>copy</goal>
335
            </goals>
336
            <configuration>
337
              <silent>flase</silent>
338
              <stripVersion>true</stripVersion>
339
              <overWriteSnapshots>true</overWriteSnapshots>
340
              <overWriteIfNewer>true</overWriteIfNewer>
341
              <overWriteReleases>true</overWriteReleases>
342
              <artifactItems>
343
                <artifactItem>
344
                  <!-- copy the cdm-webapp-${project.version}.war 
345
                    to the build dir -->
346
                  <groupId>eu.etaxonomy</groupId>
347
                  <artifactId>cdm-webapp</artifactId>
348
                  <version>${project.version}</version>
349
                  <type>war</type>
350
                  <!-- <classifier> [classifier - optional] </classifier> -->
351
                  <overWrite>true</overWrite>
352
                  <destFileName>cdm-webapp-${project.version}.war</destFileName>
353
                  <outputDirectory>
354
                    ${project.build.directory}
355
                  </outputDirectory>
356
                </artifactItem>
357
              </artifactItems>
358
            </configuration>
359
          </execution>
360
        </executions>
361
      </plugin>
362

  
363
      <!-- ====== PACKAGE ====== -->
364
      <!-- package the default webapp, // (and also add the cdm-webapp.war) 
365
        test with: mvn war:war -->
366
      <plugin>
367
        <groupId>org.apache.maven.plugins</groupId>
368
        <artifactId>maven-war-plugin</artifactId>
369
        <version>3.3.2</version>
370
        <configuration>
371
          <warName>default-webapp</warName>
372
          <packagingExcludes>
373
            cdm-webapp-*.war
374
          </packagingExcludes>
375
          <!-- <overlays> <overlay> <groupId>eu.etaxonomy</groupId> <artifactId>cdm-webapp</artifactId> 
376
            <!- - version is set in dependency - -> <skip>true</skip> <!- - Do Not overlay 
377
            - -> </overlay> </overlays> -->
378
        </configuration>
379
        <executions>
380
          <execution>
381
            <phase>package</phase>
382
            <goals>
383
              <goal>war</goal>
384
            </goals>
385
          </execution>
386
        </executions>
387
      </plugin>
388
      <plugin>
389
        <!-- Assemble the runnable server jar test with: mvn assembly:single -->
390
        <groupId>org.apache.maven.plugins</groupId>
391
        <artifactId>maven-assembly-plugin</artifactId>
392
        <version>3.3.0</version>
393
        <configuration>
394
          <appendAssemblyId>false</appendAssemblyId>
395
          <descriptors>
396
            <descriptor>src/main/assembly/assembly.xml</descriptor>
397
          </descriptors>
398
          <archive>
399
            <manifest>
400
              <mainClass>eu.etaxonomy.cdm.server.Bootloader</mainClass>
401
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
402
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
403
            </manifest>
404
          </archive>
405
        </configuration>
406
        <executions>
407
          <execution>
408
            <id>make-assembly</id>
409
            <phase>package</phase>
410
            <goals>
411
              <goal>single</goal>
412
            </goals>
413
          </execution>
414
        </executions>
415
      </plugin>
416
      <plugin>
417
      <!-- ====== INSTALL ====== -->
418
        <!-- Build a Debian package -->
419
        <groupId>org.apache.maven.plugins</groupId>
420
        <artifactId>maven-antrun-plugin</artifactId>
421
        <version>3.0.0</version>
422
        <executions>
423
          <execution>
424
            <phase>install</phase>
425
            <configuration>
426
              <target>
427
                <property name="project.fullversionstring" value="${project.version}" />
428
                <property name="project.version" value="${project.version}" />
429
                <ant antfile="${project.basedir}/src/main/installer/linux/build-deb.xml" dir="${project.basedir}" />
430
              </target>
431
            </configuration>
432
            <goals>
433
              <goal>run</goal>
434
            </goals>
435
          </execution>
436
        </executions>
437
      </plugin>
438
      <!-- Build windows installer -->
439
      <plugin>
440
        <groupId>org.codehaus.mojo</groupId>
441
        <artifactId>exec-maven-plugin</artifactId>
442
        <version>3.0.0</version>
443
        <executions>
444
          <execution>
445
            <phase>install</phase>
446
            <goals>
447
              <goal>exec</goal>
448
            </goals>
449
          </execution>
450
        </executions>
451
        <configuration>
452
          <executable>makensis</executable>
453
          <!-- optional -->
454
          <workingDirectory>/tmp</workingDirectory>
455
          <arguments>
456
            <!-- <argument>-V3</argument> -->
457
            <argument>${project.basedir}/target/installer/win32/setup.nsi</argument>
458
          </arguments>
459
        </configuration>
460
      </plugin>
461
      <!-- Build Docker image -->
462
      <plugin>
463
        <groupId>io.fabric8</groupId>
464
        <artifactId>docker-maven-plugin</artifactId>
465
        <version>0.38.1</version>
466
        <configuration>
467
           <images>
468
             <image>
469
               <!-- docker hub does not allow dots in organizations, so the name is
470
                    just 'cybertaxonomy', this MUST NOT BE CHANGED!!!!  -->
471
               <name>cybertaxonomy/${project.artifactId}:${project.version}</name>
472
               <build>
473
                 <!-- use a Dockerfile in the directory src/main/docker/production -->
474
                 <dockerFileDir>production</dockerFileDir>
475
                 <!-- fabric8-maven-plugin filters given Dockerfile with Maven properties -->
476
                 <!-- For example, the default <filter>${*}</filter> parse Maven properties 
477
                     in the format that we know. If you specify a single character for 
478
                     <filter> then this delimiter is taken for both, the start and the end. 
479
                     E.g a <filter>@</filter> triggers on parameters in the format @…​@, -->
480
                 <filter>@</filter>
481
                 <assembly>
482
                    <descriptorRef>artifact</descriptorRef>
483
                    <!--
484
                         1. The maven plugin copies the jar to the artifacts assembly location at:
485
                            ./target/docker/eu.etaxonomy/cdm-server/${project.version}/build/maven/cdm-server-${project.version}.jar
486
                         2. a tar is being created at target/docker/eu.etaxonomy/cdm-server/${project.version}/tmp/docker-build.tar 
487
                            which contains all files located in /target/docker/production and the artifacts. 
488
                            Artifacts are put into the folder maven/ inside the tar archive
489
                         3. The tar archive is passed to the docker daemon and is used as working directory for the build 
490
                     -->
491
                  </assembly>
492
               </build>
493
               
494
               <!-- TODO the run configuration if needed, see src/main/docker/production/README for examples -->
495
               <!-- 
496
               <run>
497
                 <ports>8080:8080</ports>
498
               </run>
499
                -->
500
             </image>
501
           </images>
502

  
503
        </configuration>
504

  
505
        <!-- Connect start/stop to pre- and
506
             post-integration-test phase, respectively if you want to start
507
             your docker containers during integration tests -->
508
        <executions>
509
        </executions>
510
      </plugin>
511
      <!-- ====== DEPLOY ====== -->
512
      <plugin>
513
        <groupId>org.apache.maven.plugins</groupId> 
514
        <artifactId>maven-deploy-plugin</artifactId>
515
        <version>2.8.2</version>
516
      </plugin> 
517
      <plugin>
518
        <groupId>ch.dvbern.oss.maven.jgitflow</groupId>
519
        <artifactId>jgitflow-maven-plugin</artifactId>
520
        <version>1.0-m8</version>
521
        <configuration>
522
          <pushHotfixes>true</pushHotfixes>
523
          <pushReleases>true</pushReleases> 
524
          <enableSshAgent>true</enableSshAgent>
525
          <allowSnapshots>true</allowSnapshots>
526
          <allowUntracked>true</allowUntracked>
527
        </configuration>
528
        <dependencies>
529
          <!-- 
530
                upgrading dependency jsch.agent.version of jgit-flow plugin to 0.1.53 
531
                in order to have ssl key exchange algorithms compatible with openssh 6.7 
532
             -->
533
          <dependency>
534
            <groupId>com.jcraft</groupId>
535
            <artifactId>jsch</artifactId>
536
            <version>0.1.55</version>
537
          </dependency>
538
        </dependencies>
539
      </plugin>
540
      <plugin>
541
        <groupId>org.codehaus.mojo</groupId>
542
        <artifactId>wagon-maven-plugin</artifactId>
543
        <version>1.0</version>
544
        <!-- Problems with the wagon-maven-plugin have been encounterd on 
545
          Windows, it should work properly on linux though. -->
546
        <executions>
547
          <execution>
548
            <phase>deploy</phase>
549
            <goals>
550
              <goal>upload</goal>
551
            </goals>
552
          </execution>
553
        </executions>
554
        <configuration>
555
          <fromDir>target</fromDir>
556
          <includes>*${project.version}*.deb,*${project.version}*.jar,*${project.version}*.exe</includes>
557
          <url>scpexe://wp5.e-taxonomy.eu/var/www/download/cdmserver/${project.version}</url>
558
          <serverId>wp5.e-taxonomy.eu</serverId>
559
        </configuration>
560
      </plugin>
561
    </plugins>
562
    <!-- EXTENSIONS -->
563
    <extensions>
564
      <extension>
565
        <groupId>org.apache.maven.wagon</groupId>
566
        <artifactId>wagon-scm</artifactId>
567
        <version>3.5.1</version>
568
      </extension>
569
      <extension>
570
        <groupId>org.apache.maven.wagon</groupId>
571
        <artifactId>wagon-ssh</artifactId>
572
        <version>3.5.1</version>
573
      </extension>
574
      <extension>
575
        <groupId>org.apache.maven.wagon</groupId>
576
        <artifactId>wagon-ssh-external</artifactId>
577
        <version>3.5.1</version>
578
      </extension>
579
      <extension>
580
        <groupId>org.apache.maven.scm</groupId>
581
        <artifactId>maven-scm-manager-plexus</artifactId>
582
        <version>1.12.2</version>
583
      </extension>
584
      <extension>
585
        <groupId>org.apache.maven.scm</groupId>
586
        <artifactId>maven-scm-provider-svnexe</artifactId>
587
        <version>1.12.2</version>
588
      </extension>
589
      <!-- WebDAV plugin to upload snapshots -->
590
      <extension>
591
        <groupId>org.apache.maven.wagon</groupId>
592
        <artifactId>wagon-webdav-jackrabbit</artifactId>
593
        <version>3.5.1</version>
594
      </extension>
595
    </extensions>
596
  </build>
597

  
598
  <reporting>
599
    <plugins>
600
      <plugin>
601
        <!-- you will want to start by publishing your classes' Javadocs -->
602
        <groupId>org.apache.maven.plugins</groupId>
603
        <artifactId>maven-javadoc-plugin</artifactId>
604
        <configuration>    
605
          <additionalparam>${javadoc.opts}</additionalparam>
606
        </configuration>
607
      </plugin>
608
      <plugin>
609
        <!-- this will generate an indexed and cross-referenced HTML version 
610
          of your source code -->
611
        <groupId>org.apache.maven.plugins</groupId>
612
        <artifactId>maven-jxr-plugin</artifactId>
613
        <version>2.5</version>
614
      </plugin>
615
      <plugin>
616
        <!-- if you use @todo tags to remind you of things to be done (which 
617
          is a good coding practice), the taglist report will generate a list of all 
618
          the items marked @todo or TODO -->
619
        <groupId>org.codehaus.mojo</groupId>
620
        <artifactId>taglist-maven-plugin</artifactId>
621
        <version>2.4</version>
622
      </plugin>
623
      <plugin>
624
        <!-- Test coverage can be a useful indication of the quality of your 
625
          unit tests. It basically tells you how much of your code is actually run 
626
          by your unit tests, which, in turn, can give you a good idea of the tests' 
627
          quality -->
628
        <groupId>org.codehaus.mojo</groupId>
629
        <artifactId>cobertura-maven-plugin</artifactId>
630
        <version>2.7</version>
631
      </plugin>
632

  
633

  
634
    </plugins>
635
  </reporting>
636
  <!-- DISTRIBUTION MANAGEMENT -->
637
  <distributionManagement>
638
    <site>
639
      <id>wp5.e-taxonomy.eu</id>
640
      <url>
641
        scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/cdm-server
642
      </url>
643
    </site>
644
    <repository>
645
      <uniqueVersion>false</uniqueVersion>
646
      <id>wp5.e-taxonomy.eu</id>
647
      <name>Edit Maven Repository</name>
648
      <url>
649
        scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/mavenrepo
650
      </url>
651
    </repository>
652
  </distributionManagement>
653

  
654
  <dependencies>
655
    <!-- maven 3 no longer supports uniqueVersions for SNAPSHOT artifacts. 
656
      The cdm-server Bootlader however relies on a specific name of the cdm-webapp 
657
      war file. In order to achieve this with maven 3 the below dependency is now 
658
      handled more explicitely by utilizing the dependency:copy-dependencies goal 
659
      in the build/plugins section -->
660
      <!-- <dependency> -->
661
      <!--   <groupId>eu.etaxonomy</groupId>  -->
662
      <!--   <artifactId>cdm-webapp</artifactId> -->
663
      <!--   <version>${project.version}</version>  -->
664
      <!--   <type>war</type> -->
665
      <!-- </dependency> -->
666
      
667
    <!-- JETTY -->
668
    <dependency>
669
      <groupId>org.eclipse.jetty</groupId>
670
      <artifactId>jetty-webapp</artifactId>
671
      <version>${jetty-version}</version>
672
    </dependency>
673
    <dependency>
674
        <groupId>org.eclipse.jetty</groupId>
675
        <artifactId>jetty-webapp-logging</artifactId>
676
        <version>9.4.20.v20190813</version><!-- versioning independent of jetty core -->
677
        <type>pom</type><!-- we only need the dependencies like jul-to-slf4j managed in this pom! -->
678
    </dependency>
679
    <dependency>
680
      <groupId>org.eclipse.jetty</groupId>
681
      <artifactId>jetty-plus</artifactId>
682
      <version>${jetty-version}</version>
683
    </dependency>
684
    <dependency>
685
      <groupId>org.eclipse.jetty</groupId>
686
      <artifactId>jetty-jmx</artifactId>
687
      <version>${jetty-version}</version>
688
    </dependency>
689
    <dependency>
690
      <groupId>org.eclipse.jetty</groupId>
691
      <artifactId>jetty-security</artifactId>
692
      <version>${jetty-version}</version>
693
    </dependency>
694
    <dependency>
695
      <groupId>org.eclipse.jetty</groupId>
696
      <artifactId>jetty-annotations</artifactId>
697
      <version>${jetty-version}</version>
698
    </dependency>
699
    <dependency>
700
      <groupId>org.eclipse.jetty</groupId>
701
      <artifactId>apache-jsp</artifactId>
702
      <version>${jetty-version}</version>
703
      <type>jar</type>
704
    </dependency>
705
    <dependency>
706
      <groupId>org.eclipse.jetty</groupId>
707
      <artifactId>apache-jstl</artifactId>
708
      <version>${jetty-version}</version>
709
      <type>pom</type>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff