source: josm/trunk/nodist/pom.xml@ 19108

Last change on this file since 19108 was 19097, checked in by taylor.smock, 6 months 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: 14.4 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 <groupId>org.openstreetmap.josm</groupId>
6 <artifactId>josm-parent</artifactId>
7 <version>1.0-SNAPSHOT</version>
8 <packaging>pom</packaging>
9 <properties>
10 <project.build.sourceEncoding>US-ASCII</project.build.sourceEncoding>
11 <project.reporting.outputEncoding>US-ASCII</project.reporting.outputEncoding>
12 <java.lang.version>11</java.lang.version>
13 <maven.compiler.release>${java.lang.version}</maven.compiler.release>
14 <test.headless>true</test.headless>
15 <sonar.host.url>https://josm.openstreetmap.de/sonar/</sonar.host.url>
16 <sonar.projectKey>JOSM</sonar.projectKey>
17 <jmockit.version>1.49.a</jmockit.version>
18 </properties>
19 <modules>
20 <module>..</module>
21 <!-- The test pom is mostly for plugins; JOSM core dev doesn't need it -->
22 <module>../test/pom.xml</module>
23 </modules>
24 <repositories>
25 <repository>
26 <id>JOSM-central</id>
27 <url>https://josm.openstreetmap.de/nexus/content/repositories/central/</url>
28 </repository>
29 <repository>
30 <id>JOSM-releases</id>
31 <url>https://josm.openstreetmap.de/nexus/content/repositories/releases/</url>
32 </repository>
33 <repository>
34 <id>JOSM-snapshots</id>
35 <url>https://josm.openstreetmap.de/nexus/content/repositories/snapshots/</url>
36 </repository>
37 <repository>
38 <id>JOSM-osgeo</id>
39 <url>https://josm.openstreetmap.de/nexus/content/repositories/osgeo/</url>
40 </repository>
41 </repositories>
42 <pluginRepositories>
43 <pluginRepository>
44 <id>JOSM-central</id>
45 <url>https://josm.openstreetmap.de/nexus/content/repositories/central/</url>
46 </pluginRepository>
47 </pluginRepositories>
48 <build>
49 <pluginManagement>
50 <plugins>
51 <plugin>
52 <groupId>org.codehaus.mojo</groupId>
53 <artifactId>javacc-maven-plugin</artifactId>
54 <version>3.1.0</version>
55 </plugin>
56 <plugin>
57 <groupId>org.apache.maven.plugins</groupId>
58 <artifactId>maven-clean-plugin</artifactId>
59 <version>3.3.2</version>
60 </plugin>
61 <plugin>
62 <groupId>org.codehaus.mojo</groupId>
63 <artifactId>exec-maven-plugin</artifactId>
64 <version>3.2.0</version>
65 </plugin>
66 <plugin>
67 <groupId>org.apache.maven.plugins</groupId>
68 <artifactId>maven-resources-plugin</artifactId>
69 <version>3.3.1</version>
70 </plugin>
71 <plugin>
72 <groupId>org.apache.maven.plugins</groupId>
73 <artifactId>maven-pmd-plugin</artifactId>
74 <version>3.22.0</version>
75 </plugin>
76 <plugin>
77 <groupId>org.apache.maven.plugins</groupId>
78 <artifactId>maven-surefire-plugin</artifactId>
79 <version>3.2.5</version>
80 </plugin>
81 <plugin>
82 <groupId>com.github.spotbugs</groupId>
83 <artifactId>spotbugs-maven-plugin</artifactId>
84 <version>4.8.5.0</version>
85 </plugin>
86 <plugin>
87 <groupId>org.apache.maven.plugins</groupId>
88 <artifactId>maven-checkstyle-plugin</artifactId>
89 <version>3.3.1</version>
90 </plugin>
91 <!-- Used to merge compile dependencies into jars -->
92 <plugin>
93 <groupId>org.apache.maven.plugins</groupId>
94 <artifactId>maven-shade-plugin</artifactId>
95 <version>3.5.3</version>
96 <executions>
97 <execution>
98 <phase>package</phase>
99 <goals>
100 <goal>shade</goal>
101 </goals>
102 <configuration>
103 <filters>
104 <filter>
105 <artifact>*:*</artifact>
106 <excludes>
107 <!--<exclude>META-INF/*</exclude>-->
108 <!--<exclude>*</exclude>-->
109 <exclude>META-INF/versions/*</exclude>
110 <exclude>META-INF/maven/**</exclude>
111 <exclude>META-INF/*.SF</exclude>
112 <exclude>META-INF/*.DSA</exclude>
113 <exclude>META-INF/*.RSA</exclude>
114 </excludes>
115 </filter>
116 </filters>
117 </configuration>
118 </execution>
119 </executions>
120 </plugin>
121 <plugin>
122 <groupId>org.apache.maven.plugins</groupId>
123 <artifactId>maven-jar-plugin</artifactId>
124 <version>3.4.1</version>
125 <configuration>
126 <archive>
127 <addMavenDescriptor>false</addMavenDescriptor>
128 </archive>
129 </configuration>
130 </plugin>
131 <plugin>
132 <groupId>org.sonarsource.scanner.maven</groupId>
133 <artifactId>sonar-maven-plugin</artifactId>
134 <version>3.7.0.1746</version>
135 </plugin>
136 <!-- Used to set version information -->
137 <plugin>
138 <groupId>org.codehaus.mojo</groupId>
139 <artifactId>buildnumber-maven-plugin</artifactId>
140 <version>3.2.0</version>
141 </plugin>
142 </plugins>
143 </pluginManagement>
144 <plugins>
145 <plugin>
146 <groupId>org.apache.maven.plugins</groupId>
147 <artifactId>maven-enforcer-plugin</artifactId>
148 <version>3.4.1</version>
149 <executions>
150 <execution>
151 <id>enforce-versions</id>
152 <goals>
153 <goal>enforce</goal>
154 </goals>
155 <configuration>
156 <rules>
157 <requireMavenVersion>
158 <version>3.6.3</version>
159 </requireMavenVersion>
160 <requireJavaVersion>
161 <version>8</version>
162 </requireJavaVersion>
163 </rules>
164 </configuration>
165 </execution>
166 </executions>
167 </plugin>
168 <plugin>
169 <groupId>org.apache.maven.plugins</groupId>
170 <artifactId>maven-resources-plugin</artifactId>
171 <version>3.3.1</version>
172 <executions>
173 <execution>
174 <id>copy-root-resources</id>
175 <phase>generate-resources</phase>
176 <goals>
177 <goal>copy-resources</goal>
178 </goals>
179 <configuration>
180 <outputDirectory>${project.basedir}/target/classes</outputDirectory>
181 <resources>
182 <resource>
183 <directory>${project.basedir}</directory>
184 <includes>
185 <include>GPL-v2.0.txt</include>
186 <include>GPL-v3.0.txt</include>
187 <include>LICENSE</include>
188 <include>LICENSE.md</include>
189 <include>README</include>
190 <include>README.md</include>
191 </includes>
192 </resource>
193 </resources>
194 </configuration>
195 </execution>
196 </executions>
197 </plugin>
198 </plugins>
199 </build>
200 <dependencyManagement>
201 <dependencies>
202 <dependency>
203 <groupId>org.junit</groupId>
204 <artifactId>junit-bom</artifactId>
205 <version>5.10.2</version>
206 <type>pom</type>
207 <scope>import</scope>
208 </dependency>
209 <dependency>
210 <groupId>org.openstreetmap.jmapviewer</groupId>
211 <artifactId>jmapviewer</artifactId>
212 <version>2.19</version>
213 <scope>provided</scope>
214 </dependency>
215 <dependency>
216 <groupId>jakarta.json</groupId>
217 <artifactId>jakarta.json-api</artifactId>
218 <version>2.1.3</version>
219 <scope>provided</scope>
220 </dependency>
221 <dependency>
222 <groupId>org.eclipse.parsson</groupId>
223 <artifactId>parsson</artifactId>
224 <version>1.1.6</version>
225 <scope>provided</scope>
226 </dependency>
227 <dependency>
228 <groupId>org.apache.commons</groupId>
229 <artifactId>commons-jcs3-core</artifactId>
230 <version>3.2</version>
231 <scope>provided</scope>
232 </dependency>
233 <dependency>
234 <groupId>org.apache.commons</groupId>
235 <artifactId>commons-compress</artifactId>
236 <version>1.26.1</version>
237 <scope>provided</scope>
238 </dependency>
239 <dependency>
240 <groupId>jakarta.annotation</groupId>
241 <artifactId>jakarta.annotation-api</artifactId>
242 <version>2.1.1</version>
243 <scope>provided</scope>
244 </dependency>
245 <dependency>
246 <groupId>org.tukaani</groupId>
247 <artifactId>xz</artifactId>
248 <version>1.9</version>
249 <scope>provided</scope>
250 </dependency>
251 <dependency>
252 <groupId>com.adobe.xmp</groupId>
253 <artifactId>xmpcore</artifactId>
254 <version>6.1.11</version>
255 <scope>provided</scope>
256 </dependency>
257 <dependency>
258 <groupId>com.drewnoakes</groupId>
259 <artifactId>metadata-extractor</artifactId>
260 <version>2.19.0</version>
261 <scope>provided</scope>
262 </dependency>
263 <dependency>
264 <groupId>com.formdev</groupId>
265 <artifactId>svgSalamander</artifactId>
266 <version>1.1.4</version>
267 <scope>provided</scope>
268 </dependency>
269 <dependency>
270 <groupId>ch.poole</groupId>
271 <artifactId>OpeningHoursParser</artifactId>
272 <version>0.28.2</version>
273 <scope>provided</scope>
274 </dependency>
275 <!-- Don't forget to update org.openstreetmap.josm.tools.Tag2Link#PREF_SOURCE -->
276 <dependency>
277 <groupId>org.webjars.npm</groupId>
278 <artifactId>tag2link</artifactId>
279 <version>2024.2.8</version>
280 <scope>provided</scope>
281 </dependency>
282 <dependency>
283 <groupId>org.jacoco</groupId>
284 <artifactId>org.jacoco.ant</artifactId>
285 <version>0.8.12</version>
286 <scope>test</scope>
287 </dependency>
288 <dependency>
289 <groupId>org.jmockit</groupId>
290 <artifactId>jmockit</artifactId>
291 <version>${jmockit.version}</version>
292 <scope>test</scope>
293 </dependency>
294 <dependency>
295 <groupId>com.github.spotbugs</groupId>
296 <artifactId>spotbugs-annotations</artifactId>
297 <version>4.8.5</version>
298 <scope>test</scope>
299 </dependency>
300 <dependency>
301 <groupId>com.ginsberg</groupId>
302 <artifactId>junit5-system-exit</artifactId>
303 <version>1.1.2</version>
304 <scope>test</scope>
305 </dependency>
306 <dependency>
307 <groupId>org.wiremock</groupId>
308 <artifactId>wiremock</artifactId>
309 <version>3.6.0</version>
310 <scope>test</scope>
311 </dependency>
312 <dependency>
313 <groupId>io.github.classgraph</groupId>
314 <artifactId>classgraph</artifactId>
315 <version>4.8.172</version>
316 <scope>test</scope>
317 </dependency>
318 <dependency>
319 <groupId>net.trajano.commons</groupId>
320 <artifactId>commons-testing</artifactId>
321 <version>2.1.0</version>
322 <scope>test</scope>
323 </dependency>
324 <dependency>
325 <groupId>nl.jqno.equalsverifier</groupId>
326 <artifactId>equalsverifier</artifactId>
327 <version>3.16.1</version>
328 <scope>test</scope>
329 </dependency>
330 <dependency>
331 <groupId>org.apache.commons</groupId>
332 <artifactId>commons-lang3</artifactId>
333 <version>3.14.0</version>
334 <scope>test</scope>
335 </dependency>
336 <dependency>
337 <groupId>org.awaitility</groupId>
338 <artifactId>awaitility</artifactId>
339 <version>4.2.1</version>
340 <scope>test</scope>
341 </dependency>
342 </dependencies>
343 </dependencyManagement>
344</project>
Note: See TracBrowser for help on using the repository browser.