source: osm/applications/editors/josm/plugins/pom.xml

Last change on this file was 36325, checked in by taylor.smock, 4 months ago

See #23875: Use SNAPSHOT instead of 1.0-SNAPSHOT since that is what our scripts currently publish

This should fix the Jenkins build for plugins.

Note: Maven warns that this may break in the future, in which case we'll have to
change our processes.

File size: 18.5 KB
Line 
1<?xml version="1.0"?>
2<project xmlns="http://maven.apache.org/POM/4.0.0" 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">
4 <modelVersion>4.0.0</modelVersion>
5 <groupId>org.openstreetmap.josm.plugins</groupId>
6 <artifactId>plugin-root</artifactId>
7 <parent>
8 <groupId>org.openstreetmap.josm</groupId>
9 <artifactId>josm-parent</artifactId>
10 <version>SNAPSHOT</version>
11 <relativePath>../core/nodist/pom.xml</relativePath>
12 </parent>
13
14 <name>JOSM Plugins</name>
15 <url>https://josm.openstreetmap.de</url>
16 <properties>
17 <josm>../../core/dist/josm-custom.jar</josm>
18 <josm.test.build.dir>../../core/test/build</josm.test.build.dir>
19 <java.lang.version>11</java.lang.version>
20 <maven.compiler.release>${java.lang.version}</maven.compiler.release>
21 <plugin.tools.dir>../00_tools</plugin.tools.dir>
22 <plugin.build.dir>build</plugin.build.dir>
23 <plugin.test.dir>test</plugin.test.dir>
24 <plugin.test.data.dir>${plugin.test.dir}/data</plugin.test.data.dir>
25 <plugin.test.src.dir>${plugin.test.dir}/unit</plugin.test.src.dir>
26 <plugin.src.dir>src</plugin.src.dir>
27 <!-- most plugins default to resource directories in root, e.g. ./data, ./images, ./resources -->
28 <plugin.resources.dir>${project.basedir}</plugin.resources.dir>
29 <plugin.doc.dir>javadoc</plugin.doc.dir>
30 <plugin.lib.dir>lib</plugin.lib.dir>
31 <!-- this is the directory where the plugin jar is copied to -->
32 <!-- We specifically don't want to put the new jars in dist just yet, this may change sometime -->
33 <plugin.dist.dir>../../distMaven</plugin.dist.dir>
34 <javadoc.executable>javadoc</javadoc.executable>
35 <manifest>MANIFEST</manifest>
36 <manifest.unixoid>MANIFEST-unixoid</manifest.unixoid>
37 <manifest.windows>MANIFEST-windows</manifest.windows>
38 <manifest.osx>MANIFEST-osx</manifest.osx>
39 <plugin.compile.version>SNAPSHOT</plugin.compile.version>
40 <plugin.jar>${project.name}.jar</plugin.jar>
41 <plugin.unixoid.jar>${project.name}-unixoid.jar</plugin.unixoid.jar>
42 <plugin.windows.jar>${project.name}-windows.jar</plugin.windows.jar>
43 <plugin.osx.jar>${project.name}-osx.jar</plugin.osx.jar>
44 <plugin.sources.jar>${project.name}-sources.jar</plugin.sources.jar>
45 <plugin.javadoc.jar>${project.name}-javadoc.jar</plugin.javadoc.jar>
46 <jacoco.inclbootstrapclasses>false</jacoco.inclbootstrapclasses>
47 <jacoco.inclnolocationclasses>false</jacoco.inclnolocationclasses>
48 <junit.printsummary>on</junit.printsummary>
49 <sonar.projectKey>JOSM-Plugins</sonar.projectKey>
50 <geotools.version>31.1</geotools.version>
51 </properties>
52 <packaging>pom</packaging>
53 <inceptionYear>2005</inceptionYear>
54 <licenses>
55 <license>
56 <name>GPL-2.0-or-later</name>
57 <url>https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html</url>
58 <distribution>repo</distribution>
59 </license>
60 </licenses>
61 <organization>
62 <name>JOSM</name>
63 <url>https://josm.openstreetmap.de</url>
64 </organization>
65 <scm>
66 <connection>scm:svn:https://josm.openstreetmap.de/svn/trunk</connection>
67 <url>https://josm.openstreetmap.de/browser/josm/trunk</url>
68 </scm>
69 <issueManagement>
70 <system>Trac</system>
71 <url>https://josm.openstreetmap.de</url>
72 </issueManagement>
73 <mailingLists>
74 <mailingList>
75 <name>josm-dev</name>
76 <archive>https://lists.openstreetmap.org/pipermail/josm-dev/</archive>
77 <post>josm-dev@openstreetmap.org</post>
78 </mailingList>
79 </mailingLists>
80 <modules>
81 <module>../core/nodist/pom.xml</module>
82 <module>addrinterpolation</module>
83 <module>alignways</module>
84 <module>apache-commons</module>
85 <module>apache-http</module>
86 <module>buildings_tools</module>
87 <module>cadastre-fr</module>
88 <module>canvec_helper</module>
89 <module>colorscheme</module>
90 <module>ColumbusCSV</module>
91 <module>comfort0</module>
92 <module>CommandLine</module>
93 <module>Create_grid_of_ways</module>
94 <module>CustomizePublicTransportStop</module>
95 <module>dataimport</module>
96 <module>DirectDownload</module>
97 <module>DirectUpload</module>
98 <module>editgpx</module>
99 <module>ElevationProfile</module>
100 <module>epci-fr</module>
101 <module>eventbus</module>
102 <module>ext_tools</module>
103 <module>FastDraw</module>
104 <module>FixAddresses</module>
105 <module>flatlaf</module>
106 <module>geochat</module>
107 <module>geotools</module>
108 <module>globalsat</module>
109 <module>gpsblam</module>
110 <module>graphview</module>
111 <module>HouseNumberTaggingTool</module>
112 <module>http2</module>
113 <module>ejml</module>
114 <module>imagery-xml-bounds</module>
115 <module>imagery_cachexport</module>
116 <module>imagery_offset_db</module>
117 <module>imagewaypoint</module>
118 <module>ImportImagePlugin</module>
119 <module>importvec</module>
120 <module>indoor_sweepline</module>
121 <module>infomode</module>
122 <module>jackson</module>
123 <module>jaxb</module>
124 <module>jna</module>
125 <module>jts</module>
126 <module>junctionchecking</module>
127 <module>lwjgl/modules</module>
128 <module>livegps</module>
129 <module>log4j</module>
130 <module>measurement</module>
131 <module>merge-overlap</module>
132 <module>michigan_left</module>
133 <module>namemanager</module>
134 <module>NanoLog</module>
135 <module>native-password-manager</module>
136 <module>o5m</module>
137 <module>opendata/modules</module>
138 <module>OpeningHoursEditor</module>
139 <module>openvisible</module>
140 <module>OsmInspectorPlugin</module>
141 <module>pbf</module>
142 <module>pdfimport</module>
143 <module>photo_geotagging</module>
144 <module>photoadjust</module>
145 <module>pointInfo</module>
146 <module>poly</module>
147 <module>print</module>
148 <module>public_transport</module>
149 <module>rasterfilters</module>
150 <module>reltoolbox</module>
151 <module>reverter</module>
152 <module>roadsigns</module>
153 <module>routes</module>
154 <module>routing</module>
155 <module>SaudiNationalAddress</module>
156 <module>sds</module>
157 <module>seachart</module>
158 <module>seachartedit</module>
159 <module>simplifyarea</module>
160 <module>smed</module>
161 <module>splinex</module>
162 <module>sumoconvert</module>
163 <module>surveyor</module>
164 <module>tageditor</module>
165 <module>tagging-preset-tester</module>
166 <module>terracer</module>
167 <module>touchscreenhelper</module>
168 <module>tracer</module>
169 <module>tracer2</module>
170 <module>trustosm</module>
171 <module>turnlanes</module>
172 <module>turnrestrictions</module>
173 <module>undelete</module>
174 <module>utilsplugin2</module>
175 <module>waydownloader</module>
176 <module>waypoint_search</module>
177 <module>wms-turbo-challenge2</module>
178 </modules>
179 <dependencies>
180 <dependency>
181 <groupId>org.openstreetmap.josm</groupId>
182 <artifactId>josm</artifactId>
183 <version>${plugin.compile.version}</version>
184 <scope>provided</scope>
185 </dependency>
186 <dependency>
187 <groupId>org.openstreetmap.josm</groupId>
188 <artifactId>josm-unittest</artifactId>
189 </dependency>
190 </dependencies>
191 <dependencyManagement>
192 <dependencies>
193 <dependency>
194 <groupId>org.openstreetmap.josm</groupId>
195 <artifactId>josm-unittest</artifactId>
196 <version>SNAPSHOT</version>
197 <scope>test</scope>
198 </dependency>
199 </dependencies>
200 </dependencyManagement>
201 <build>
202 <sourceDirectory>${plugin.src.dir}</sourceDirectory>
203 <testSourceDirectory>${plugin.test.src.dir}</testSourceDirectory>
204 <resources>
205 <resource>
206 <directory>${plugin.resources.dir}/data</directory>
207 <targetPath>data</targetPath>
208 </resource>
209 <resource>
210 <directory>${plugin.resources.dir}/images</directory>
211 <targetPath>images</targetPath>
212 </resource>
213 <resource>
214 <directory>${plugin.resources.dir}/resources</directory>
215 <targetPath>resources</targetPath>
216 </resource>
217 </resources>
218 <testResources>
219 <testResource>
220 <directory>${plugin.test.data.dir}</directory>
221 </testResource>
222 </testResources>
223 <plugins>
224 <plugin>
225 <groupId>org.apache.maven.plugins</groupId>
226 <artifactId>maven-shade-plugin</artifactId>
227 </plugin>
228 </plugins>
229 <pluginManagement>
230 <plugins>
231 <!-- Configure checkstyle/pmd/other lint plugins -->
232 <plugin>
233 <groupId>com.github.spotbugs</groupId>
234 <artifactId>spotbugs-maven-plugin</artifactId>
235 <version>4.8.1.0</version>
236 <configuration>
237 <xmlOutput>true</xmlOutput>
238 <spotbugsXmlOutputFilename>spotbugs-josm.xml</spotbugsXmlOutputFilename>
239 <effort>max</effort>
240 <excludeFilterFile>${spotbugs.dir}/josm-filter.xml</excludeFilterFile>
241 <onlyAnalyze>org.openstreetmap.josm.-</onlyAnalyze>
242 <threshold>LOW</threshold>
243 </configuration>
244 <!-- This is commented out until all the current bugs are fixed. TODO uncomment!
245 <executions>
246 <execution>
247 <id>validate</id>
248 <phase>validate</phase>
249 <goals>
250 <goal>check</goal>
251 </goals>
252 </execution>
253 </executions>
254 -->
255 </plugin>
256 <plugin>
257 <groupId>org.apache.maven.plugins</groupId>
258 <artifactId>maven-checkstyle-plugin</artifactId>
259 <version>3.3.1</version>
260 <configuration>
261 <configLocation>${project.basedir}/../checkstyle-config.xml</configLocation>
262 <includeTestSourceDirectory>true</includeTestSourceDirectory>
263 <outputFile>${project.basedir}/checkstyle-josm-${project.name}.xml</outputFile>
264 <!-- checkstyle cannot parse module-info.java yet -->
265 <excludes>module-info.java</excludes>
266 </configuration>
267 <executions>
268 <execution>
269 <id>validate</id>
270 <phase>validate</phase>
271 <goals>
272 <goal>check</goal>
273 </goals>
274 </execution>
275 </executions>
276 </plugin>
277 <!-- Configure the test plugin, specifically enable autodetection of global extensions -->
278 <plugin>
279 <artifactId>maven-surefire-plugin</artifactId>
280 <version>3.2.5</version>
281 <configuration>
282 <skipAfterFailureCount>1</skipAfterFailureCount>
283 <argLine>-javaagent:"${settings.localRepository}"/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar</argLine>
284 <properties>
285 <configurationParameters>
286 file.encoding = UTF-8
287 java.locale.providers = SPI,CLDR
288 junit.jupiter.extensions.autodetection.enabled = true
289 junit.jupiter.execution.parallel.enabled = true
290 </configurationParameters>
291 </properties>
292 <systemPropertyVariables>
293 <josm.home>${plugin.test.dir}/config/josm.home</josm.home>
294 <josm.test.data>${plugin.test.data.dir}</josm.test.data>
295 <java.awt.headless>${test.headless}</java.awt.headless>
296 <glass.platform>Monocle</glass.platform>
297 <monocle.platform>Headless</monocle.platform>
298 <prism.order>sw</prism.order>
299 </systemPropertyVariables>
300 </configuration>
301 </plugin>
302 <!-- the clean plugin is needed since we currently store generated sources in the source directory -->
303 <plugin>
304 <groupId>org.apache.maven.plugins</groupId>
305 <artifactId>maven-clean-plugin</artifactId>
306 <version>3.3.2</version>
307 <configuration>
308 <filesets>
309 <fileset>
310 <directory>${plugin.build.dir}</directory>
311 </fileset>
312 <fileset>
313 <directory>${plugin.dist.dir}</directory>
314 <includes>
315 <include>${plugin.jar}</include>
316 <include>${plugin.unixoid.jar}</include>
317 <include>${plugin.windows.jar}</include>
318 <include>${plugin.osx.jar}</include>
319 <include>${plugin.sources.jar}</include>
320 <include>${plugin.javadoc.jar}</include>
321 </includes>
322 </fileset>
323 <fileset>
324 <directory>${project.basedir}</directory>
325 <includes>
326 <include>checkstyle-josm-${project.name}.xml</include>
327 </includes>
328 </fileset>
329 </filesets>
330 </configuration>
331 </plugin>
332 <plugin>
333 <groupId>com.diffplug.spotless</groupId>
334 <artifactId>spotless-maven-plugin</artifactId>
335 <version>2.43.0</version>
336 <configuration>
337 <java>
338 <eclipse>
339 <version>4.21.0</version>
340 <file>${project.basedir}/../00_core_tools/eclipse/formatter.xml</file>
341 </eclipse>
342 <removeUnusedImports/>
343 <licenseHeader>
344 <content>// License: GPL. For details, see LICENSE file.</content>
345 </licenseHeader>
346 </java>
347 </configuration>
348 <executions>
349 <execution>
350 <goals>
351 <goal>check</goal>
352 </goals>
353 </execution>
354 </executions>
355 </plugin>
356 <!-- Used to merge compile dependencies into jars -->
357 <plugin>
358 <groupId>org.apache.maven.plugins</groupId>
359 <artifactId>maven-shade-plugin</artifactId>
360 <version>3.5.3</version>
361 <executions>
362 <execution>
363 <phase>package</phase>
364 <goals>
365 <goal>shade</goal>
366 </goals>
367 <configuration>
368 <outputDirectory>${plugin.dist.dir}</outputDirectory>
369 <finalName>${project.name}</finalName>
370 </configuration>
371 </execution>
372 </executions>
373 </plugin>
374 <!-- Used to share properties between maven, gradle, and ant, where there is a gradle.properties file -->
375 <plugin>
376 <groupId>org.codehaus.mojo</groupId>
377 <artifactId>properties-maven-plugin</artifactId>
378 <version>1.2.1</version>
379 <executions>
380 <execution>
381 <phase>initialize</phase>
382 <goals>
383 <goal>read-project-properties</goal>
384 </goals>
385 <configuration>
386 <files>
387 <file>gradle.properties</file>
388 </files>
389 </configuration>
390 </execution>
391 </executions>
392 </plugin>
393 <plugin>
394 <groupId>org.apache.maven.plugins</groupId>
395 <artifactId>maven-jar-plugin</artifactId>
396 <configuration>
397 <archive>
398 <manifestEntries>
399 <!-- For full documentation, see https://josm.openstreetmap.de/wiki/DevelopersGuide/DevelopingPlugins#ThemanifestfileforaJOSMplugin -->
400 <Plugin-Mainversion>${plugin.main.version}</Plugin-Mainversion>
401 <Plugin-Version>${project.version}</Plugin-Version>
402 <Plugin-Class>${plugin.class}</Plugin-Class>
403 <Plugin-Description>${plugin.description}</Plugin-Description>
404 <!-- These are optional, but are either added almost all the time or can be auto generated -->
405 <Plugin-Date>${maven.build.timestamp}</Plugin-Date>
406 <Author>${plugin.author}</Author>
407 <!-- These are optional and/or uncommon -->
408 <!-- plugin.platform must be `Windows`, `Osx`, or `Unixoid` -->
409 <!--
410 <Plugin-Platform>${plugin.platform}</Plugin-Platform>
411 <Plugin-Provides>${plugin.provides}</Plugin-Provides>
412 <Plugin-Minimum-Java-Version>${plugin.minimum.java.version}</Plugin-Minimum-Java-Version>
413 <Plugin-Early>${plugin.early}</Plugin-Early>
414 <Plugin-Link>${plugin.link}</Plugin-Link>
415 <Plugin-Icon>${plugin.icon}</Plugin-Icon>
416 <Plugin-Stage>${plugin.stage}</Plugin-Stage>
417 <Plugin-Requires>${plugin.requires}</Plugin-Requires>
418 <Plugin-Canloadatruntime>${plugin.canloadatruntime}</Plugin-Canloadatruntime>
419 <Class-Path>${plugin.classpath}</Class-Path>
420 -->
421 <!-- Additional entries: <xxx>_Plugin-Url (doesn't work well with xml) and <lang>_Plugin_Description -->
422 </manifestEntries>
423 </archive>
424 </configuration>
425 </plugin>
426 <!-- For any jaxb plugins -->
427 <plugin>
428 <groupId>org.codehaus.mojo</groupId>
429 <artifactId>jaxb2-maven-plugin</artifactId>
430 <version>2.5.0</version>
431 </plugin>
432 </plugins>
433 </pluginManagement>
434 </build>
435 <profiles>
436 <profile>
437 <!-- This profile is needed to avoid trying to install a non-jar file -->
438 <id>not-pom-packaging</id>
439 <activation>
440 <property>
441 <name>packaging</name>
442 <value>!pom</value>
443 </property>
444 </activation>
445 <build>
446 <pluginManagement>
447 <plugins>
448 <plugin>
449 <groupId>org.apache.maven.plugins</groupId>
450 <artifactId>maven-install-plugin</artifactId>
451 <version>3.1.1</version>
452 <executions>
453 <execution>
454 <id>dist-install</id>
455 <phase>install</phase>
456 <goals>
457 <goal>install-file</goal>
458 </goals>
459 <configuration>
460 <file>${plugin.dist.dir}/${project.name}.jar</file>
461 <artifactId>${project.artifactId}</artifactId>
462 <groupId>${project.groupId}</groupId>
463 <version>${project.version}</version>
464 <packaging>${project.packaging}</packaging>
465 </configuration>
466 </execution>
467 </executions>
468 </plugin>
469 </plugins>
470 </pluginManagement>
471 </build>
472 </profile>
473 <profile>
474 <id>java-21-plugins</id>
475 <activation>
476 <jdk>[21,]</jdk>
477 </activation>
478 <modules>
479 <module>FIT</module>
480 <module>MicrosoftStreetside</module>
481 </modules>
482 </profile>
483 <profile>
484 <id>java-17-plugins</id>
485 <activation>
486 <jdk>[17,]</jdk>
487 </activation>
488 <modules>
489 <module>javafx</module>
490 <module>imageio</module>
491 <module>pmtiles</module>
492 </modules>
493 </profile>
494 </profiles>
495</project>
Note: See TracBrowser for help on using the repository browser.