pom.xml 13.8 KB
Newer Older
1 2 3 4
<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">
	<modelVersion>4.0.0</modelVersion>
	<groupId>de.thm.arsnova</groupId>
5
	<artifactId>arsnova-backend</artifactId>
6
	<version>2.5.2-SNAPSHOT</version>
7
	<packaging>war</packaging>
8

9
	<properties>
10
		<io.spring.platform-version>Brussels-SR4</io.spring.platform-version>
11
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
12
		<timestamp>${maven.build.timestamp}</timestamp>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
13
		<sonar.language>java</sonar.language>
14 15 16
		<mobile.production.path>../arsnova-mobile/src/main/webapp/build/production/ARSnova</mobile.production.path>
		<mobile.testing.path>../arsnova-mobile/src/main/webapp/build/testing/ARSnova</mobile.testing.path>
		<mobile.path>${mobile.production.path}</mobile.path>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
17
		<customization.path>${basedir}/../arsnova-customization/src/main/webapp</customization.path>
18
	</properties>
19

20 21 22 23
	<developers>
		<developer>
			<name>Klaus Quibeldey-Cirkel</name>
			<organization>Technische Hochschule Mittelhessen</organization>
24
			<organizationUrl>https://www.thm.de</organizationUrl>
25
		</developer>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
26 27 28
		<developer>
			<name>Daniel Gerhardt</name>
			<organization>Technische Hochschule Mittelhessen</organization>
29
			<organizationUrl>https://www.thm.de</organizationUrl>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
30 31
			<email>daniel.gerhardt@mni.thm.de</email>
		</developer>
32
		<developer>
33
			<name>Tom Käsler</name>
34
			<organization>Technische Hochschule Mittelhessen</organization>
35
			<organizationUrl>https://www.thm.de</organizationUrl>
36
			<email>tom.kaesler@mni.thm.de</email>
37 38
		</developer>
	</developers>
39

40
	<issueManagement>
41 42
		<system>GitLab</system>
		<url>https://git.thm.de/arsnova/arsnova/issues</url>
43 44 45
	</issueManagement>

	<ciManagement>
46 47
		<system>GitLab CI</system>
		<url>https://git.thm.de/arsnova/arsnova-backend/pipelines</url>
48 49 50
	</ciManagement>

	<scm>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
51
		<url>https://github.com/thm-projects/arsnova-backend</url>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
52
		<connection>scm:git:https://github.com/thm-projects/arsnova-backend.git</connection>
53
		<developerConnection>scm:git:ssh://git@git.thm.de/arsnova/arsnova-backend.git</developerConnection>
54
	</scm>
55

56 57 58
	<licenses>
		<license>
			<name>GNU General Public License v3.0 or later</name>
59
			<url>https://www.gnu.org/licenses/gpl.txt</url>
60 61
		</license>
	</licenses>
62

63 64 65 66 67
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-project-info-reports-plugin</artifactId>
68
				<version>2.9</version>
69 70 71 72
				<configuration>
					<dependencyLocationsEnabled>false</dependencyLocationsEnabled>
					<dependencyDetailsEnabled>false</dependencyDetailsEnabled>
				</configuration>
73 74 75 76
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
77
				<version>2.10.4</version>
78 79
				<configuration></configuration>
			</plugin>
80 81
		</plugins>
	</reporting>
82

83 84
	<repositories>
		<repository>
85
			<id>thmrepo</id>
86
			<name>THM Maven Repository</name>
87
			<url>https://maven.mni.thm.de/content/repositories</url>
88
		</repository>
89
		<repository>
90
			<id>thmreposnapshots</id>
91
			<name>THM Maven Snapshot Repository</name>
92
			<url>https://maven.mni.thm.de/content/repositories/snapshots</url>
93
		</repository>
94 95 96
		<repository>
			<id>thmmirror</id>
			<name>THM Maven Mirror</name>
97
			<url>https://maven.mni.thm.de/content/groups/public</url>
98
		</repository>
99
		<repository>
100
			<id>sonatypesnapshots</id>
101 102 103 104
			<name>Sonatype Snapshot Repository</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
		</repository>
	</repositories>
105

106 107 108 109 110 111 112 113 114 115 116 117
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>io.spring.platform</groupId>
				<artifactId>platform-bom</artifactId>
				<version>${io.spring.platform-version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

118
	<dependencies>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
119 120 121 122
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
		</dependency>
123
		<!-- Spring -->
124
		<dependency>
125 126 127 128 129 130 131 132 133
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<exclusions>
				<!-- Exclude Commons Logging in favor of SLF4j -->
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
134 135
		</dependency>
		<dependency>
136 137
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
138
		</dependency>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
139 140 141 142
		<dependency>
			<groupId>org.springframework.integration</groupId>
			<artifactId>spring-integration-mail</artifactId>
		</dependency>
143
		<!-- Security -->
144 145 146 147 148 149
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-config</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.security</groupId>
150
			<artifactId>spring-security-web</artifactId>
151 152
		</dependency>
		<dependency>
153 154
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-taglibs</artifactId>
155 156
		</dependency>
		<dependency>
157 158
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-cas</artifactId>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
159 160 161 162 163 164 165
			<exclusions>
				<!-- Exclude log4j-over-slf4j to prevent delegation loop -->
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
			</exclusions>
166
		</dependency>
167 168 169 170
		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-ldap</artifactId>
		</dependency>
171 172 173 174
		<dependency>
			<groupId>com.google.guava</groupId>
			<artifactId>guava</artifactId>
		</dependency>
175 176 177
		<dependency>
			<groupId>cglib</groupId>
			<artifactId>cglib</artifactId>
178
			<version>3.2.5</version>
179
		</dependency>
180 181 182 183 184 185
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
Julian Hochstetter's avatar
Julian Hochstetter committed
186
			<artifactId>slf4j-log4j12</artifactId>
187
		</dependency>
Julian Hochstetter's avatar
Julian Hochstetter committed
188
		<dependency>
189 190 191
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>
192
		<dependency>
193
			<groupId>de.thm.couchdb4j</groupId>
194
			<artifactId>couchdb4j</artifactId>
195
			<version>0.7</version>
196 197 198
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
199
			<artifactId>javax.servlet-api</artifactId>
200
			<scope>provided</scope>
201
		</dependency>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
202
		<dependency>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
203 204
			<groupId>com.sun.mail</groupId>
			<artifactId>javax.mail</artifactId>
205
			<version>1.5.6</version>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
206
		</dependency>
Julian Hochstetter's avatar
Julian Hochstetter committed
207
		<dependency>
208 209
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
210
			<scope>test</scope>
211 212 213 214 215 216
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
217 218 219 220 221
		<dependency>
			<groupId>
				com.github.leleuj.springframework.security
			</groupId>
			<artifactId>spring-security-oauth-client</artifactId>
222
			<version>1.0.0</version>
223
		</dependency>
224 225 226
		<dependency>
			<groupId>com.corundumstudio.socketio</groupId>
			<artifactId>netty-socketio</artifactId>
227
			<version>1.7.12</version>
228
		</dependency>
229 230 231 232 233
		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<scope>test</scope>
		</dependency>
234 235
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
236
			<artifactId>jackson-annotations</artifactId>
237 238 239 240
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
241 242 243 244
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
245
		</dependency>
246 247 248 249 250 251 252 253 254
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
		</dependency>
		<dependency>
255
			<groupId>org.aspectj</groupId>
256 257 258 259 260 261
			<artifactId>aspectjweaver</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
		</dependency>
262 263 264
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
265
			<version>1.10.19</version>
266 267
			<scope>test</scope>
		</dependency>
268 269 270
		<dependency>
			<groupId>de.thm.arsnova.connector</groupId>
			<artifactId>connector-client</artifactId>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
271
			<version>0.73.0</version>
272
		</dependency>
273 274 275 276 277
		<dependency>
			<groupId>com.jayway.jsonpath</groupId>
			<artifactId>json-path-assert</artifactId>
			<scope>test</scope>
		</dependency>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
278 279 280 281 282 283 284 285 286 287
		<dependency>
			<groupId>org.apache.directory.server</groupId>
			<artifactId>apacheds-core</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.directory.server</groupId>
			<artifactId>apacheds-server-jndi</artifactId>
			<scope>runtime</scope>
		</dependency>
288
		<dependency>
289 290
			<groupId>io.swagger</groupId>
			<artifactId>swagger-annotations</artifactId>
291
			<version>1.5.16</version>
292
		</dependency>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
293
		<dependency>
294 295 296
			<groupId>com.codahale.metrics</groupId>
			<artifactId>metrics-annotation</artifactId>
			<version>3.0.2</version>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
297
		</dependency>
298 299 300
		<dependency>
			<groupId>org.checkerframework</groupId>
			<artifactId>checker-qual</artifactId>
301
			<version>2.1.14</version>
302
		</dependency>
303
	</dependencies>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
304

305
	<build>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>false</filtering>
				<excludes>
					<exclude>version.properties</exclude>
				</excludes>
			</resource>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
				<includes>
					<include>version.properties</include>
				</includes>
			</resource>
		</resources>

323 324 325 326
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
327
				<version>3.6.2</version>
328
				<configuration>
329 330
					<source>1.8</source>
					<target>1.8</target>
331 332
				</configuration>
			</plugin>
333
			<plugin>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
334
				<groupId>org.eclipse.jetty</groupId>
335
				<artifactId>jetty-maven-plugin</artifactId>
336
				<version>9.4.6.v20170531</version>
337 338
				<configuration>
					<scanIntervalSeconds>1</scanIntervalSeconds>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
339
					<webApp>
340
						<overrideDescriptor>src/main/webapp/WEB-INF/web-dev.xml</overrideDescriptor>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
341
						<webInfIncludeJarPattern>^$</webInfIncludeJarPattern>
342
					</webApp>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
343
					<contextHandlers>
344
						<contextHandler implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext">
Daniel Gerhardt's avatar
Daniel Gerhardt committed
345 346 347
							<contextPath>/mobile</contextPath>
							<resourceBase>${mobile.path}</resourceBase>
						</contextHandler>
348
						<contextHandler implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext">
Daniel Gerhardt's avatar
Daniel Gerhardt committed
349 350 351 352
							<contextPath>/customization</contextPath>
							<resourceBase>${customization.path}</resourceBase>
						</contextHandler>
					</contextHandlers>
353
				</configuration>
354
			</plugin>
355 356 357
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
358
				<version>3.6</version>
359 360 361 362
				<configuration>
					<locales>en</locales>
				</configuration>
			</plugin>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
363
			<plugin>
364
				<groupId>org.sonarsource.scanner.maven</groupId>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
365
				<artifactId>sonar-maven-plugin</artifactId>
366
				<version>3.3.0.603</version>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
367
			</plugin>
368 369 370
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
371
				<version>2.19.1</version>
372
			</plugin>
373
			<plugin>
374 375
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
376
				<version>0.7.9</version>
377 378 379 380 381 382 383 384 385 386 387 388 389 390 391
				<executions>
					<execution>
						<id>default-prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>default-report</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
392
			</plugin>
393 394 395
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
396
				<version>2.17</version>
397 398 399 400
				<configuration>
					<configLocation>ARSnova-checkstyle-checker.xml</configLocation>
				</configuration>
			</plugin>
401 402 403
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
404
				<version>2.2</version>
405 406 407
				<configuration>
					<url>http://localhost:8080/manager/text</url>
					<server>arsnova</server>
408
					<path>/api</path>
409 410
				</configuration>
			</plugin>
411 412 413
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
414
				<version>3.0.0</version>
415
			</plugin>
416 417 418
			<plugin>
				<groupId>com.github.kongchen</groupId>
				<artifactId>swagger-maven-plugin</artifactId>
419
				<version>3.1.5</version>
420 421 422 423
				<configuration>
					<apiSources>
						<apiSource>
							<springmvc>true</springmvc>
424 425 426 427 428 429 430 431
							<locations>
								<location>de.thm.arsnova.controller</location>
								<location>de.thm.arsnova.entities</location>
							</locations>
							<schemes>
								<scheme>http</scheme>
								<scheme>https</scheme>
							</schemes>
Tom Käsler's avatar
Tom Käsler committed
432
							<basePath>/api</basePath>
433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453
							<info>
								<title>ARSnova API Documentation</title>
								<version>${project.version}</version>
								<description>This is the documentation of the ARSnova API</description>
								<contact>
									<email>info@arsnova.eu</email>
								</contact>
							</info>
							<swaggerDirectory>${project.build.directory}/classes</swaggerDirectory>
						</apiSource>
					</apiSources>
				</configuration>
				<executions>
					<execution>
						<phase>compile</phase>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
454 455 456
			<plugin>
				<groupId>pl.project13.maven</groupId>
				<artifactId>git-commit-id-plugin</artifactId>
457
				<version>2.2.2</version>
Daniel Gerhardt's avatar
Daniel Gerhardt committed
458 459 460 461 462 463 464 465
				<executions>
					<execution>
						<goals>
							<goal>revision</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
466 467
		</plugins>
	</build>
468

Daniel Gerhardt's avatar
Daniel Gerhardt committed
469
	<name>ARSnova Backend</name>
470
	<description>ARSnova is a great audience response system</description>
471
	<url>https://arsnova.github.eu</url>
472 473
	<organization>
		<name>Technische Hochschule Mittelhessen</name>
474
		<url>https://www.thm.de</url>
475
	</organization>
476
</project>