Do eager resolution in tycho
[egit/eclipse.git] / pom.xml
blob04c28163784b4abaf077bce518b4db7a2ed43397
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.6.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.6.0-SNAPSHOT</egit-version>
65     <tycho-version>4.0.0-SNAPSHOT</tycho-version>
66     <java-version>11</java-version>
67     <ecj-version>3.33.0</ecj-version>
68     <spotbugs-maven-plugin-version>4.7.3.4</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.26</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     <!-- license check -->
82     <dash.fail>true</dash.fail>
83     <dash.projectId>technology.egit</dash.projectId>
84   </properties>
86   <profiles>
87     <profile>
88       <id>static-checks</id>
89       <build>
90         <plugins>
91           <plugin>
92             <groupId>com.github.spotbugs</groupId>
93             <artifactId>spotbugs-maven-plugin</artifactId>
94           </plugin>
95           <plugin>
96             <groupId>org.apache.maven.plugins</groupId>
97             <artifactId>maven-pmd-plugin</artifactId>
98           </plugin>
99         </plugins>
100       </build>
101     </profile>
102     <profile>
103       <id>eclipse-sign</id>
104       <build>
105         <plugins>
106           <plugin>
107             <groupId>org.eclipse.tycho</groupId>
108             <artifactId>target-platform-configuration</artifactId>
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>tycho-snapshots</id>
207       <url>https://repo.eclipse.org/content/repositories/tycho-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           <requireEagerResolve>true</requireEagerResolve>
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       <plugin>
284         <groupId>org.eclipse.dash</groupId>
285         <artifactId>license-tool-plugin</artifactId>
286         <version>1.0.2</version>
287         <executions>
288           <execution>
289             <id>license-check</id>
290             <goals>
291               <goal>license-check</goal>
292             </goals>
293           </execution>
294         </executions>
295         <configuration>
296           <excludeScope>test</excludeScope>
297         </configuration>
298       </plugin>
299     </plugins>
300     <pluginManagement>
301       <plugins>
302         <!-- Tycho plugins -->
303         <plugin>
304           <groupId>org.eclipse.tycho</groupId>
305           <artifactId>tycho-compiler-plugin</artifactId>
306           <version>${tycho-version}</version>
307           <configuration>
308             <encoding>UTF-8</encoding>
309             <release>${java-version}</release>
310             <!-- Do not use useProjectSettings; it'll always override -nowarn -->
311             <useProjectSettings>false</useProjectSettings>
312             <compilerArgs>
313               <arg>-properties</arg>
314               <arg>${project.basedir}/.settings/org.eclipse.jdt.core.prefs</arg>
315               <arg>-nowarn</arg>
316             </compilerArgs>
317           </configuration>
318           <dependencies>
319               <dependency>
320                 <groupId>org.eclipse.jdt</groupId>
321                 <artifactId>ecj</artifactId>
322                 <version>${ecj-version}</version>
323               </dependency>
324           </dependencies>
325         </plugin>
326         <plugin>
327           <groupId>org.eclipse.tycho</groupId>
328           <artifactId>tycho-source-plugin</artifactId>
329           <version>${tycho-version}</version>
330           <executions>
331             <execution>
332               <id>attach-source</id>
333               <goals>
334                 <goal>plugin-source</goal>
335               </goals>
336             </execution>
337           </executions>
338         </plugin>
339         <plugin>
340           <groupId>org.eclipse.tycho</groupId>
341           <artifactId>tycho-packaging-plugin</artifactId>
342           <version>${tycho-version}</version>
343           <configuration>
344             <sourceReferences>
345               <generate>true</generate>
346             </sourceReferences>
347           </configuration>
348           <dependencies>
349             <dependency>
350               <groupId>org.eclipse.tycho.extras</groupId>
351               <artifactId>tycho-sourceref-jgit</artifactId>
352               <version>${tycho-version}</version>
353             </dependency>
354           </dependencies>
355         </plugin>
356         <plugin>
357           <groupId>org.eclipse.tycho</groupId>
358           <artifactId>tycho-surefire-plugin</artifactId>
359           <version>${tycho-version}</version>
360           <configuration>
361             <trimStackTrace>false</trimStackTrace>
362             <useJDK>BREE</useJDK>
363           </configuration>
364         </plugin>
365         <plugin>
366           <groupId>org.eclipse.tycho</groupId>
367           <artifactId>tycho-maven-plugin</artifactId>
368           <version>${tycho-version}</version>
369         </plugin>
370         <plugin>
371           <groupId>org.eclipse.tycho</groupId>
372           <artifactId>target-platform-configuration</artifactId>
373           <version>${tycho-version}</version>
374         </plugin>
375         <plugin>
376           <groupId>org.eclipse.tycho</groupId>
377           <artifactId>tycho-p2-plugin</artifactId>
378           <version>${tycho-version}</version>
379         </plugin>
380         <plugin>
381           <groupId>org.eclipse.tycho</groupId>
382           <artifactId>tycho-p2-publisher-plugin</artifactId>
383           <version>${tycho-version}</version>
384         </plugin>
385         <plugin>
386           <groupId>org.eclipse.tycho</groupId>
387           <artifactId>tycho-p2-repository-plugin</artifactId>
388           <version>${tycho-version}</version>
389         </plugin>
390         <plugin>
391           <groupId>org.eclipse.tycho</groupId>
392           <artifactId>tycho-gpg-plugin</artifactId>
393           <version>${tycho-version}</version>
394         </plugin>
395         <!-- other plugins -->
396         <plugin>
397           <groupId>org.apache.maven.plugins</groupId>
398           <artifactId>maven-enforcer-plugin</artifactId>
399           <version>3.3.0</version>
400         </plugin>
401         <plugin>
402           <groupId>org.apache.maven.plugins</groupId>
403           <artifactId>maven-antrun-plugin</artifactId>
404           <version>3.1.0</version>
405         </plugin>
406         <plugin>
407           <groupId>com.github.spotbugs</groupId>
408           <artifactId>spotbugs-maven-plugin</artifactId>
409           <version>${spotbugs-maven-plugin-version}</version>
410           <configuration>
411             <excludeFilterFile>${project.basedir}/../spotbugs-excludes.xml</excludeFilterFile>
412             <xmlOutput>true</xmlOutput>
413             <failOnError>false</failOnError>
414           </configuration>
415           <executions>
416             <execution>
417               <goals>
418                 <goal>check</goal>
419               </goals>
420             </execution>
421           </executions>
422         </plugin>
423         <plugin>
424           <groupId>org.apache.maven.plugins</groupId>
425           <artifactId>maven-pmd-plugin</artifactId>
426           <version>3.20.0</version>
427           <configuration>
428             <sourceEncoding>utf-8</sourceEncoding>
429             <minimumTokens>100</minimumTokens>
430             <targetJdk>${java-version}</targetJdk>
431             <format>xml</format>
432             <failOnViolation>false</failOnViolation>
433             <linkXRef>false</linkXRef>
434           </configuration>
435           <executions>
436             <execution>
437               <goals>
438                 <goal>cpd-check</goal>
439               </goals>
440             </execution>
441           </executions>
442         </plugin>
443         <plugin>
444           <groupId>org.apache.maven.plugins</groupId>
445           <artifactId>maven-assembly-plugin</artifactId>
446           <version>3.5.0</version>
447         </plugin>
448         <plugin>
449           <groupId>org.eclipse.cbi.maven.plugins</groupId>
450           <artifactId>eclipse-jarsigner-plugin</artifactId>
451           <version>1.3.5</version>
452         </plugin>
453       </plugins>
454     </pluginManagement>
455   </build>
457   <distributionManagement>
458     <repository>
459       <id>repo.eclipse.org</id>
460       <name>EGit Maven Repository - Releases</name>
461       <url>https://repo.eclipse.org/content/repositories/egit-releases/</url>
462     </repository>
463     <snapshotRepository>
464       <id>repo.eclipse.org</id>
465       <name>EGit Maven Repository - Snapshots</name>
466       <url>https://repo.eclipse.org/content/repositories/egit-snapshots/</url>
467       <uniqueVersion>true</uniqueVersion>
468     </snapshotRepository>
469   </distributionManagement>
470 </project>