1 | <project xmlns="http://maven.apache.org/POM/4.0.0"
|
---|
2 | 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 | <modelVersion>4.0.0</modelVersion>
|
---|
5 | <groupId>edu.illinois.library.cantaloupe</groupId>
|
---|
6 | <artifactId>cantaloupe</artifactId>
|
---|
7 | <packaging>war</packaging>
|
---|
8 | <version>4.0.3</version>
|
---|
9 | <name>Cantaloupe</name>
|
---|
10 | <url>https://medusa-project.github.io/cantaloupe/</url>
|
---|
11 | <inceptionYear>2015</inceptionYear>
|
---|
12 |
|
---|
13 | <properties>
|
---|
14 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
---|
15 | <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
---|
16 | <aws-sdk.version>1.11.291</aws-sdk.version>
|
---|
17 | <jackson.version>2.9.8</jackson.version>
|
---|
18 | <jetty.version>9.4.12.v20180830</jetty.version>
|
---|
19 | <jruby.version>9.1.17.0</jruby.version>
|
---|
20 | <restlet.version>2.3.11</restlet.version>
|
---|
21 | <surefire.version>2.21.0</surefire.version>
|
---|
22 | </properties>
|
---|
23 |
|
---|
24 | <developers>
|
---|
25 | <developer>
|
---|
26 | <id>alexd</id>
|
---|
27 | <name>Alex Dolski</name>
|
---|
28 | <email>[email protected]</email>
|
---|
29 | <organization>University of Illinois at Urbana-Champaign Library</organization>
|
---|
30 | <organizationUrl>https://www.library.illinois.edu/</organizationUrl>
|
---|
31 | <roles>
|
---|
32 | <role>founder</role>
|
---|
33 | <role>lead</role>
|
---|
34 | <role>developer</role>
|
---|
35 | <role>debugger</role>
|
---|
36 | <role>reviewer</role>
|
---|
37 | <role>support</role>
|
---|
38 | <role>maintainer</role>
|
---|
39 | </roles>
|
---|
40 | <timezone>-6</timezone>
|
---|
41 | </developer>
|
---|
42 | </developers>
|
---|
43 |
|
---|
44 | <scm>
|
---|
45 | <connection>scm:git:git://github.com/medusa-project/cantaloupe</connection>
|
---|
46 | <developerConnection>scm:git:[email protected]:medusa-project/cantaloupe</developerConnection>
|
---|
47 | <tag>HEAD</tag>
|
---|
48 | <url>https://github.com/medusa-project/cantaloupe</url>
|
---|
49 | </scm>
|
---|
50 | <issueManagement>
|
---|
51 | <system>GitHub Issues</system>
|
---|
52 | <url>https://github.com/medusa-project/cantaloupe/issues</url>
|
---|
53 | </issueManagement>
|
---|
54 |
|
---|
55 | <dependencies>
|
---|
56 |
|
---|
57 | <!-- Begin GSDL Splice -->
|
---|
58 | <dependency>
|
---|
59 | <groupId>org.greenstone</groupId>
|
---|
60 | <artifactId>gsdl3</artifactId>
|
---|
61 | <version>3.11</version>
|
---|
62 | <scope>system</scope>
|
---|
63 | <!--
|
---|
64 | <systemPath>${project.basedir}/src/main/resources/gsdl3.jar</systemPath>
|
---|
65 | -->
|
---|
66 | <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gsdl3.jar</systemPath>
|
---|
67 | </dependency>
|
---|
68 |
|
---|
69 | <dependency>
|
---|
70 | <groupId>org.greenstone</groupId>
|
---|
71 | <artifactId>gutil</artifactId>
|
---|
72 | <version>3.11</version>
|
---|
73 | <scope>system</scope>
|
---|
74 | <!--
|
---|
75 | <systemPath>${project.basedir}/src/main/resources/gutil.jar</systemPath>
|
---|
76 | -->
|
---|
77 | <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gutil.jar</systemPath>
|
---|
78 | </dependency>
|
---|
79 |
|
---|
80 | <dependency>
|
---|
81 | <groupId>log4j</groupId>
|
---|
82 | <artifactId>log4j</artifactId>
|
---|
83 | <version>1.2.8</version>
|
---|
84 | </dependency>
|
---|
85 |
|
---|
86 | <!-- End GSDL Splice -->
|
---|
87 |
|
---|
88 | <!-- Used by RedisCache -->
|
---|
89 | <dependency>
|
---|
90 | <groupId>biz.paluch.redis</groupId>
|
---|
91 | <artifactId>lettuce</artifactId>
|
---|
92 | <version>4.3.3.Final</version>
|
---|
93 | </dependency>
|
---|
94 | <!-- The application logger. -->
|
---|
95 | <dependency>
|
---|
96 | <groupId>ch.qos.logback</groupId>
|
---|
97 | <artifactId>logback-classic</artifactId>
|
---|
98 | <version>1.2.3</version>
|
---|
99 | </dependency>
|
---|
100 | <dependency>
|
---|
101 | <groupId>ch.qos.logback</groupId>
|
---|
102 | <artifactId>logback-core</artifactId>
|
---|
103 | <version>1.2.3</version>
|
---|
104 | </dependency>
|
---|
105 | <!-- Used by S3Source and S3Cache -->
|
---|
106 | <dependency>
|
---|
107 | <groupId>com.amazonaws</groupId>
|
---|
108 | <artifactId>aws-java-sdk-core</artifactId>
|
---|
109 | <version>${aws-sdk.version}</version>
|
---|
110 | </dependency>
|
---|
111 | <dependency>
|
---|
112 | <groupId>com.amazonaws</groupId>
|
---|
113 | <artifactId>aws-java-sdk-s3</artifactId>
|
---|
114 | <version>${aws-sdk.version}</version>
|
---|
115 | </dependency>
|
---|
116 | <!-- In-memory object cache: https://github.com/ben-manes/caffeine-->
|
---|
117 | <dependency>
|
---|
118 | <groupId>com.github.ben-manes.caffeine</groupId>
|
---|
119 | <artifactId>caffeine</artifactId>
|
---|
120 | <version>2.5.6</version>
|
---|
121 | </dependency>
|
---|
122 | <!-- Used in tests to test that System.exit() is called -->
|
---|
123 | <dependency>
|
---|
124 | <groupId>com.github.stefanbirkner</groupId>
|
---|
125 | <artifactId>system-rules</artifactId>
|
---|
126 | <version>1.15.1</version>
|
---|
127 | <scope>test</scope>
|
---|
128 | </dependency>
|
---|
129 | <!-- Used by HeapCache -->
|
---|
130 | <dependency>
|
---|
131 | <groupId>com.google.protobuf</groupId>
|
---|
132 | <artifactId>protobuf-java</artifactId>
|
---|
133 | <version>3.5.1</version>
|
---|
134 | </dependency>
|
---|
135 | <!-- Used by JdbcSourceTest and JdbcCacheTest -->
|
---|
136 | <dependency>
|
---|
137 | <groupId>com.h2database</groupId>
|
---|
138 | <artifactId>h2</artifactId>
|
---|
139 | <version>1.4.196</version>
|
---|
140 | <scope>test</scope>
|
---|
141 | </dependency>
|
---|
142 | <!-- Used by com.mortennobel.imagescaling -->
|
---|
143 | <dependency>
|
---|
144 | <groupId>com.jhlabs</groupId>
|
---|
145 | <artifactId>filters</artifactId>
|
---|
146 | <version>2.0.235</version>
|
---|
147 | </dependency>
|
---|
148 | <!-- Used by AzureStorageSource and AzureStorageCache-->
|
---|
149 | <dependency>
|
---|
150 | <groupId>com.microsoft.azure</groupId>
|
---|
151 | <artifactId>azure-storage</artifactId>
|
---|
152 | <version>5.2.0</version>
|
---|
153 | </dependency>
|
---|
154 | <!-- Provides a JDBC connection pool for JdbcSource and JdbcCache -->
|
---|
155 | <dependency>
|
---|
156 | <groupId>com.zaxxer</groupId>
|
---|
157 | <artifactId>HikariCP</artifactId>
|
---|
158 | <version>2.7.2</version>
|
---|
159 | </dependency>
|
---|
160 | <!-- Manages the application configuration. -->
|
---|
161 | <dependency>
|
---|
162 | <groupId>commons-configuration</groupId>
|
---|
163 | <artifactId>commons-configuration</artifactId>
|
---|
164 | <version>1.10</version>
|
---|
165 | </dependency>
|
---|
166 | <!-- IOUtils is used widely -->
|
---|
167 | <dependency>
|
---|
168 | <groupId>commons-io</groupId>
|
---|
169 | <artifactId>commons-io</artifactId>
|
---|
170 | <version>2.4</version>
|
---|
171 | </dependency>
|
---|
172 | <!-- Used by S3SourceTest and S3CacheTest -->
|
---|
173 | <dependency>
|
---|
174 | <groupId>io.findify</groupId>
|
---|
175 | <artifactId>s3mock_2.12</artifactId>
|
---|
176 | <version>0.2.4</version>
|
---|
177 | <scope>test</scope>
|
---|
178 | </dependency>
|
---|
179 | <!-- Dependency on part of Java EE that's available by default in Java 8
|
---|
180 | but not 9 -->
|
---|
181 | <dependency>
|
---|
182 | <groupId>javax.xml.bind</groupId>
|
---|
183 | <artifactId>jaxb-api</artifactId>
|
---|
184 | <version>2.3.0</version>
|
---|
185 | </dependency>
|
---|
186 | <!-- Enhanced ImageIO TIFF plugin supporting BigTIFF:
|
---|
187 | https://github.com/geosolutions-it/imageio-ext/ -->
|
---|
188 | <dependency>
|
---|
189 | <groupId>it.geosolutions.imageio-ext</groupId>
|
---|
190 | <artifactId>imageio-ext-tiff</artifactId>
|
---|
191 | <version>1.1.19</version>
|
---|
192 | </dependency>
|
---|
193 | <dependency>
|
---|
194 | <groupId>javax.servlet</groupId>
|
---|
195 | <artifactId>javax.servlet-api</artifactId>
|
---|
196 | <version>3.1.0</version>
|
---|
197 | <scope>provided</scope>
|
---|
198 | </dependency>
|
---|
199 | <dependency>
|
---|
200 | <groupId>org.apache.commons</groupId>
|
---|
201 | <artifactId>commons-lang3</artifactId>
|
---|
202 | <version>3.6</version>
|
---|
203 | </dependency>
|
---|
204 | <dependency>
|
---|
205 | <groupId>commons-codec</groupId>
|
---|
206 | <artifactId>commons-codec</artifactId>
|
---|
207 | <version>1.10</version>
|
---|
208 | </dependency>
|
---|
209 | <!-- This is used to fix a CVE-2015-6420 in commons-collections-3.2.1, a
|
---|
210 | transitive dependency -->
|
---|
211 | <dependency>
|
---|
212 | <groupId>commons-collections</groupId>
|
---|
213 | <artifactId>commons-collections</artifactId>
|
---|
214 | <version>3.2.2</version>
|
---|
215 | </dependency>
|
---|
216 | <!-- Provides PDFBox for PdfBoxProcessor. Note that there are also some
|
---|
217 | other dependencies in this POM used only by PDFBox. -->
|
---|
218 | <dependency>
|
---|
219 | <groupId>org.apache.pdfbox</groupId>
|
---|
220 | <artifactId>pdfbox</artifactId>
|
---|
221 | <version>2.0.13</version>
|
---|
222 | </dependency>
|
---|
223 | <!-- Assists PDFBox in decoding JBIG2-encoded images -->
|
---|
224 | <dependency>
|
---|
225 | <groupId>org.apache.pdfbox</groupId>
|
---|
226 | <artifactId>jbig2-imageio</artifactId>
|
---|
227 | <version>3.0.0</version>
|
---|
228 | </dependency>
|
---|
229 | <!-- Unit tests -->
|
---|
230 | <dependency>
|
---|
231 | <groupId>junit</groupId>
|
---|
232 | <artifactId>junit</artifactId>
|
---|
233 | <version>4.12</version>
|
---|
234 | <scope>test</scope>
|
---|
235 | </dependency>
|
---|
236 | <!-- Performance tests -->
|
---|
237 | <dependency>
|
---|
238 | <groupId>org.openjdk.jmh</groupId>
|
---|
239 | <artifactId>jmh-core</artifactId>
|
---|
240 | <version>1.19</version>
|
---|
241 | <scope>test</scope>
|
---|
242 | </dependency>
|
---|
243 | <dependency>
|
---|
244 | <groupId>org.openjdk.jmh</groupId>
|
---|
245 | <artifactId>jmh-generator-annprocess</artifactId>
|
---|
246 | <version>1.19</version>
|
---|
247 | <scope>test</scope>
|
---|
248 | </dependency>
|
---|
249 | <!-- Assists in parsing XMP metadata in RDF/XML -->
|
---|
250 | <dependency>
|
---|
251 | <groupId>org.apache.jena</groupId>
|
---|
252 | <artifactId>jena-core</artifactId>
|
---|
253 | <version>3.4.0</version>
|
---|
254 | </dependency>
|
---|
255 | <dependency>
|
---|
256 | <groupId>org.apache.jena</groupId>
|
---|
257 | <artifactId>jena-arq</artifactId>
|
---|
258 | <version>3.4.0</version>
|
---|
259 | </dependency>
|
---|
260 | <!-- Used for media type detection -->
|
---|
261 | <dependency>
|
---|
262 | <groupId>org.apache.tika</groupId>
|
---|
263 | <artifactId>tika-core</artifactId>
|
---|
264 | <version>1.20</version>
|
---|
265 | </dependency>
|
---|
266 | <!-- Assists PDFBox in decoding certain PDFs -->
|
---|
267 | <dependency>
|
---|
268 | <groupId>org.bouncycastle</groupId>
|
---|
269 | <artifactId>bcprov-jdk15on</artifactId>
|
---|
270 | <version>1.55</version>
|
---|
271 | </dependency>
|
---|
272 | <!-- Supports <if> expressions in logback.xml -->
|
---|
273 | <dependency>
|
---|
274 | <groupId>org.codehaus.janino</groupId>
|
---|
275 | <artifactId>janino</artifactId>
|
---|
276 | <version>2.7.8</version>
|
---|
277 | </dependency>
|
---|
278 | <!-- Provides HTTP/2 support in the Jetty client.
|
---|
279 | N.B.: ALPN support is in a different module. -->
|
---|
280 | <dependency>
|
---|
281 | <groupId>org.eclipse.jetty.http2</groupId>
|
---|
282 | <artifactId>http2-client</artifactId>
|
---|
283 | <version>${jetty.version}</version>
|
---|
284 | </dependency>
|
---|
285 | <dependency>
|
---|
286 | <groupId>org.eclipse.jetty.http2</groupId>
|
---|
287 | <artifactId>http2-http-client-transport</artifactId>
|
---|
288 | <version>${jetty.version}</version>
|
---|
289 | </dependency>
|
---|
290 | <!-- Provides HTTP/2 support in the Jetty server.
|
---|
291 | N.B.: ALPN support is in a different module. -->
|
---|
292 | <dependency>
|
---|
293 | <groupId>org.eclipse.jetty.http2</groupId>
|
---|
294 | <artifactId>http2-server</artifactId>
|
---|
295 | <version>${jetty.version}</version>
|
---|
296 | </dependency>
|
---|
297 | <!-- Enables support for ALPN in Jetty client.
|
---|
298 | N.B.: in Java 8, this requires an alpn-boot JAR on the boot classpath. -->
|
---|
299 | <dependency>
|
---|
300 | <groupId>org.eclipse.jetty</groupId>
|
---|
301 | <artifactId>jetty-alpn-client</artifactId>
|
---|
302 | <version>${jetty.version}</version>
|
---|
303 | </dependency>
|
---|
304 | <!-- Enables support for ALPN in Jetty server.
|
---|
305 | N.B.: in Java 8, this requires an alpn-boot JAR on the boot classpath. -->
|
---|
306 | <dependency>
|
---|
307 | <groupId>org.eclipse.jetty</groupId>
|
---|
308 | <artifactId>jetty-alpn-server</artifactId>
|
---|
309 | <version>${jetty.version}</version>
|
---|
310 | </dependency>
|
---|
311 | <!-- Enables Jetty client to support the ALPN built into Java 9 -->
|
---|
312 | <dependency>
|
---|
313 | <groupId>org.eclipse.jetty</groupId>
|
---|
314 | <artifactId>jetty-alpn-java-client</artifactId>
|
---|
315 | <version>${jetty.version}</version>
|
---|
316 | </dependency>
|
---|
317 | <!-- Enables Jetty server to support the ALPN built into Java 9 -->
|
---|
318 | <dependency>
|
---|
319 | <groupId>org.eclipse.jetty</groupId>
|
---|
320 | <artifactId>jetty-alpn-java-server</artifactId>
|
---|
321 | <version>${jetty.version}</version>
|
---|
322 | </dependency>
|
---|
323 | <!-- Used by HttpSource -->
|
---|
324 | <dependency>
|
---|
325 | <groupId>org.eclipse.jetty</groupId>
|
---|
326 | <artifactId>jetty-http</artifactId>
|
---|
327 | <version>${jetty.version}</version>
|
---|
328 | </dependency>
|
---|
329 | <dependency>
|
---|
330 | <groupId>org.eclipse.jetty</groupId>
|
---|
331 | <artifactId>jetty-io</artifactId>
|
---|
332 | <version>${jetty.version}</version>
|
---|
333 | </dependency>
|
---|
334 | <dependency>
|
---|
335 | <groupId>org.eclipse.jetty</groupId>
|
---|
336 | <artifactId>jetty-client</artifactId>
|
---|
337 | <version>${jetty.version}</version>
|
---|
338 | </dependency>
|
---|
339 | <!-- Provides the standalone servlet container -->
|
---|
340 | <dependency>
|
---|
341 | <groupId>org.eclipse.jetty</groupId>
|
---|
342 | <artifactId>jetty-util</artifactId>
|
---|
343 | <version>${jetty.version}</version>
|
---|
344 | </dependency>
|
---|
345 | <dependency>
|
---|
346 | <groupId>org.eclipse.jetty</groupId>
|
---|
347 | <artifactId>jetty-server</artifactId>
|
---|
348 | <version>${jetty.version}</version>
|
---|
349 | </dependency>
|
---|
350 | <dependency>
|
---|
351 | <groupId>org.eclipse.jetty</groupId>
|
---|
352 | <artifactId>jetty-servlet</artifactId>
|
---|
353 | <version>${jetty.version}</version>
|
---|
354 | </dependency>
|
---|
355 | <dependency>
|
---|
356 | <groupId>org.eclipse.jetty</groupId>
|
---|
357 | <artifactId>jetty-webapp</artifactId>
|
---|
358 | <version>${jetty.version}</version>
|
---|
359 | </dependency>
|
---|
360 | <!-- Enables colorized Logback console output in Windows -->
|
---|
361 | <dependency>
|
---|
362 | <groupId>org.fusesource.jansi</groupId>
|
---|
363 | <artifactId>jansi</artifactId>
|
---|
364 | <version>1.13</version>
|
---|
365 | </dependency>
|
---|
366 | <!-- JRuby is used to execute delegate script methods. -->
|
---|
367 | <dependency>
|
---|
368 | <groupId>org.jruby</groupId>
|
---|
369 | <artifactId>jruby-core</artifactId>
|
---|
370 | <version>${jruby.version}</version>
|
---|
371 | </dependency>
|
---|
372 | <!-- Needed by tests, but not necessary at compile time. -->
|
---|
373 | <dependency>
|
---|
374 | <groupId>org.jruby</groupId>
|
---|
375 | <artifactId>jruby-stdlib</artifactId>
|
---|
376 | <version>${jruby.version}</version>
|
---|
377 | <scope>runtime</scope>
|
---|
378 | </dependency>
|
---|
379 | <!-- Restlet is our REST framework. -->
|
---|
380 | <dependency>
|
---|
381 | <groupId>org.restlet.jee</groupId>
|
---|
382 | <artifactId>org.restlet</artifactId>
|
---|
383 | <version>${restlet.version}</version>
|
---|
384 | </dependency>
|
---|
385 | <!-- Jackson for data serialization -->
|
---|
386 | <dependency>
|
---|
387 | <groupId>com.fasterxml.jackson.core</groupId>
|
---|
388 | <artifactId>jackson-core</artifactId>
|
---|
389 | <version>${jackson.version}</version>
|
---|
390 | </dependency>
|
---|
391 | <dependency>
|
---|
392 | <groupId>com.fasterxml.jackson.core</groupId>
|
---|
393 | <artifactId>jackson-annotations</artifactId>
|
---|
394 | <version>${jackson.version}</version>
|
---|
395 | </dependency>
|
---|
396 | <dependency>
|
---|
397 | <groupId>com.fasterxml.jackson.core</groupId>
|
---|
398 | <artifactId>jackson-databind</artifactId>
|
---|
399 | <version>${jackson.version}</version>
|
---|
400 | </dependency>
|
---|
401 | <!-- Make Jackson aware of JDK8 date/time objects -->
|
---|
402 | <dependency>
|
---|
403 | <groupId>com.fasterxml.jackson.datatype</groupId>
|
---|
404 | <artifactId>jackson-datatype-jsr310</artifactId>
|
---|
405 | <version>${jackson.version}</version>
|
---|
406 | </dependency>
|
---|
407 | <!-- Makes Restlet log to SLF4J -->
|
---|
408 | <dependency>
|
---|
409 | <groupId>org.restlet.jee</groupId>
|
---|
410 | <artifactId>org.restlet.ext.slf4j</artifactId>
|
---|
411 | <version>${restlet.version}</version>
|
---|
412 | </dependency>
|
---|
413 | <!-- Enable usage of the application in a Servlet container -->
|
---|
414 | <dependency>
|
---|
415 | <groupId>org.restlet.jee</groupId>
|
---|
416 | <artifactId>org.restlet.ext.servlet</artifactId>
|
---|
417 | <version>${restlet.version}</version>
|
---|
418 | </dependency>
|
---|
419 | <!-- Provides Velocity for the landing and error page templates -->
|
---|
420 | <dependency>
|
---|
421 | <groupId>org.apache.velocity</groupId>
|
---|
422 | <artifactId>velocity-engine-core</artifactId>
|
---|
423 | <version>2.0</version>
|
---|
424 | </dependency>
|
---|
425 | <!-- Selenium is used to test the control panel, using a headless HtmlUnit
|
---|
426 | browser. -->
|
---|
427 | <dependency>
|
---|
428 | <groupId>org.seleniumhq.selenium</groupId>
|
---|
429 | <artifactId>htmlunit-driver</artifactId>
|
---|
430 | <version>2.21</version>
|
---|
431 | <scope>test</scope>
|
---|
432 | </dependency>
|
---|
433 | <dependency>
|
---|
434 | <groupId>org.seleniumhq.selenium</groupId>
|
---|
435 | <artifactId>selenium-api</artifactId>
|
---|
436 | <version>2.53.0</version>
|
---|
437 | <scope>test</scope>
|
---|
438 | </dependency>
|
---|
439 | <dependency>
|
---|
440 | <groupId>org.seleniumhq.selenium</groupId>
|
---|
441 | <artifactId>selenium-support</artifactId>
|
---|
442 | <version>2.53.0</version>
|
---|
443 | <scope>test</scope>
|
---|
444 | </dependency>
|
---|
445 | <!-- Logging interface used by the application -->
|
---|
446 | <dependency>
|
---|
447 | <groupId>org.slf4j</groupId>
|
---|
448 | <artifactId>slf4j-api</artifactId>
|
---|
449 | <version>1.7.25</version>
|
---|
450 | </dependency>
|
---|
451 | <!-- intercepts jcl log messages from Commons etc. -->
|
---|
452 | <dependency>
|
---|
453 | <groupId>org.slf4j</groupId>
|
---|
454 | <artifactId>jcl-over-slf4j</artifactId>
|
---|
455 | <version>1.7.25</version>
|
---|
456 | </dependency>
|
---|
457 | </dependencies>
|
---|
458 |
|
---|
459 | <repositories>
|
---|
460 | <!-- Provides imageio-ext-tiff -->
|
---|
461 | <repository>
|
---|
462 | <id>imageio-ext-repository</id>
|
---|
463 | <name>imageio-ext Repository</name>
|
---|
464 | <url>https://maven.geo-solutions.it/</url>
|
---|
465 | </repository>
|
---|
466 | <!-- Provides Restlet -->
|
---|
467 | <repository>
|
---|
468 | <id>maven-restlet</id>
|
---|
469 | <name>Restlet repository</name>
|
---|
470 | <url>https://maven.restlet.com</url>
|
---|
471 | </repository>
|
---|
472 | </repositories>
|
---|
473 |
|
---|
474 | <build>
|
---|
475 | <plugins>
|
---|
476 | <plugin>
|
---|
477 | <groupId>org.apache.maven.plugins</groupId>
|
---|
478 | <artifactId>maven-surefire-plugin</artifactId>
|
---|
479 | <version>${surefire.version}</version>
|
---|
480 | <configuration>
|
---|
481 | <runOrder>random</runOrder>
|
---|
482 | <reuseForks>false</reuseForks>
|
---|
483 | </configuration>
|
---|
484 | </plugin>
|
---|
485 |
|
---|
486 | <!-- Find bugs with mvn findbugs:findbugs findbugs:gui -->
|
---|
487 | <plugin>
|
---|
488 | <groupId>org.codehaus.mojo</groupId>
|
---|
489 | <artifactId>findbugs-maven-plugin</artifactId>
|
---|
490 | <version>3.0.1</version>
|
---|
491 | </plugin>
|
---|
492 |
|
---|
493 | <plugin>
|
---|
494 | <groupId>org.apache.maven.plugins</groupId>
|
---|
495 | <artifactId>maven-compiler-plugin</artifactId>
|
---|
496 | <version>3.3</version>
|
---|
497 | <configuration>
|
---|
498 | <source>1.8</source>
|
---|
499 | <target>1.8</target>
|
---|
500 | <useIncrementalCompilation>false</useIncrementalCompilation>
|
---|
501 | </configuration>
|
---|
502 | </plugin>
|
---|
503 |
|
---|
504 | <!-- About the build: it's easy to build a JAR using the Maven Shade
|
---|
505 | plugin, and it's easy to build a WAR using the Maven WAR plugin. However,
|
---|
506 | this application is packaged as a special WAR that can also be run like a
|
---|
507 | JAR, and there's no all-in-one Maven plugin for that. So, from here, we
|
---|
508 | have to go through a sequence of steps to build the custom WAR. -->
|
---|
509 |
|
---|
510 | <!-- The first step is to unpack dependencies (direct and transient)
|
---|
511 | needed in standalone mode into the root, for compatibility with
|
---|
512 | `java -jar` invocation. Note that this plugin is not smart about handling
|
---|
513 | dependencies with the same filename, which mainly is a problem with
|
---|
514 | same-named META-INF/services files from e.g. Jetty, so we will have to
|
---|
515 | work around that in a later step. -->
|
---|
516 | <plugin>
|
---|
517 | <groupId>org.apache.maven.plugins</groupId>
|
---|
518 | <artifactId>maven-dependency-plugin</artifactId>
|
---|
519 | <version>3.0.2</version>
|
---|
520 | <executions>
|
---|
521 | <execution>
|
---|
522 | <id>unpack-dependencies</id>
|
---|
523 | <phase>prepare-package</phase>
|
---|
524 | <goals>
|
---|
525 | <goal>unpack-dependencies</goal>
|
---|
526 | </goals>
|
---|
527 | <configuration>
|
---|
528 | <excludes>**/META-INF/*.DSA, **/META-INF/*.MF,
|
---|
529 | **/META-INF/*.RSA, **/META-INF/*.SF,
|
---|
530 | **/META-INF/*.txt</excludes>
|
---|
531 | <includeGroupIds>
|
---|
532 | commons-configuration,
|
---|
533 | commons-lang,
|
---|
534 | commons-logging,
|
---|
535 | javax.servlet,
|
---|
536 | org.eclipse.jetty,
|
---|
537 | org.greenstone, log4j
|
---|
538 | </includeGroupIds>
|
---|
539 | <!-- GSDL Splice above -->
|
---|
540 | <outputDirectory>
|
---|
541 | ${project.build.directory}/${project.artifactId}-${project.version}
|
---|
542 | </outputDirectory>
|
---|
543 | </configuration>
|
---|
544 | </execution>
|
---|
545 | </executions>
|
---|
546 | </plugin>
|
---|
547 |
|
---|
548 | <!-- The previous step copied only dependencies. Now we copy the
|
---|
549 | application classes needed for standalone mode into the root. -->
|
---|
550 | <plugin>
|
---|
551 | <artifactId>maven-antrun-plugin</artifactId>
|
---|
552 | <executions>
|
---|
553 | <execution>
|
---|
554 | <id>copy-standalone-classes-to-root</id>
|
---|
555 | <phase>prepare-package</phase>
|
---|
556 | <goals>
|
---|
557 | <goal>run</goal>
|
---|
558 | </goals>
|
---|
559 | <configuration>
|
---|
560 | <tasks>
|
---|
561 | <copy todir="${project.build.directory}/${project.artifactId}-${project.version}/">
|
---|
562 | <fileset dir="${project.build.directory}/classes/">
|
---|
563 | <include name="edu/illinois/library/cantaloupe/config/*" />
|
---|
564 | <include name="edu/illinois/library/cantaloupe/util/FilesystemWatcher.class" />
|
---|
565 | <include name="edu/illinois/library/cantaloupe/util/FilesystemWatcher$Callback.class" />
|
---|
566 | <include name="edu/illinois/library/cantaloupe/util/SystemUtils.class" />
|
---|
567 | <include name="edu/illinois/library/cantaloupe/Application.class" />
|
---|
568 | <include name="edu/illinois/library/cantaloupe/ApplicationServer.class" />
|
---|
569 | <include name="edu/illinois/library/cantaloupe/StandaloneEntry.class" />
|
---|
570 | </fileset>
|
---|
571 | </copy>
|
---|
572 | </tasks>
|
---|
573 | </configuration>
|
---|
574 | </execution>
|
---|
575 |
|
---|
576 | <!-- And also add back a missing Jetty service that didn't get
|
---|
577 | copied in the unpack-dependencies execution. -->
|
---|
578 | <execution>
|
---|
579 | <id>finalize-services</id>
|
---|
580 | <phase>prepare-package</phase>
|
---|
581 | <goals>
|
---|
582 | <goal>run</goal>
|
---|
583 | </goals>
|
---|
584 | <configuration>
|
---|
585 | <tasks>
|
---|
586 | <echo file="${project.build.directory}/${project.artifactId}-${project.version}/META-INF/services/org.eclipse.jetty.http.HttpFieldPreEncoder" append="true">
|
---|
587 | ${line.separator}org.eclipse.jetty.http2.hpack.HpackFieldPreEncoder
|
---|
588 | </echo>
|
---|
589 | </tasks>
|
---|
590 | </configuration>
|
---|
591 | </execution>
|
---|
592 | </executions>
|
---|
593 | </plugin>
|
---|
594 |
|
---|
595 | <!-- Create the war file from the stuff we just unpacked. -->
|
---|
596 | <plugin>
|
---|
597 | <groupId>org.apache.maven.plugins</groupId>
|
---|
598 | <artifactId>maven-war-plugin</artifactId>
|
---|
599 | <version>3.2.0</version>
|
---|
600 | <executions>
|
---|
601 | <execution>
|
---|
602 | <id>create-war</id>
|
---|
603 | <phase>package</phase>
|
---|
604 | <goals>
|
---|
605 | <goal>war</goal>
|
---|
606 | </goals>
|
---|
607 | <configuration>
|
---|
608 | <archive>
|
---|
609 | <manifest>
|
---|
610 | <mainClass>edu.illinois.library.cantaloupe.StandaloneEntry</mainClass>
|
---|
611 | <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
---|
612 | <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
---|
613 | </manifest>
|
---|
614 | </archive>
|
---|
615 | </configuration>
|
---|
616 | </execution>
|
---|
617 | </executions>
|
---|
618 | </plugin>
|
---|
619 |
|
---|
620 | <!-- Assemble the created war into a release package. -->
|
---|
621 | <plugin>
|
---|
622 | <artifactId>maven-assembly-plugin</artifactId>
|
---|
623 | <version>3.1.0</version>
|
---|
624 | <executions>
|
---|
625 | <execution>
|
---|
626 | <phase>package</phase>
|
---|
627 | <goals>
|
---|
628 | <goal>single</goal>
|
---|
629 | </goals>
|
---|
630 | </execution>
|
---|
631 | </executions>
|
---|
632 | <configuration>
|
---|
633 | <appendAssemblyId>false</appendAssemblyId>
|
---|
634 | <descriptors>
|
---|
635 | <descriptor>${basedir}/build/assembly.xml</descriptor>
|
---|
636 | </descriptors>
|
---|
637 | </configuration>
|
---|
638 | <!-- This plugin depends on a version of plexus-archiver that
|
---|
639 | doesn't work with JDK 9. So, use a version that does.
|
---|
640 | TODO: revisit this -->
|
---|
641 | <dependencies>
|
---|
642 | <dependency>
|
---|
643 | <groupId>org.codehaus.plexus</groupId>
|
---|
644 | <artifactId>plexus-archiver</artifactId>
|
---|
645 | <version>3.5</version>
|
---|
646 | </dependency>
|
---|
647 | </dependencies>
|
---|
648 | </plugin>
|
---|
649 |
|
---|
650 | <!-- Enables running with mvn exec:java -->
|
---|
651 | <plugin>
|
---|
652 | <groupId>org.codehaus.mojo</groupId>
|
---|
653 | <artifactId>exec-maven-plugin</artifactId>
|
---|
654 | <version>1.2.1</version>
|
---|
655 | <configuration>
|
---|
656 | <mainClass>edu.illinois.library.cantaloupe.StandaloneEntry</mainClass>
|
---|
657 | </configuration>
|
---|
658 | </plugin>
|
---|
659 |
|
---|
660 | </plugins>
|
---|
661 | </build>
|
---|
662 |
|
---|
663 | <profiles>
|
---|
664 | <profile>
|
---|
665 | <id>nodeps</id>
|
---|
666 | <activation>
|
---|
667 | <activeByDefault>false</activeByDefault>
|
---|
668 | </activation>
|
---|
669 | <build>
|
---|
670 | <plugins>
|
---|
671 | <plugin>
|
---|
672 | <groupId>org.apache.maven.plugins</groupId>
|
---|
673 | <artifactId>maven-surefire-plugin</artifactId>
|
---|
674 | <version>${surefire.version}</version>
|
---|
675 | <configuration>
|
---|
676 | <runOrder>random</runOrder>
|
---|
677 | <reuseForks>false</reuseForks>
|
---|
678 | <excludes>
|
---|
679 | <exclude>AzureStorage*Test</exclude>
|
---|
680 | <exclude>FfmpegProcessorTest</exclude>
|
---|
681 | <exclude>GraphicsMagickProcessorTest</exclude>
|
---|
682 | <exclude>ImageMagickProcessorTest</exclude>
|
---|
683 | <exclude>KakaduDemoProcessorTest</exclude>
|
---|
684 | <exclude>KakaduNativeProcessorTest</exclude>
|
---|
685 | <exclude>OpenJpegProcessorTest</exclude>
|
---|
686 | <exclude>RedisCacheTest</exclude>
|
---|
687 | </excludes>
|
---|
688 | </configuration>
|
---|
689 | </plugin>
|
---|
690 | </plugins>
|
---|
691 | </build>
|
---|
692 | </profile>
|
---|
693 | <profile>
|
---|
694 | <id>freedeps</id>
|
---|
695 | <activation>
|
---|
696 | <activeByDefault>false</activeByDefault>
|
---|
697 | </activation>
|
---|
698 | <build>
|
---|
699 | <plugins>
|
---|
700 | <plugin>
|
---|
701 | <groupId>org.apache.maven.plugins</groupId>
|
---|
702 | <artifactId>maven-surefire-plugin</artifactId>
|
---|
703 | <version>${surefire.version}</version>
|
---|
704 | <configuration>
|
---|
705 | <runOrder>random</runOrder>
|
---|
706 | <reuseForks>false</reuseForks>
|
---|
707 | <excludes>
|
---|
708 | <exclude>Azure*Test</exclude>
|
---|
709 | <!-- openjpeg is free but there is no package containing opj_decompress in trusty -->
|
---|
710 | <exclude>OpenJpeg*Test</exclude>
|
---|
711 | </excludes>
|
---|
712 | </configuration>
|
---|
713 | </plugin>
|
---|
714 | </plugins>
|
---|
715 | </build>
|
---|
716 | </profile>
|
---|
717 | <profile>
|
---|
718 | <id>benchmark</id>
|
---|
719 | <properties>
|
---|
720 | <skipTests>true</skipTests>
|
---|
721 | <benchmark>edu.illinois</benchmark>
|
---|
722 | </properties>
|
---|
723 | <build>
|
---|
724 | <plugins>
|
---|
725 | <plugin>
|
---|
726 | <groupId>org.apache.maven.plugins</groupId>
|
---|
727 | <artifactId>maven-compiler-plugin</artifactId>
|
---|
728 | <configuration>
|
---|
729 | <testIncludes>
|
---|
730 | <testInclude>**/*</testInclude>
|
---|
731 | </testIncludes>
|
---|
732 | </configuration>
|
---|
733 | </plugin>
|
---|
734 | <plugin>
|
---|
735 | <groupId>org.codehaus.mojo</groupId>
|
---|
736 | <artifactId>exec-maven-plugin</artifactId>
|
---|
737 | <executions>
|
---|
738 | <execution>
|
---|
739 | <id>benchmark</id>
|
---|
740 | <phase>test</phase>
|
---|
741 | <goals>
|
---|
742 | <goal>exec</goal>
|
---|
743 | </goals>
|
---|
744 | <configuration>
|
---|
745 | <classpathScope>test</classpathScope>
|
---|
746 | <executable>java</executable>
|
---|
747 | <arguments>
|
---|
748 | <argument>-classpath</argument>
|
---|
749 | <classpath/>
|
---|
750 | <argument>org.openjdk.jmh.Main</argument>
|
---|
751 | <argument>-rf</argument>
|
---|
752 | <argument>json</argument>
|
---|
753 | <argument>-rff</argument>
|
---|
754 | <argument>target/jmh-result.${benchmark}.json</argument>
|
---|
755 | <argument>${benchmark}</argument>
|
---|
756 | </arguments>
|
---|
757 | </configuration>
|
---|
758 | </execution>
|
---|
759 | </executions>
|
---|
760 | </plugin>
|
---|
761 | </plugins>
|
---|
762 | </build>
|
---|
763 | </profile>
|
---|
764 | </profiles>
|
---|
765 | </project>
|
---|