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>
|
---|