Merge "Upgrade Maven plugins"
[egit/eclipse.git] / pom.xml
blobc07768a88ed268db851f62060630bd841401e97f
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3    Copyright (C) 2009, Igor Fedorenko <igor@ifedorenko.com>
4    Copyright (C) 2010, Chris Aniszczyk <caniszczyk@gmail.com>
5    Copyright (C) 2011-2012 Matthias Sohn <matthias.sohn@sap.com>
7    All rights reserved. This program and the accompanying materials
8    are made available under the terms of the Eclipse Public License 2.0
9    which accompanies this distribution, and is available at
10    https://www.eclipse.org/legal/epl-2.0/
12    SPDX-License-Identifier: EPL-2.0
13 -->
15 <project xmlns="http://maven.apache.org/POM/4.0.0"
16     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
17     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
18   <modelVersion>4.0.0</modelVersion>
20   <groupId>org.eclipse.egit</groupId>
21   <artifactId>egit-parent</artifactId>
22   <version>6.5.0-SNAPSHOT</version>
23   <packaging>pom</packaging>
25   <name>EGit Parent</name>
27   <mailingLists>
28     <mailingList>
29       <name>egit-dev Mailing List</name>
30       <post>egit-dev@eclipse.org</post>
31       <subscribe>https://dev.eclipse.org/mailman/listinfo/egit-dev</subscribe>
32       <unsubscribe>https://dev.eclipse.org/mailman/listinfo/egit-dev</unsubscribe>
33       <archive>https://dev.eclipse.org/mhonarc/lists/egit-dev</archive>
34     </mailingList>
36     <mailingList>
37       <name>GIT Mailing List</name>
38       <post>git@vger.kernel.org</post>
39       <archive>https://marc.info/?l=git</archive>
40     </mailingList>
41   </mailingLists>
43   <issueManagement>
44     <url>https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;product=EGit;classification=Technology</url>
45     <system>Bugzilla</system>
46   </issueManagement>
48   <licenses>
49     <license>
50       <name>Eclipse Public License 2.0</name>
51       <comments>
52         All rights reserved. This program and the accompanying materials
53         are made available under the terms of the Eclipse Public License 2.0
54         which accompanies this distribution, and is available at
55         https://www.eclipse.org/legal/epl-2.0/
57         SPDX-License-Identifier: EPL-2.0
58       </comments>
59     </license>
60   </licenses>
62   <properties>
63     <maven-version-minimum>3.6.3</maven-version-minimum>
64     <egit-version>6.5.0-SNAPSHOT</egit-version>
65     <tycho-version>2.7.5</tycho-version>
66     <java-version>11</java-version>
67     <ecj-version>3.29.0</ecj-version>
68     <spotbugs-maven-plugin-version>4.4.1</spotbugs-maven-plugin-version>
69     <jgit-site>file:/${basedir}/../../jgit/org.eclipse.jgit.packaging/org.eclipse.jgit.repository/target/repository</jgit-site>
70     <license-site>https://download.eclipse.org/cbi/updates/license</license-site>
71     <signer-input-directory>/home/data/httpd/download-staging.priv/egit</signer-input-directory>
72     <download-publish-path>/home/data/httpd/download.eclipse.org/egit/updates-nightly</download-publish-path>
73     <target-platform>egit-4.17</target-platform>
74     <tycho.scmUrl>scm:git:https://git.eclipse.org/r/egit/egit.git</tycho.scmUrl>
75     <egit.test.tmpdir></egit.test.tmpdir>
76     <test.vmparams></test.vmparams>
77     <coretest.vmparams>-Degit.test.tmpdir=${egit.test.tmpdir}</coretest.vmparams>
78     <uitest.vmparams>-Degit.test.tmpdir=${egit.test.tmpdir} -Dorg.eclipse.swtbot.search.timeout=30000 -Dorg.eclipse.swtbot.screenshots.dir=target/screenshots -Xmx1024m</uitest.vmparams>
79     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
80     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
81   </properties>
83   <profiles>
84     <profile>
85       <id>static-checks</id>
86       <build>
87         <plugins>
88           <plugin>
89             <groupId>com.github.spotbugs</groupId>
90             <artifactId>spotbugs-maven-plugin</artifactId>
91           </plugin>
92           <plugin>
93             <groupId>org.apache.maven.plugins</groupId>
94             <artifactId>maven-pmd-plugin</artifactId>
95           </plugin>
96         </plugins>
97       </build>
98     </profile>
99     <profile>
100       <id>eclipse-sign</id>
101       <build>
102         <plugins>
103           <plugin>
104             <groupId>org.eclipse.tycho</groupId>
105             <artifactId>target-platform-configuration</artifactId>
106             <configuration>
107               <includePackedArtifacts>true</includePackedArtifacts>
108             </configuration>
109           </plugin>
110           <plugin>
111             <groupId>org.eclipse.cbi.maven.plugins</groupId>
112             <artifactId>eclipse-jarsigner-plugin</artifactId>
113             <executions>
114               <execution>
115                 <id>sign</id>
116                 <goals>
117                   <goal>sign</goal>
118                 </goals>
119                 <phase>verify</phase>
120               </execution>
121             </executions>
122           </plugin>
123           <plugin>
124             <groupId>org.eclipse.tycho</groupId>
125             <artifactId>tycho-p2-plugin</artifactId>
126             <executions>
127               <execution>
128                 <id>p2-metadata</id>
129                 <goals>
130                   <goal>p2-metadata</goal>
131                 </goals>
132                 <phase>verify</phase>
133               </execution>
134             </executions>
135             <configuration>
136               <defaultP2Metadata>false</defaultP2Metadata>
137             </configuration>
138           </plugin>
139         </plugins>
140       </build>
141     </profile>
142     <profile>
143       <id>macosx</id>
144       <activation>
145         <os>
146           <name>mac os x</name>
147           <family>mac</family>
148         </os>
149       </activation>
150       <properties>
151         <ui.test.vmargs>${test.vmparams} ${uitest.vmparams} -XstartOnFirstThread</ui.test.vmargs>
152       </properties>
153     </profile>
154     <profile>
155       <id>other-os</id>
156       <activation>
157         <os>
158           <name>not-mac</name>
159           <family>!mac</family>
160         </os>
161       </activation>
162       <properties>
163         <ui.test.vmargs>${test.vmparams} ${uitest.vmparams}</ui.test.vmargs>
164       </properties>
165     </profile>
166   </profiles>
168   <modules>
169     <module>org.eclipse.egit.target</module>
171     <module>org.eclipse.egit</module>
172     <module>org.eclipse.egit.core</module>
173     <module>org.eclipse.egit.ui</module>
175     <module>org.eclipse.egit.doc</module>
176     <module>org.eclipse.egit-feature</module>
178     <module>org.eclipse.egit.gitflow-feature</module>
179         <module>org.eclipse.egit.gitflow</module>
180         <module>org.eclipse.egit.gitflow.ui</module>
181     <module>org.eclipse.egit.gitflow.test</module>
183     <module>org.eclipse.egit.source-feature</module>
185     <module>org.eclipse.egit.repository</module>
187     <module>org.eclipse.egit.core.junit</module>
188     <module>org.eclipse.egit.core.test</module>
189     <module>org.eclipse.egit.ui.test</module>
190   </modules>
192   <pluginRepositories>
193     <pluginRepository>
194       <id>repo.eclipse.org.cbi-releases</id>
195       <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
196     </pluginRepository>
197     <pluginRepository>
198       <id>repo.eclipse.org.cbi-snapshots</id>
199       <url>https://repo.eclipse.org/content/repositories/cbi-snapshots/</url>
200     </pluginRepository>
201     <pluginRepository>
202       <id>repo.eclipse.org.dash-releases</id>
203       <url>https://repo.eclipse.org/content/repositories/dash-licenses-releases/</url>
204     </pluginRepository>
205     <pluginRepository>
206       <id>repo.eclipse.org.dash-snapshots</id>
207       <url>https://repo.eclipse.org/content/repositories/dash-licenses-snapshots/</url>
208     </pluginRepository>
209   </pluginRepositories>
211   <repositories>
212     <repository>
213       <id>jgit</id>
214       <layout>p2</layout>
215       <url>${jgit-site}</url>
216     </repository>
217     <repository>
218       <id>eclipse.license</id>
219       <layout>p2</layout>
220       <url>${license-site}</url>
221     </repository>
222   </repositories>
224   <build>
225     <plugins>
226       <plugin>
227         <groupId>org.apache.maven.plugins</groupId>
228         <artifactId>maven-enforcer-plugin</artifactId>
229         <executions>
230           <execution>
231             <id>enforce-maven</id>
232             <goals>
233               <goal>enforce</goal>
234             </goals>
235             <configuration>
236               <rules>
237                 <requireMavenVersion>
238                   <version>${maven-version-minimum}</version>
239                 </requireMavenVersion>
240               </rules>
241             </configuration>
242           </execution>
243         </executions>
244       </plugin>
245       <plugin>
246         <groupId>org.eclipse.tycho</groupId>
247         <artifactId>tycho-maven-plugin</artifactId>
248         <extensions>true</extensions>
249       </plugin>
250       <plugin>
251         <groupId>org.eclipse.tycho</groupId>
252         <artifactId>target-platform-configuration</artifactId>
253         <configuration>
254           <target>
255             <file>${project.basedir}/../org.eclipse.egit.target/${target-platform}.target</file>
256           </target>
257           <resolver>p2</resolver>
258           <pomDependencies>consider</pomDependencies>
259           <environments>
260             <environment>
261               <os>linux</os>
262               <ws>gtk</ws>
263               <arch>x86_64</arch>
264             </environment>
265             <environment>
266               <os>win32</os>
267               <ws>win32</ws>
268               <arch>x86_64</arch>
269             </environment>
270             <environment>
271               <os>macosx</os>
272               <ws>cocoa</ws>
273               <arch>x86_64</arch>
274             </environment>
275             <environment>
276               <os>macosx</os>
277               <ws>cocoa</ws>
278               <arch>aarch64</arch>
279             </environment>
280           </environments>
281         </configuration>
282       </plugin>
283     </plugins>
284     <pluginManagement>
285       <plugins>
286         <!-- Tycho plugins -->
287         <plugin>
288           <groupId>org.eclipse.tycho</groupId>
289           <artifactId>tycho-compiler-plugin</artifactId>
290           <version>${tycho-version}</version>
291           <configuration>
292             <encoding>UTF-8</encoding>
293             <release>${java-version}</release>
294             <!-- Do not use useProjectSettings; it'll always override -nowarn -->
295             <useProjectSettings>false</useProjectSettings>
296             <compilerArgs>
297               <arg>-properties</arg>
298               <arg>${project.basedir}/.settings/org.eclipse.jdt.core.prefs</arg>
299               <arg>-nowarn</arg>
300             </compilerArgs>
301           </configuration>
302           <dependencies>
303               <dependency>
304                 <groupId>org.eclipse.jdt</groupId>
305                 <artifactId>ecj</artifactId>
306                 <version>${ecj-version}</version>
307               </dependency>
308           </dependencies>
309         </plugin>
310         <plugin>
311           <groupId>org.eclipse.tycho</groupId>
312           <artifactId>tycho-source-plugin</artifactId>
313           <version>${tycho-version}</version>
314           <executions>
315             <execution>
316               <id>attach-source</id>
317               <goals>
318                 <goal>plugin-source</goal>
319               </goals>
320             </execution>
321           </executions>
322         </plugin>
323         <plugin>
324           <groupId>org.eclipse.tycho</groupId>
325           <artifactId>tycho-packaging-plugin</artifactId>
326           <version>${tycho-version}</version>
327           <configuration>
328             <sourceReferences>
329               <generate>true</generate>
330             </sourceReferences>
331           </configuration>
332           <dependencies>
333             <dependency>
334               <groupId>org.eclipse.tycho.extras</groupId>
335               <artifactId>tycho-sourceref-jgit</artifactId>
336               <version>${tycho-version}</version>
337             </dependency>
338           </dependencies>
339         </plugin>
340         <plugin>
341           <groupId>org.eclipse.tycho</groupId>
342           <artifactId>tycho-surefire-plugin</artifactId>
343           <version>${tycho-version}</version>
344           <configuration>
345             <trimStackTrace>false</trimStackTrace>
346             <useJDK>BREE</useJDK>
347           </configuration>
348         </plugin>
349         <plugin>
350           <groupId>org.eclipse.tycho</groupId>
351           <artifactId>tycho-maven-plugin</artifactId>
352           <version>${tycho-version}</version>
353         </plugin>
354         <plugin>
355           <groupId>org.eclipse.tycho</groupId>
356           <artifactId>target-platform-configuration</artifactId>
357           <version>${tycho-version}</version>
358         </plugin>
359         <plugin>
360           <groupId>org.eclipse.tycho</groupId>
361           <artifactId>tycho-p2-plugin</artifactId>
362           <version>${tycho-version}</version>
363         </plugin>
364         <plugin>
365           <groupId>org.eclipse.tycho</groupId>
366           <artifactId>tycho-p2-publisher-plugin</artifactId>
367           <version>${tycho-version}</version>
368         </plugin>
369         <plugin>
370           <groupId>org.eclipse.tycho</groupId>
371           <artifactId>tycho-p2-repository-plugin</artifactId>
372           <version>${tycho-version}</version>
373         </plugin>
374         <!-- other plugins -->
375         <plugin>
376           <groupId>org.apache.maven.plugins</groupId>
377           <artifactId>maven-enforcer-plugin</artifactId>
378           <version>3.0.0-M3</version>
379         </plugin>
380         <plugin>
381           <groupId>org.apache.maven.plugins</groupId>
382           <artifactId>maven-antrun-plugin</artifactId>
383           <version>1.8</version>
384         </plugin>
385         <plugin>
386           <groupId>com.github.spotbugs</groupId>
387           <artifactId>spotbugs-maven-plugin</artifactId>
388           <version>${spotbugs-maven-plugin-version}</version>
389           <configuration>
390             <excludeFilterFile>${project.basedir}/../spotbugs-excludes.xml</excludeFilterFile>
391             <xmlOutput>true</xmlOutput>
392             <failOnError>false</failOnError>
393           </configuration>
394           <executions>
395             <execution>
396               <goals>
397                 <goal>check</goal>
398               </goals>
399             </execution>
400           </executions>
401         </plugin>
402         <plugin>
403           <groupId>org.apache.maven.plugins</groupId>
404           <artifactId>maven-pmd-plugin</artifactId>
405           <version>3.15.0</version>
406           <configuration>
407             <sourceEncoding>utf-8</sourceEncoding>
408             <minimumTokens>100</minimumTokens>
409             <targetJdk>${java-version}</targetJdk>
410             <format>xml</format>
411             <failOnViolation>false</failOnViolation>
412             <linkXRef>false</linkXRef>
413           </configuration>
414           <executions>
415             <execution>
416               <goals>
417                 <goal>cpd-check</goal>
418               </goals>
419             </execution>
420           </executions>
421         </plugin>
422         <plugin>
423           <groupId>org.apache.maven.plugins</groupId>
424           <artifactId>maven-assembly-plugin</artifactId>
425           <version>3.2.0</version>
426         </plugin>
427         <plugin>
428           <groupId>org.eclipse.cbi.maven.plugins</groupId>
429           <artifactId>eclipse-jarsigner-plugin</artifactId>
430           <version>1.3.5</version>
431         </plugin>
432       </plugins>
433     </pluginManagement>
434   </build>
436   <distributionManagement>
437     <repository>
438       <id>repo.eclipse.org</id>
439       <name>EGit Maven Repository - Releases</name>
440       <url>https://repo.eclipse.org/content/repositories/egit-releases/</url>
441     </repository>
442     <snapshotRepository>
443       <id>repo.eclipse.org</id>
444       <name>EGit Maven Repository - Snapshots</name>
445       <url>https://repo.eclipse.org/content/repositories/egit-snapshots/</url>
446       <uniqueVersion>true</uniqueVersion>
447     </snapshotRepository>
448   </distributionManagement>
449 </project>