source: josm/trunk/pom.xml@ 19264

Last change on this file since 19264 was 19250, checked in by taylor.smock, 6 weeks ago

Dependency updates

ivy.xml:

  • junit5-system-exit: 1.1.2 -> 2.0.0 on Java 17+. This is needed since there are patches currently being applied to the JDK to remove the security manager (see JEP 486), and the 1.x series will no longer work. The 2.x series is Java 17+ only and runs as a javaagent.
  • tag2link: 2024.8.21 -> 2024.10.21
  • wiremock: 3.9.1 -> 3.9.2
  • junit5: 5.11.0 -> 5.11.3

tools/ivy.xml:

  • checkstyle: 10.18.1 -> 10.18.2
  • proguard-ant: 7.5.0 -> 7.6.0
  • pmd: 7.5.0 -> 7.6.0
  • errorprone: Not upgraded from 2.31.0 -> 2.34.0 (since it is Java 17+ only)
File size: 31.7 KB
Line 
1<?xml version="1.0"?>
2<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0">
4 <modelVersion>4.0.0</modelVersion>
5 <artifactId>josm</artifactId>
6 <parent>
7 <groupId>org.openstreetmap.josm</groupId>
8 <artifactId>josm-parent</artifactId>
9 <version>SNAPSHOT</version>
10 <relativePath>./nodist/pom.xml</relativePath>
11 </parent>
12
13 <name>josm</name>
14 <url>https://josm.openstreetmap.de</url>
15 <properties>
16 <src.dir>${project.basedir}/src</src.dir>
17 <test.dir>${project.basedir}/test</test.dir>
18 <scripts.src.dir>${project.basedir}/scripts</scripts.src.dir>
19 <build.dir>${project.basedir}/build</build.dir>
20 <dist.dir>${project.basedir}/dist</dist.dir>
21 <checkstyle-build.dir>${project.basedir}/build2</checkstyle-build.dir>
22 <checkstyle.dir>${tools.dir}/checkstyle</checkstyle.dir>
23 <mapcss.dir>${src.dir}/org/openstreetmap/josm/gui/mappaint/mapcss</mapcss.dir>
24 <modules.dir>${dist.dir}/modules</modules.dir>
25 <pmd.dir>${tools.dir}/pmd</pmd.dir>
26 <proj-build.dir>${project.basedir}/build2</proj-build.dir>
27 <resources.dir>${project.basedir}/resources</resources.dir>
28 <script-build.dir>${project.basedir}/build2</script-build.dir>
29 <spotbugs.dir>${tools.dir}/spotbugs</spotbugs.dir>
30 <tools.dir>${project.basedir}/tools</tools.dir>
31 <epsg.output>${resources.dir}/data/projection/custom-epsg</epsg.output>
32 <javacc.home>${tools.dir}</javacc.home>
33 <dist.jar>${dist.dir}/josm-custom.jar</dist.jar>
34 <dist-optimized.jar>${dist.dir}/josm-custom-optimized.jar</dist-optimized.jar>
35 <dist-sources.jar>${dist.dir}/josm-custom-sources.jar</dist-sources.jar>
36 <jacoco.includes>org.openstreetmap.josm.*</jacoco.includes>
37 <jacoco.inclbootstrapclasses>false</jacoco.inclbootstrapclasses>
38 <jacoco.inclnolocationclasses>false</jacoco.inclnolocationclasses>
39 <junit.printsummary>on</junit.printsummary>
40 <default-junit-includes>**/*Test.class</default-junit-includes>
41 <default-junitIT-includes>**/*TestIT.class</default-junitIT-includes>
42 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
43 <!-- Needed just in case something adds argLine for tests before we set it -->
44 <argLine/>
45 </properties>
46 <packaging>jar</packaging>
47 <inceptionYear>2005</inceptionYear>
48 <licenses>
49 <license>
50 <name>GPL-2.0-or-later</name>
51 <url>https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url>
52 <distribution>repo</distribution>
53 </license>
54 </licenses>
55 <organization>
56 <name>JOSM</name>
57 <url>https://josm.openstreetmap.de</url>
58 </organization>
59 <scm>
60 <connection>scm:svn:https://josm.openstreetmap.de/svn/trunk</connection>
61 <url>https://josm.openstreetmap.de/browser/josm/trunk</url>
62 </scm>
63 <issueManagement>
64 <system>Trac</system>
65 <url>https://josm.openstreetmap.de</url>
66 </issueManagement>
67 <mailingLists>
68 <mailingList>
69 <name>josm-dev</name>
70 <archive>https://lists.openstreetmap.org/pipermail/josm-dev/</archive>
71 <post>josm-dev@openstreetmap.org</post>
72 </mailingList>
73 </mailingLists>
74
75 <dependencies>
76 <dependency>
77 <groupId>org.jmockit</groupId>
78 <artifactId>jmockit</artifactId>
79 </dependency>
80 <dependency>
81 <groupId>org.openstreetmap.jmapviewer</groupId>
82 <artifactId>jmapviewer</artifactId>
83 <scope>compile</scope>
84 </dependency>
85 <dependency>
86 <groupId>jakarta.json</groupId>
87 <artifactId>jakarta.json-api</artifactId>
88 <scope>compile</scope>
89 </dependency>
90 <dependency>
91 <groupId>org.eclipse.parsson</groupId>
92 <artifactId>parsson</artifactId>
93 <scope>runtime</scope>
94 </dependency>
95 <dependency>
96 <groupId>org.apache.commons</groupId>
97 <artifactId>commons-jcs3-core</artifactId>
98 <scope>compile</scope>
99 </dependency>
100 <dependency>
101 <groupId>org.apache.commons</groupId>
102 <artifactId>commons-compress</artifactId>
103 <scope>compile</scope>
104 </dependency>
105 <dependency>
106 <groupId>jakarta.annotation</groupId>
107 <artifactId>jakarta.annotation-api</artifactId>
108 <scope>compile</scope>
109 </dependency>
110 <dependency>
111 <groupId>org.tukaani</groupId>
112 <artifactId>xz</artifactId>
113 <scope>compile</scope>
114 </dependency>
115 <dependency>
116 <groupId>com.adobe.xmp</groupId>
117 <artifactId>xmpcore</artifactId>
118 <scope>compile</scope>
119 </dependency>
120 <dependency>
121 <groupId>com.drewnoakes</groupId>
122 <artifactId>metadata-extractor</artifactId>
123 <scope>compile</scope>
124 </dependency>
125 <dependency>
126 <groupId>com.formdev</groupId>
127 <artifactId>svgSalamander</artifactId>
128 <scope>compile</scope>
129 </dependency>
130 <dependency>
131 <groupId>ch.poole</groupId>
132 <artifactId>OpeningHoursParser</artifactId>
133 <scope>compile</scope>
134 </dependency>
135 <!-- Don't forget to update org.openstreetmap.josm.tools.Tag2Link#PREF_SOURCE -->
136 <dependency>
137 <groupId>org.webjars.npm</groupId>
138 <artifactId>tag2link</artifactId>
139 <scope>compile</scope>
140 </dependency>
141 <dependency>
142 <groupId>org.jacoco</groupId>
143 <artifactId>org.jacoco.ant</artifactId>
144 </dependency>
145 <dependency>
146 <groupId>com.github.spotbugs</groupId>
147 <artifactId>spotbugs-annotations</artifactId>
148 </dependency>
149 <dependency>
150 <groupId>com.ginsberg</groupId>
151 <artifactId>junit5-system-exit</artifactId>
152 </dependency>
153 <dependency>
154 <groupId>org.wiremock</groupId>
155 <artifactId>wiremock</artifactId>
156 </dependency>
157 <dependency>
158 <groupId>io.github.classgraph</groupId>
159 <artifactId>classgraph</artifactId>
160 </dependency>
161 <dependency>
162 <groupId>org.junit.platform</groupId>
163 <artifactId>junit-platform-launcher</artifactId>
164 <scope>test</scope>
165 </dependency>
166 <dependency>
167 <groupId>org.junit.platform</groupId>
168 <artifactId>junit-platform-suite</artifactId>
169 <scope>test</scope>
170 </dependency>
171 <dependency>
172 <groupId>org.junit.vintage</groupId>
173 <artifactId>junit-vintage-engine</artifactId>
174 <scope>test</scope>
175 </dependency>
176 <dependency>
177 <groupId>org.junit.jupiter</groupId>
178 <artifactId>junit-jupiter-params</artifactId>
179 <scope>test</scope>
180 </dependency>
181 <dependency>
182 <groupId>org.junit.jupiter</groupId>
183 <artifactId>junit-jupiter-api</artifactId>
184 <scope>test</scope>
185 </dependency>
186 <dependency>
187 <groupId>org.junit.jupiter</groupId>
188 <artifactId>junit-jupiter-engine</artifactId>
189 <scope>test</scope>
190 </dependency>
191 <dependency>
192 <groupId>org.junit.jupiter</groupId>
193 <artifactId>junit-jupiter-migrationsupport</artifactId>
194 <scope>test</scope>
195 </dependency>
196 <dependency>
197 <groupId>net.trajano.commons</groupId>
198 <artifactId>commons-testing</artifactId>
199 </dependency>
200 <dependency>
201 <groupId>nl.jqno.equalsverifier</groupId>
202 <artifactId>equalsverifier</artifactId>
203 </dependency>
204 <dependency>
205 <groupId>org.apache.commons</groupId>
206 <artifactId>commons-lang3</artifactId>
207 </dependency>
208 <dependency>
209 <groupId>org.awaitility</groupId>
210 <artifactId>awaitility</artifactId>
211 </dependency>
212 </dependencies>
213 <build>
214 <sourceDirectory>${src.dir}</sourceDirectory>
215 <testSourceDirectory>${test.dir}/unit</testSourceDirectory>
216 <scriptSourceDirectory>${scripts.src.dir}</scriptSourceDirectory>
217 <resources>
218 <resource>
219 <directory>${resources.dir}</directory>
220 </resource>
221 <resource>
222 <directory>${project.basedir}</directory>
223 <includes>
224 <include>CONTRIBUTION</include>
225 <include>gpl-2.0.txt</include>
226 <include>gpl-3.0.txt</include>
227 <include>LICENSE</include>
228 <include>README</include>
229 <include>REVISION</include>
230 </includes>
231 </resource>
232 </resources>
233 <testResources>
234 <testResource>
235 <directory>${test.dir}/data</directory>
236 </testResource>
237 </testResources>
238 <plugins>
239 <!-- Generate sources -->
240 <plugin>
241 <groupId>org.codehaus.mojo</groupId>
242 <artifactId>javacc-maven-plugin</artifactId>
243 <executions>
244 <execution>
245 <id>javacc</id>
246 <goals>
247 <goal>javacc</goal>
248 </goals>
249 <configuration>
250 <debugParser>false</debugParser>
251 <debugTokenManager>false</debugTokenManager>
252 <jdkVersion>${java.lang.version}</jdkVersion>
253 <grammarEncoding>UTF-8</grammarEncoding>
254 <unicodeInput>true</unicodeInput>
255 <sourceDirectory>${src.dir}</sourceDirectory>
256 <outputDirectory>${src.dir}</outputDirectory>
257 <includes><include>**/MapCSSParser.jj</include></includes>
258 <excludes><exclude>**/*.java</exclude></excludes>
259 </configuration>
260 </execution>
261 </executions>
262 </plugin>
263 <!-- Update proj, epsg, etc. -->
264 <plugin>
265 <groupId>org.codehaus.mojo</groupId>
266 <artifactId>exec-maven-plugin</artifactId>
267 <executions>
268 <!-- mvn test-compile && mvn exec:java@update-proj-reference-files -->
269 <execution>
270 <id>update-proj-reference-files</id>
271 <configuration>
272 <classpathScope>test</classpathScope>
273 <mainClass>org.openstreetmap.josm.data.projection.ProjectionRefTest</mainClass>
274 </configuration>
275 <goals>
276 <goal>java</goal>
277 </goals>
278 </execution>
279 <!-- mvn test-compile && mvn exec:java@update-proj-regression-files -->
280 <execution>
281 <id>update-proj-regression-files</id>
282 <configuration>
283 <classpathScope>test</classpathScope>
284 <mainClass>org.openstreetmap.josm.data.projection.ProjectionRegressionTest</mainClass>
285 </configuration>
286 <goals>
287 <goal>java</goal>
288 </goals>
289 </execution>
290 <!-- mvn compile && mvn exec:java@SyncEditorLayerIndex -->
291 <execution>
292 <id>SyncEditorLayerIndex</id>
293 <configuration>
294 <executable>java</executable>
295 <arguments>
296 <argument>-Djava.awt.headless=true</argument>
297 <argument>-classpath</argument>
298 <classpath/> <!-- Generates the actual classpath using all project dependencies -->
299 <argument>${scripts.src.dir}/SyncEditorLayerIndex.java</argument>
300 <argument>${basedir}</argument>
301 </arguments>
302 <!-- We need commons-lang3, which isn't needed elsewhere in core (besides a test or two) -->
303 <classpathScope>test</classpathScope>
304 </configuration>
305 <goals>
306 <goal>exec</goal>
307 </goals>
308 </execution>
309 <!-- Note that the epsg-touch/epsg executions are NOT duplicates - the first epsg makes an empty file for the
310 next run, which makes a non-empty custom-epsg file -->
311 <execution>
312 <id>epsg-touch</id>
313 <configuration>
314 <executable>java</executable>
315 <arguments>
316 <argument>-Djava.awt.headless=true</argument>
317 <argument>-classpath</argument>
318 <classpath/> <!-- Generates the actual classpath using all project dependencies -->
319 <argument>${basedir}/scripts/BuildProjectionDefinitions.java</argument>
320 <argument>${basedir}</argument>
321 </arguments>
322 </configuration>
323 <phase>process-classes</phase>
324 <goals>
325 <goal>exec</goal>
326 </goals>
327 </execution>
328 <execution>
329 <id>epsg</id>
330 <configuration>
331 <executable>java</executable>
332 <arguments>
333 <argument>-Djava.awt.headless=true</argument>
334 <argument>-classpath</argument>
335 <classpath/> <!-- Generates the actual classpath using all project dependencies -->
336 <argument>${basedir}/scripts/BuildProjectionDefinitions.java</argument>
337 <argument>${basedir}</argument>
338 </arguments>
339 </configuration>
340 <phase>generate-test-resources</phase>
341 <goals>
342 <goal>exec</goal>
343 </goals>
344 </execution>
345 </executions>
346 </plugin>
347 <plugin>
348 <!-- This *must* be after the exec-maven-plugin since the epsg execution must occur first -->
349 <artifactId>maven-resources-plugin</artifactId>
350 <executions>
351 <!-- Note that the copy-resources-{epsg-touch,epsg} executions are NOT duplicates - the first epsg makes an
352 empty file for the next run, which makes a non-empty custom-epsg file -->
353 <execution>
354 <id>copy-resources-epsg-touch</id>
355 <phase>process-classes</phase>
356 <goals>
357 <goal>copy-resources</goal>
358 </goals>
359 <configuration>
360 <outputDirectory>${project.build.outputDirectory}/data/projection</outputDirectory>
361 <resources>
362 <resource>
363 <directory>${resources.dir}/data/projection/</directory>
364 <includes>
365 <include>custom-epsg</include>
366 </includes>
367 </resource>
368 </resources>
369 </configuration>
370 </execution>
371 <execution>
372 <id>copy-resources-epsg</id>
373 <phase>generate-test-resources</phase>
374 <goals>
375 <goal>copy-resources</goal>
376 </goals>
377 <configuration>
378 <outputDirectory>${project.build.outputDirectory}/data/projection</outputDirectory>
379 <resources>
380 <resource>
381 <directory>${resources.dir}/data/projection/</directory>
382 <includes>
383 <include>custom-epsg</include>
384 </includes>
385 </resource>
386 </resources>
387 </configuration>
388 </execution>
389 </executions>
390 </plugin>
391 <!-- Configure checkstyle/pmd/other lint plugins -->
392 <plugin>
393 <groupId>org.apache.maven.plugins</groupId>
394 <artifactId>maven-pmd-plugin</artifactId>
395 <configuration>
396 <analysisCache>true</analysisCache>
397 <analysisCacheLocation>${pmd.dir}/cache</analysisCacheLocation>
398 <language>java</language>
399 <targetJdk>${java.lang.version}</targetJdk>
400 <rulesets>
401 <ruleset>${pmd.dir}/josm-ruleset.xml</ruleset>
402 </rulesets>
403 <includes>
404 <include>**/*.java</include>
405 </includes>
406 <excludes>
407 <exclude>org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/*.java</exclude>
408 </excludes>
409 <printFailingErrors>true</printFailingErrors>
410 <targetDirectory>${project.basedir}</targetDirectory>
411 </configuration>
412 </plugin>
413 <plugin>
414 <groupId>com.github.spotbugs</groupId>
415 <artifactId>spotbugs-maven-plugin</artifactId>
416 <configuration>
417 <xmlOutput>true</xmlOutput>
418 <spotbugsXmlOutputFilename>spotbugs-josm.xml</spotbugsXmlOutputFilename>
419 <effort>max</effort>
420 <excludeFilterFile>${spotbugs.dir}/josm-filter.xml</excludeFilterFile>
421 <onlyAnalyze>org.openstreetmap.josm.-</onlyAnalyze>
422 <threshold>LOW</threshold>
423 </configuration>
424 <!-- This is commented out until all the current bugs are fixed. TODO uncomment!
425 <executions>
426 <execution>
427 <id>validate</id>
428 <phase>validate</phase>
429 <goals>
430 <goal>check</goal>
431 </goals>
432 </execution>
433 </executions>
434 -->
435 </plugin>
436 <plugin>
437 <groupId>org.apache.maven.plugins</groupId>
438 <artifactId>maven-checkstyle-plugin</artifactId>
439 <configuration>
440 <configLocation>${checkstyle.dir}/josm_checks.xml</configLocation>
441 <includeTestSourceDirectory>true</includeTestSourceDirectory>
442 <outputFile>${project.basedir}/checkstyle-josm.xml</outputFile>
443 <!-- checkstyle cannot parse module-info.java yet -->
444 <excludes>module-info.java,org/openstreetmap/josm/gui/mappaint/mapcss/parsergen/*.java</excludes>
445 </configuration>
446 <executions>
447 <execution>
448 <id>validate</id>
449 <phase>validate</phase>
450 <goals>
451 <goal>check</goal>
452 </goals>
453 </execution>
454 </executions>
455 </plugin>
456 <!-- Configure the test plugin, specifically enable autodetection of global extensions -->
457 <plugin>
458 <artifactId>maven-surefire-plugin</artifactId>
459 <configuration>
460 <excludes>
461 <exclude>**/*TestIT</exclude>
462 </excludes>
463 <skipAfterFailureCount>1</skipAfterFailureCount>
464 <useModulePath>false</useModulePath> <!-- testing with modules seems to be problematic right now -->
465 <!-- We might need @{argLine} in the future if another plugin has issues -->
466 <argLine>
467 @{argLine}
468 -javaagent:${org.jmockit:jmockit:jar}
469 --add-opens java.base/java.io=ALL-UNNAMED
470 --add-opens java.base/java.lang=ALL-UNNAMED
471 --add-opens java.base/java.nio=ALL-UNNAMED
472 --add-opens java.base/java.text=ALL-UNNAMED
473 --add-opens java.base/java.util=ALL-UNNAMED
474 --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
475 --add-opens java.desktop/java.awt=ALL-UNNAMED
476 --add-opens java.prefs/java.util.prefs=ALL-UNNAMED
477 </argLine>
478 <properties>
479 <configurationParameters>
480 file.encoding = UTF-8
481 java.locale.providers = SPI,CLDR
482 junit.jupiter.extensions.autodetection.enabled = true
483 junit.jupiter.execution.parallel.enabled = true
484 </configurationParameters>
485 </properties>
486 <systemPropertyVariables>
487 <josm.home>${test.dir}/config/josm.home</josm.home>
488 <josm.test.data>${test.dir}/data</josm.test.data>
489 <java.awt.headless>${test.headless}</java.awt.headless>
490 <glass.platform>Monocle</glass.platform>
491 <monocle.platform>Headless</monocle.platform>
492 <prism.order>sw</prism.order>
493 </systemPropertyVariables>
494 </configuration>
495 <executions>
496 <execution>
497 <id>default-tests</id>
498 <phase>test</phase>
499 <goals>
500 <goal>test</goal>
501 </goals>
502 </execution>
503 <execution>
504 <id>integration-tests</id>
505 <phase>integration-test</phase>
506 <goals>
507 <goal>test</goal>
508 </goals>
509 <configuration>
510 <includes>**/*TestIT</includes>
511 </configuration>
512 </execution>
513 <execution>
514 <id>functional-tests</id>
515 <phase>integration-test</phase>
516 <goals>
517 <goal>test</goal>
518 </goals>
519 <configuration>
520 <testSourceDirectory>${test.dir}/functional</testSourceDirectory>
521 </configuration>
522 </execution>
523 <execution>
524 <id>performance-tests</id>
525 <phase>integration-test</phase>
526 <goals>
527 <goal>test</goal>
528 </goals>
529 <configuration>
530 <testSourceDirectory>${test.dir}/performance</testSourceDirectory>
531 </configuration>
532 </execution>
533 </executions>
534 </plugin>
535 <!-- the clean plugin is needed since we currently store generated sources in the source directory -->
536 <plugin>
537 <groupId>org.apache.maven.plugins</groupId>
538 <artifactId>maven-clean-plugin</artifactId>
539 <configuration>
540 <filesets>
541 <fileset>
542 <directory>${proj-build.dir}</directory>
543 </fileset>
544 <fileset>
545 <directory>${build.dir}</directory>
546 </fileset>
547 <fileset>
548 <directory>${script-build.dir}</directory>
549 </fileset>
550 <fileset>
551 <directory>${checkstyle-build.dir}</directory>
552 </fileset>
553 <fileset>
554 <directory>${dist.dir}</directory>
555 </fileset>
556 <fileset>
557 <directory>${mapcss.dir}/parsergen</directory>
558 </fileset>
559 <fileset>
560 <directory>${src.dir}/org/w3/_2001/xmlschema</directory>
561 <includes>
562 <include>Adapter1.java</include>
563 </includes>
564 </fileset>
565 <fileset>
566 <directory>${src.dir}/org/openstreetmap/josm/data/imagery/types</directory>
567 </fileset>
568 <!-- ${epsg.output} -->
569 <fileset>
570 <directory>${resources.dir}/data/projection/</directory>
571 <includes>
572 <include>custom-epsg</include>
573 </includes>
574 </fileset>
575 <fileset>
576 <directory>${pmd.dir}</directory>
577 <includes>
578 <include>cache</include>
579 </includes>
580 </fileset>
581 </filesets>
582 </configuration>
583 </plugin>
584 <plugin>
585 <groupId>org.codehaus.mojo</groupId>
586 <artifactId>buildnumber-maven-plugin</artifactId>
587 <executions>
588 <execution>
589 <phase>validate</phase>
590 <goals>
591 <goal>create</goal>
592 </goals>
593 </execution>
594 </executions>
595 <configuration>
596 <doCheck>false</doCheck>
597 </configuration>
598 </plugin>
599 <plugin>
600 <groupId>org.apache.maven.plugins</groupId>
601 <artifactId>maven-shade-plugin</artifactId>
602 <executions>
603 <execution>
604 <phase>package</phase>
605 <goals>
606 <goal>shade</goal>
607 </goals>
608 <configuration>
609 <minimizeJar>true</minimizeJar>
610 <filters>
611 <filter>
612 <artifact>org.webjars.npm:tag2link</artifact>
613 <excludes>
614 <exclude>META-INF/resources/webjars/tag2link/*/LICENSE</exclude>
615 <exclude>META-INF/resources/webjars/tag2link/*/README.md</exclude>
616 <exclude>META-INF/resources/webjars/tag2link/*/build.js</exclude>
617 <exclude>META-INF/resources/webjars/tag2link/*/package.json</exclude>
618 <exclude>META-INF/resources/webjars/tag2link/*/schema.json</exclude>
619 <exclude>META-INF/resources/webjars/tag2link/*/tag2link.sophox.sparql</exclude>
620 <exclude>META-INF/resources/webjars/tag2link/*/tag2link.wikidata.sparql</exclude>
621 </excludes>
622 </filter>
623 <filter>
624 <artifact>org.openstreetmap.jmapviewer:jmapviewer</artifact>
625 <excludes>
626 <exclude>org/openstreetmap/gui/jmapviewer/Demo*</exclude>
627 </excludes>
628 </filter>
629 <filter>
630 <artifact>com.drewnoakes:metadata-extractor</artifact>
631 <excludes>
632 <exclude>com/drew/imaging/FileTypeDetector*</exclude>
633 <exclude>com/drew/imaging/ImageMetadataReader*</exclude>
634 <exclude>com/drew/imaging/avi/**</exclude>
635 <exclude>com/drew/imaging/bmp/**</exclude>
636 <exclude>com/drew/imaging/eps/**</exclude>
637 <exclude>com/drew/imaging/gif/**</exclude>
638 <exclude>com/drew/imaging/heif/**</exclude>
639 <exclude>com/drew/imaging/ico/**</exclude>
640 <exclude>com/drew/imaging/mp3/**</exclude>
641 <exclude>com/drew/imaging/mp4/**</exclude>
642 <exclude>com/drew/imaging/pcx/**</exclude>
643 <exclude>com/drew/imaging/psd/**</exclude>
644 <exclude>com/drew/imaging/quicktime/**</exclude>
645 <exclude>com/drew/imaging/raf/**</exclude>
646 <exclude>com/drew/imaging/riff/**</exclude>
647 <exclude>com/drew/imaging/wav/**</exclude>
648 <exclude>com/drew/imaging/webp/**</exclude>
649 <exclude>com/drew/metadata/avi/**</exclude>
650 <exclude>com/drew/metadata/bmp/**</exclude>
651 <exclude>com/drew/metadata/eps/**</exclude>
652 <exclude>com/drew/metadata/gif/**</exclude>
653 <exclude>com/drew/metadata/heif/**</exclude>
654 <exclude>com/drew/metadata/ico/**</exclude>
655 <exclude>com/drew/metadata/mov/**</exclude>
656 <exclude>com/drew/metadata/mp3/**</exclude>
657 <exclude>com/drew/metadata/mp4/**</exclude>
658 <exclude>com/drew/metadata/pcx/**</exclude>
659 <exclude>com/drew/metadata/wav/**</exclude>
660 <exclude>com/drew/metadata/webp/**</exclude>
661 <exclude>com/drew/tools/**</exclude>
662 </excludes>
663 </filter>
664 <filter>
665 <artifact>com.formdev:svgSalamander</artifact>
666 <excludes>
667 <exclude>com/kitfox/svg/app/ant/**</exclude>
668 <exclude>com/kitfox/svg/app/*Dialog*</exclude>
669 <exclude>com/kitfox/svg/app/*Frame*</exclude>
670 <exclude>com/kitfox/svg/app/*Player*</exclude>
671 <exclude>com/kitfox/svg/app/*Viewer*</exclude>
672 </excludes>
673 </filter>
674 <filter>
675 <artifact>org.apache.commons:commons-compress</artifact>
676 <excludes>
677 <exclude>org/apache/commons/compress/PasswordRequiredException*</exclude>
678 <exclude>org/apache/commons/compress/archivers/**</exclude>
679 <exclude>org/apache/commons/compress/changes/**</exclude>
680 <exclude>org/apache/commons/compress/compressors/bzip2/BZip2Utils*</exclude>
681 <exclude>org/apache/commons/compress/compressors/brotli/**</exclude>
682 <exclude>org/apache/commons/compress/compressors/CompressorStreamFactory*</exclude>
683 <exclude>org/apache/commons/compress/compressors/CompressorStreamProvider*</exclude>
684 <exclude>org/apache/commons/compress/compressors/CompressorException*</exclude>
685 <exclude>org/apache/commons/compress/compressors/FileNameUtil*</exclude>
686 <exclude>org/apache/commons/compress/compressors/deflate/**</exclude>
687 <exclude>org/apache/commons/compress/compressors/gzip/**</exclude>
688 <exclude>org/apache/commons/compress/compressors/lz4/**</exclude>
689 <exclude>org/apache/commons/compress/compressors/lzma/**</exclude>
690 <exclude>org/apache/commons/compress/compressors/lz77support/**</exclude>
691 <exclude>org/apache/commons/compress/compressors/pack200/**</exclude>
692 <exclude>org/apache/commons/compress/compressors/snappy/**</exclude>
693 <exclude>org/apache/commons/compress/compressors/xz/XZUtils*</exclude>
694 <exclude>org/apache/commons/compress/compressors/z/**</exclude>
695 <exclude>org/apache/commons/compress/compressors/zstandard/**</exclude>
696 <exclude>org/apache/commons/compress/java/util/jar/Pack200*</exclude>
697 <exclude>org/apache/commons/compress/harmony/pack200/**</exclude>
698 <exclude>org/apache/commons/compress/harmony/unpack200/**</exclude>
699 <exclude>org/apache/commons/compress/parallel/**</exclude>
700 <exclude>org/apache/commons/compress/utils/ArchiveUtils*</exclude>
701 </excludes>
702 </filter>
703 <filter>
704 <artifact>org.apache.commons:commons-jcs3-core</artifact>
705 <excludes>
706 <exclude>org/apache/commons/jcs3/auxiliary/disk/jdbc/**</exclude>
707 <exclude>org/apache/commons/jcs3/auxiliary/remote/http/client/**</exclude>
708 <exclude>org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet*</exclude>
709 <exclude>org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheStartupServlet*</exclude>
710 <exclude>org/apache/commons/jcs3/log/Log4j2Factory*</exclude>
711 <exclude>org/apache/commons/jcs3/log/Log4j2LogAdapter*</exclude>
712 <exclude>org/apache/commons/jcs3/utils/servlet/**</exclude>
713 </excludes>
714 </filter>
715 </filters>
716 </configuration>
717 </execution>
718 </executions>
719 </plugin>
720 <plugin>
721 <groupId>org.apache.maven.plugins</groupId>
722 <artifactId>maven-jar-plugin</artifactId>
723 <configuration>
724 <archive>
725 <manifest>
726 <mainClass>org.openstreetmap.josm.gui.MainApplication</mainClass>
727 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
728 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
729 </manifest>
730 <manifestEntries>
731 <Main-Version>${buildNumber} SVN</Main-Version>
732 <!-- The default timestamp format is milliseconds since epoch -->
733 <Main-Date>${timestamp}</Main-Date>
734 <Permissions>all-permissions</Permissions>
735 <Codebase>josm.openstreetmap.de</Codebase>
736 <Application-Name>JOSM - Java OpenStreetMap Editor</Application-Name>
737 <Add-Exports>java.base/sun.security.action java.desktop/com.apple.eawt java.desktop/com.sun.imageio.spi java.desktop/com.sun.imageio.plugins.jpeg javafx.graphics/com.sun.javafx.application jdk.deploy/com.sun.deploy.config</Add-Exports>
738 <Add-Opens>java.base/java.lang java.base/java.nio java.base/jdk.internal.loader java.base/jdk.internal.ref java.desktop/javax.imageio.spi java.desktop/javax.swing.text.html java.prefs/java.util.prefs</Add-Opens>
739 <Multi-Release>true</Multi-Release>
740 <Is-Local-Build>true</Is-Local-Build>
741 </manifestEntries>
742 </archive>
743 </configuration>
744 </plugin>
745 </plugins>
746 </build>
747 <profiles>
748 <profile>
749 <id>java-17</id>
750 <activation>
751 <jdk>[17</jdk>
752 </activation>
753 <build>
754 <plugins>
755 <plugin>
756 <artifactId>maven-surefire-plugin</artifactId>
757 <configuration>
758 <!-- We might need @{argLine} in the future if another plugin has issues -->
759 <argLine>
760 @{argLine}
761 -javaagent:${com.ginsberg:junit5-system-exit:jar}
762 -javaagent:${org.jmockit:jmockit:jar}
763 --add-opens java.base/java.io=ALL-UNNAMED
764 --add-opens java.base/java.lang=ALL-UNNAMED
765 --add-opens java.base/java.nio=ALL-UNNAMED
766 --add-opens java.base/java.text=ALL-UNNAMED
767 --add-opens java.base/java.util=ALL-UNNAMED
768 --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
769 --add-opens java.desktop/java.awt=ALL-UNNAMED
770 --add-opens java.prefs/java.util.prefs=ALL-UNNAMED
771 </argLine>
772 </configuration>
773 </plugin>
774 </plugins>
775 </build>
776 </profile>
777 </profiles>
778</project>
Note: See TracBrowser for help on using the repository browser.