source: josm/trunk/pom.xml@ 19101

Last change on this file since 19101 was 19097, checked in by taylor.smock, 4 weeks ago

Fix #8269: Add initial maven pom files

This additionally deletes most IDE specific configuration, in favor of Maven
configuration.

We did have to update scripts/BuildProjectionDefinitions.java so that it would
create an empty EPSG file for the next run in the pom.xml file.

For core, we needed two additional pom.xml files:

  • A parent pom with most dependency information (for inheritance)
    • This will make it easier to keep core and the apache-commons plugin in sync
  • A unit test pom (for plugin tests)
    • Some IDEs (netbeans specifically) don't like this.

What this does not do:

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