xref: /JGit/pom.xml (revision f598e69529e0a1864e8224265ed82326f2a296f5)
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  Copyright (C) 2009-2010, Google Inc.
4  Copyright (C) 2012, Matthias Sohn <matthias.sohn@sap.com> and others
5
6  This program and the accompanying materials are made available under the
7  terms of the Eclipse Distribution License v. 1.0 which is available at
8  http://www.eclipse.org/org/documents/edl-v10.php.
9
10  SPDX-License-Identifier: BSD-3-Clause
11-->
12
13<project xmlns="http://maven.apache.org/POM/4.0.0"
14    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
15    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
16  <modelVersion>4.0.0</modelVersion>
17
18  <groupId>org.eclipse.jgit</groupId>
19  <artifactId>org.eclipse.jgit-parent</artifactId>
20  <packaging>pom</packaging>
21  <version>5.13.0-SNAPSHOT</version>
22
23  <name>JGit - Parent</name>
24  <url>${jgit-url}</url>
25
26  <organization>
27    <name>Eclipse JGit Project</name>
28    <url>http://www.eclipse.org/jgit</url>
29  </organization>
30
31  <description>
32    Pure Java implementation of Git
33  </description>
34
35  <scm>
36    <url>https://git.eclipse.org/r/plugins/gitiles/jgit/jgit</url>
37    <connection>scm:git:https://git.eclipse.org/r/jgit/jgit</connection>
38  </scm>
39
40  <ciManagement>
41    <system>Jenkins</system>
42    <url>https://ci.eclipse.org/jgit</url>
43  </ciManagement>
44
45  <developers>
46    <developer>
47      <name>Andrey Loskutov</name>
48    </developer>
49    <developer>
50      <name>Christian Halstrick</name>
51    </developer>
52    <developer>
53      <name>Dave Borowitz</name>
54    </developer>
55    <developer>
56      <name>David Pursehouse</name>
57    </developer>
58    <developer>
59      <name>Gunnar Wagenknecht</name>
60    </developer>
61    <developer>
62      <name>Jonathan Nieder</name>
63    </developer>
64    <developer>
65      <name>Jonathan Tan</name>
66    </developer>
67    <developer>
68      <name>Matthias Sohn</name>
69    </developer>
70    <developer>
71      <name>Sasa Zivkov</name>
72    </developer>
73    <developer>
74      <name>Terry Parker</name>
75    </developer>
76    <developer>
77      <name>Thomas Wolf</name>
78    </developer>
79  </developers>
80
81  <mailingLists>
82    <mailingList>
83      <name>jgit-dev Mailing List</name>
84      <post>jgit-dev@eclipse.org</post>
85      <subscribe>https://dev.eclipse.org/mailman/listinfo/jgit-dev</subscribe>
86      <unsubscribe>https://dev.eclipse.org/mailman/listinfo/jgit-dev</unsubscribe>
87      <archive>http://dev.eclipse.org/mhonarc/lists/jgit-dev</archive>
88    </mailingList>
89
90    <mailingList>
91      <name>GIT Mailing List</name>
92      <post>git@vger.kernel.org</post>
93      <archive>http://marc.info/?l=git</archive>
94    </mailingList>
95  </mailingLists>
96
97  <issueManagement>
98    <url>https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;component=JGit;product=JGit;classification=Technology</url>
99    <system>Bugzilla</system>
100  </issueManagement>
101
102  <licenses>
103    <license>
104      <name>Eclipse Distribution License (New BSD License)</name>
105      <comments>
106       All rights reserved.
107
108       Redistribution and use in source and binary forms, with or
109       without modification, are permitted provided that the following
110       conditions are met:
111
112       - Redistributions of source code must retain the above copyright
113         notice, this list of conditions and the following disclaimer.
114
115       - Redistributions in binary form must reproduce the above
116         copyright notice, this list of conditions and the following
117         disclaimer in the documentation and/or other materials provided
118         with the distribution.
119
120       - Neither the name of the Eclipse Foundation, Inc. nor the
121         names of its contributors may be used to endorse or promote
122         products derived from this software without specific prior
123         written permission.
124
125       THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
126       CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
127       INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
128       OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
129       ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
130       CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
131       SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
132       NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
133       LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
134       CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
135       STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
136       ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
137       ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
138      </comments>
139    </license>
140  </licenses>
141
142  <properties>
143    <jgit-url>https://www.eclipse.org/jgit/</jgit-url>
144    <jgit-copyright>Copyright (c) 2005, 2009 Shawn Pearce, Robin Rosenberg, et.al.</jgit-copyright>
145    <jgit.website.url>scp://build.eclipse.org/home/data/httpd/download.eclipse.org/jgit/site/${project.version}/</jgit.website.url>
146
147    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
148    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
149    <maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
150    <maven.compiler.source>1.8</maven.compiler.source>
151    <maven.compiler.target>1.8</maven.compiler.target>
152    <bundle-manifest>${project.build.directory}/META-INF/MANIFEST.MF</bundle-manifest>
153
154    <jgit-last-release-version>5.12.0.202106070339-r</jgit-last-release-version>
155    <apache-sshd-version>2.6.0</apache-sshd-version>
156    <jsch-version>0.1.55</jsch-version>
157    <jzlib-version>1.1.1</jzlib-version>
158    <javaewah-version>1.1.7</javaewah-version>
159    <junit-version>4.13</junit-version>
160    <test-fork-count>1C</test-fork-count>
161    <args4j-version>2.33</args4j-version>
162    <commons-compress-version>1.19</commons-compress-version>
163    <osgi-core-version>4.3.1</osgi-core-version>
164    <servlet-api-version>3.1.0</servlet-api-version>
165    <jetty-version>9.4.42.v20210604</jetty-version>
166    <japicmp-version>0.15.3</japicmp-version>
167    <httpclient-version>4.5.13</httpclient-version>
168    <httpcore-version>4.4.14</httpcore-version>
169    <slf4j-version>1.7.30</slf4j-version>
170    <log4j-version>1.2.15</log4j-version>
171    <maven-javadoc-plugin-version>3.3.0</maven-javadoc-plugin-version>
172    <tycho-extras-version>1.7.0</tycho-extras-version>
173    <gson-version>2.8.6</gson-version>
174    <bouncycastle-version>1.65</bouncycastle-version>
175    <spotbugs-maven-plugin-version>4.2.3</spotbugs-maven-plugin-version>
176    <maven-project-info-reports-plugin-version>3.1.2</maven-project-info-reports-plugin-version>
177    <maven-jxr-plugin-version>3.1.1</maven-jxr-plugin-version>
178    <maven-surefire-plugin-version>3.0.0-M5</maven-surefire-plugin-version>
179    <maven-surefire-report-plugin-version>${maven-surefire-plugin-version}</maven-surefire-report-plugin-version>
180    <maven-compiler-plugin-version>3.8.1</maven-compiler-plugin-version>
181    <plexus-compiler-version>2.8.8</plexus-compiler-version>
182
183    <!-- Properties to enable jacoco code coverage analysis -->
184    <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
185    <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
186    <sonar.jacoco.reportPath>${project.build.directory}/jacoco.exec</sonar.jacoco.reportPath>
187  </properties>
188
189  <repositories>
190    <repository>
191      <id>jgit-repository</id>
192      <url>https://repo.eclipse.org/content/repositories/jgit-releases/</url>
193    </repository>
194  </repositories>
195
196  <pluginRepositories>
197    <pluginRepository>
198      <id>repo.eclipse.org.cbi-releases</id>
199      <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
200    </pluginRepository>
201    <pluginRepository>
202      <id>repo.eclipse.org.cbi-snapshots</id>
203      <url>https://repo.eclipse.org/content/repositories/cbi-snapshots/</url>
204    </pluginRepository>
205    <pluginRepository>
206      <id>repo.eclipse.org.dash-releases</id>
207      <url>https://repo.eclipse.org/content/repositories/dash-licenses-releases/</url>
208    </pluginRepository>
209    <pluginRepository>
210      <id>repo.eclipse.org.dash-snapshots</id>
211      <url>https://repo.eclipse.org/content/repositories/dash-licenses-snapshots/</url>
212    </pluginRepository>
213  </pluginRepositories>
214
215  <build>
216    <pluginManagement>
217      <plugins>
218        <plugin>
219          <groupId>org.apache.maven.plugins</groupId>
220          <artifactId>maven-jar-plugin</artifactId>
221          <version>3.2.0</version>
222          <configuration>
223            <archive>
224              <manifestEntries>
225                <Implementation-Title>JGit ${project.artifactId}</Implementation-Title>
226                <Implementation-Version>${project.version}</Implementation-Version>
227                <Implementation-Vendor>Eclipse.org - JGit</Implementation-Vendor>
228                <Implementation-Vendor-Id>org.eclipse.jgit</Implementation-Vendor-Id>
229                <Implementation-Vendor-URL>${jgit-url}</Implementation-Vendor-URL>
230              </manifestEntries>
231            </archive>
232            <!-- TODO: uncomment this in order to skip empty artifact of test modules as soon as bug 416299 is fixed
233            <skipIfEmpty>true</skipIfEmpty>
234            -->
235          </configuration>
236        </plugin>
237
238        <plugin>
239          <artifactId>maven-clean-plugin</artifactId>
240          <version>3.1.0</version>
241        </plugin>
242
243        <plugin>
244          <groupId>org.apache.maven.plugins</groupId>
245          <artifactId>maven-shade-plugin</artifactId>
246          <version>3.2.4</version>
247        </plugin>
248
249        <plugin>
250          <groupId>org.apache.maven.plugins</groupId>
251          <artifactId>maven-antrun-plugin</artifactId>
252          <version>3.0.0</version>
253        </plugin>
254
255        <plugin>
256          <groupId>org.apache.maven.plugins</groupId>
257          <artifactId>maven-dependency-plugin</artifactId>
258          <version>3.2.0</version>
259        </plugin>
260
261        <plugin>
262          <groupId>org.apache.maven.plugins</groupId>
263          <artifactId>maven-source-plugin</artifactId>
264          <version>3.2.1</version>
265        </plugin>
266
267        <plugin>
268          <groupId>org.apache.maven.plugins</groupId>
269          <artifactId>maven-javadoc-plugin</artifactId>
270          <version>${maven-javadoc-plugin-version}</version>
271        </plugin>
272
273        <plugin>
274          <groupId>org.apache.maven.plugins</groupId>
275          <artifactId>maven-surefire-plugin</artifactId>
276          <version>${maven-surefire-plugin-version}</version>
277          <configuration>
278            <forkCount>${test-fork-count}</forkCount>
279            <reuseForks>true</reuseForks>
280            <argLine>@{argLine}</argLine>
281          </configuration>
282        </plugin>
283
284        <plugin>
285          <groupId>org.codehaus.mojo</groupId>
286          <artifactId>build-helper-maven-plugin</artifactId>
287          <version>3.2.0</version>
288        </plugin>
289
290        <plugin>
291          <groupId>com.github.spotbugs</groupId>
292          <artifactId>spotbugs-maven-plugin</artifactId>
293          <version>${spotbugs-maven-plugin-version}</version>
294          <configuration>
295            <findbugsXmlOutput>true</findbugsXmlOutput>
296            <failOnError>false</failOnError>
297          </configuration>
298          <executions>
299            <execution>
300              <goals>
301                <goal>check</goal>
302              </goals>
303            </execution>
304          </executions>
305        </plugin>
306
307        <plugin>
308          <groupId>org.apache.maven.plugins</groupId>
309          <artifactId>maven-pmd-plugin</artifactId>
310          <version>3.14.0</version>
311          <configuration>
312            <sourceEncoding>utf-8</sourceEncoding>
313            <minimumTokens>100</minimumTokens>
314            <targetJdk>1.8</targetJdk>
315            <format>xml</format>
316            <failOnViolation>false</failOnViolation>
317            <excludes>
318              <exclude>**/UbcCheck.java</exclude>
319            </excludes>
320          </configuration>
321          <executions>
322            <execution>
323              <goals>
324                <goal>cpd-check</goal>
325              </goals>
326            </execution>
327          </executions>
328        </plugin>
329
330        <plugin>
331          <groupId>org.eclipse.cbi.maven.plugins</groupId>
332          <artifactId>eclipse-jarsigner-plugin</artifactId>
333          <version>1.3.1</version>
334        </plugin>
335        <plugin>
336          <groupId>org.eclipse.tycho.extras</groupId>
337          <artifactId>tycho-pack200a-plugin</artifactId>
338          <version>${tycho-extras-version}</version>
339        </plugin>
340        <plugin>
341          <groupId>org.eclipse.tycho.extras</groupId>
342          <artifactId>tycho-pack200b-plugin</artifactId>
343          <version>${tycho-extras-version}</version>
344        </plugin>
345        <plugin>
346          <groupId>org.jacoco</groupId>
347          <artifactId>jacoco-maven-plugin</artifactId>
348          <version>0.8.7</version>
349        </plugin>
350        <plugin>
351          <groupId>org.apache.maven.plugins</groupId>
352          <artifactId>maven-site-plugin</artifactId>
353          <version>3.9.1</version>
354          <dependencies>
355            <dependency><!-- add support for ssh/scp -->
356              <groupId>org.apache.maven.wagon</groupId>
357              <artifactId>wagon-ssh</artifactId>
358              <version>3.4.3</version>
359            </dependency>
360          </dependencies>
361        </plugin>
362        <plugin>
363          <groupId>org.apache.maven.plugins</groupId>
364          <artifactId>maven-surefire-report-plugin</artifactId>
365          <version>${maven-surefire-report-plugin-version}</version>
366        </plugin>
367        <plugin>
368          <groupId>org.apache.maven.plugins</groupId>
369          <artifactId>maven-jxr-plugin</artifactId>
370          <version>${maven-jxr-plugin-version}</version>
371        </plugin>
372        <plugin>
373          <groupId>org.apache.maven.plugins</groupId>
374          <artifactId>maven-project-info-reports-plugin</artifactId>
375          <version>${maven-project-info-reports-plugin-version}</version>
376        </plugin>
377        <plugin>
378          <groupId>org.apache.maven.plugins</groupId>
379          <artifactId>maven-deploy-plugin</artifactId>
380          <version>3.0.0-M1</version>
381        </plugin>
382        <plugin>
383          <groupId>org.apache.maven.plugins</groupId>
384          <artifactId>maven-install-plugin</artifactId>
385          <version>3.0.0-M1</version>
386        </plugin>
387        <plugin>
388          <groupId>org.apache.maven.plugins</groupId>
389          <artifactId>maven-compiler-plugin</artifactId>
390          <version>${maven-compiler-plugin-version}</version>
391        </plugin>
392        <plugin>
393          <groupId>org.apache.maven.plugins</groupId>
394          <artifactId>maven-resources-plugin</artifactId>
395          <version>3.2.0</version>
396        </plugin>
397        <plugin>
398          <groupId>org.springframework.boot</groupId>
399          <artifactId>spring-boot-maven-plugin</artifactId>
400          <version>2.4.4</version>
401        </plugin>
402        <plugin>
403          <groupId>org.eclipse.dash</groupId>
404          <artifactId>license-tool-plugin</artifactId>
405          <version>0.0.1-SNAPSHOT</version>
406        </plugin>
407      </plugins>
408    </pluginManagement>
409
410    <plugins>
411      <plugin>
412        <groupId>org.apache.maven.plugins</groupId>
413        <artifactId>maven-enforcer-plugin</artifactId>
414        <version>3.0.0-M3</version>
415        <executions>
416          <execution>
417            <id>enforce-maven</id>
418            <goals>
419              <goal>enforce</goal>
420            </goals>
421            <configuration>
422              <rules>
423                <requireMavenVersion>
424                  <version>3.6.3</version>
425                </requireMavenVersion>
426              </rules>
427            </configuration>
428          </execution>
429        </executions>
430      </plugin>
431
432      <plugin>
433        <artifactId>maven-compiler-plugin</artifactId>
434      </plugin>
435
436      <plugin>
437        <groupId>org.apache.maven.plugins</groupId>
438        <artifactId>maven-antrun-plugin</artifactId>
439        <executions>
440          <execution>
441            <id>translate-qualifier</id>
442            <phase>generate-resources</phase>
443            <configuration>
444              <target if="${translate-qualifier}">
445                <copy file="META-INF/MANIFEST.MF" tofile="${bundle-manifest}" overwrite="true"/>
446                <replace file="${bundle-manifest}">
447                  <replacefilter token=".qualifier" value=".${maven.build.timestamp}"/>
448                </replace>
449              </target>
450            </configuration>
451            <goals>
452              <goal>run</goal>
453            </goals>
454          </execution>
455        </executions>
456      </plugin>
457
458      <!-- Build helper maven plugin sets the parsedVersion.osgiVersion property -->
459      <plugin>
460        <groupId>org.codehaus.mojo</groupId>
461        <artifactId>build-helper-maven-plugin</artifactId>
462        <executions>
463          <execution>
464            <id>set-osgi-version</id>
465            <phase>validate</phase>
466            <goals>
467              <goal>parse-version</goal>
468            </goals>
469          </execution>
470        </executions>
471      </plugin>
472
473      <plugin>
474        <groupId>org.apache.maven.plugins</groupId>
475        <artifactId>maven-javadoc-plugin</artifactId>
476        <configuration>
477          <additionalJOption>-Xdoclint:-missing</additionalJOption>
478          <encoding>${project.build.sourceEncoding}</encoding>
479          <quiet>true</quiet>
480          <excludePackageNames>org.eclipse.jgit.http.test</excludePackageNames>
481          <links>
482            <link>http://docs.oracle.com/javase/8/docs/api</link>
483          </links>
484        </configuration>
485        <executions>
486          <execution>
487            <goals>
488              <goal>jar</goal>
489            </goals>
490          </execution>
491        </executions>
492      </plugin>
493      <plugin>
494        <groupId>org.apache.maven.plugins</groupId>
495        <artifactId>maven-source-plugin</artifactId>
496        <inherited>true</inherited>
497        <executions>
498          <execution>
499            <id>attach-sources</id>
500            <phase>process-classes</phase>
501            <goals>
502              <goal>jar</goal>
503            </goals>
504          </execution>
505        </executions>
506      </plugin>
507      <plugin>
508        <groupId>org.jacoco</groupId>
509        <artifactId>jacoco-maven-plugin</artifactId>
510        <executions>
511          <execution>
512            <id>default-prepare-agent</id>
513            <goals>
514              <goal>prepare-agent</goal>
515            </goals>
516            <configuration>
517              <destFile>${sonar.jacoco.reportPath}</destFile>
518              <includes>
519                <include>org.eclipse.jgit.*</include>
520              </includes>
521              <excludes>
522                <exclude>**/*Test*.*</exclude>
523              </excludes>
524              <append>true</append>
525            </configuration>
526          </execution>
527          <execution>
528            <id>default-report</id>
529            <goals>
530              <goal>report</goal>
531            </goals>
532          </execution>
533          <execution>
534            <id>default-check</id>
535            <goals>
536              <goal>check</goal>
537            </goals>
538            <configuration>
539            <haltOnFailure>false</haltOnFailure>
540            <rules>
541              <rule>
542                <element>BUNDLE</element>
543                  <limits>
544                    <limit>
545                      <counter>INSTRUCTION</counter>
546                      <value>COVEREDRATIO</value>
547                      <minimum>50%</minimum>
548                    </limit>
549                    <limit>
550                      <counter>CLASS</counter>
551                      <value>MISSEDCOUNT</value>
552                      <maximum>10</maximum>
553                    </limit>
554                  </limits>
555                </rule>
556              </rules>
557            </configuration>
558          </execution>
559        </executions>
560      </plugin>
561      <plugin>
562        <groupId>org.apache.maven.plugins</groupId>
563        <artifactId>maven-surefire-report-plugin</artifactId>
564      </plugin>
565      <plugin>
566        <groupId>org.eclipse.dash</groupId>
567        <artifactId>license-tool-plugin</artifactId>
568      </plugin>
569    </plugins>
570  </build>
571
572  <reporting>
573    <plugins>
574      <plugin>
575        <groupId>org.apache.maven.plugins</groupId>
576        <artifactId>maven-javadoc-plugin</artifactId>
577        <version>${maven-javadoc-plugin-version}</version>
578        <reportSets>
579          <reportSet>
580            <reports>
581              <report>javadoc</report>
582            </reports>
583          </reportSet>
584          <reportSet>
585            <id>aggregate</id>
586            <inherited>false</inherited>
587            <reports>
588              <report>aggregate</report>
589            </reports>
590          </reportSet>
591        </reportSets>
592        <configuration>
593          <additionalJOption>-Xdoclint:-missing</additionalJOption>
594        </configuration>
595      </plugin>
596      <plugin>
597        <groupId>org.apache.maven.plugins</groupId>
598        <artifactId>maven-jxr-plugin</artifactId>
599        <version>${maven-jxr-plugin-version}</version>
600      </plugin>
601      <plugin>
602        <groupId>com.github.spotbugs</groupId>
603        <artifactId>spotbugs-maven-plugin</artifactId>
604        <version>${spotbugs-maven-plugin-version}</version>
605      </plugin>
606      <plugin>
607        <groupId>org.apache.maven.plugins</groupId>
608        <artifactId>maven-surefire-report-plugin</artifactId>
609        <version>${maven-surefire-report-plugin-version}</version>
610        <configuration>
611          <aggregate>true</aggregate>
612          <alwaysGenerateSurefireReport>false</alwaysGenerateSurefireReport>
613          <reportsDirectories>
614            <reportsDirectories>${project.build.directory}/surefire-reports</reportsDirectories>
615          </reportsDirectories>
616        </configuration>
617      </plugin>
618      <plugin>
619        <groupId>org.apache.maven.plugins</groupId>
620        <artifactId>maven-project-info-reports-plugin</artifactId>
621        <version>${maven-project-info-reports-plugin-version}</version>
622        <reportSets>
623          <reportSet>
624            <reports>
625              <report>dependencies</report>
626              <report>dependency-convergence</report>
627              <report>dependency-management</report>
628              <report>index</report>
629              <report>summary</report>
630              <report>team</report>
631              <report>mailing-lists</report>
632              <report>ci-management</report>
633              <report>issue-management</report>
634              <report>licenses</report>
635              <report>scm</report>
636            </reports>
637          </reportSet>
638        </reportSets>
639      </plugin>
640      <plugin>
641        <groupId>org.jacoco</groupId>
642        <artifactId>jacoco-maven-plugin</artifactId>
643        <reportSets>
644          <reportSet>
645            <reports>
646              <report>report</report>
647            </reports>
648          </reportSet>
649          <reportSet>
650            <id>aggregate</id>
651            <inherited>false</inherited>
652            <reports>
653              <report>report-aggregate</report>
654            </reports>
655          </reportSet>
656        </reportSets>
657      </plugin>
658    </plugins>
659  </reporting>
660
661  <dependencyManagement>
662    <dependencies>
663      <dependency>
664        <groupId>com.jcraft</groupId>
665        <artifactId>jsch</artifactId>
666        <version>${jsch-version}</version>
667      </dependency>
668
669      <dependency>
670        <groupId>com.jcraft</groupId>
671        <artifactId>jzlib</artifactId>
672        <version>${jzlib-version}</version>
673      </dependency>
674
675      <dependency>
676        <groupId>com.googlecode.javaewah</groupId>
677        <artifactId>JavaEWAH</artifactId>
678        <version>${javaewah-version}</version>
679      </dependency>
680
681      <dependency>
682        <groupId>args4j</groupId>
683        <artifactId>args4j</artifactId>
684        <version>${args4j-version}</version>
685      </dependency>
686
687      <dependency>
688        <groupId>junit</groupId>
689        <artifactId>junit</artifactId>
690        <version>${junit-version}</version>
691      </dependency>
692
693      <dependency>
694        <groupId>javax.servlet</groupId>
695        <artifactId>javax.servlet-api</artifactId>
696        <version>${servlet-api-version}</version>
697      </dependency>
698
699      <dependency>
700        <groupId>org.apache.commons</groupId>
701        <artifactId>commons-compress</artifactId>
702        <version>${commons-compress-version}</version>
703      </dependency>
704
705      <dependency>
706        <groupId>org.tukaani</groupId>
707        <artifactId>xz</artifactId>
708        <version>1.8</version>
709        <optional>true</optional>
710      </dependency>
711
712      <dependency>
713        <groupId>org.eclipse.jetty</groupId>
714        <artifactId>jetty-servlet</artifactId>
715        <version>${jetty-version}</version>
716      </dependency>
717
718      <dependency>
719        <groupId>org.osgi</groupId>
720        <artifactId>org.osgi.core</artifactId>
721        <version>${osgi-core-version}</version>
722      </dependency>
723
724      <dependency>
725        <groupId>org.apache.httpcomponents</groupId>
726        <artifactId>httpclient</artifactId>
727        <version>${httpclient-version}</version>
728      </dependency>
729
730      <dependency>
731        <groupId>org.apache.httpcomponents</groupId>
732        <artifactId>httpcore</artifactId>
733        <version>${httpcore-version}</version>
734      </dependency>
735
736      <dependency>
737        <groupId>org.slf4j</groupId>
738        <artifactId>slf4j-api</artifactId>
739        <version>${slf4j-version}</version>
740      </dependency>
741
742      <dependency>
743        <groupId>org.slf4j</groupId>
744        <artifactId>slf4j-log4j12</artifactId>
745        <version>${slf4j-version}</version>
746      </dependency>
747
748      <dependency>
749        <groupId>log4j</groupId>
750        <artifactId>log4j</artifactId>
751        <version>${log4j-version}</version>
752        <exclusions>
753          <exclusion>
754            <groupId>javax.mail</groupId>
755            <artifactId>mail</artifactId>
756          </exclusion>
757          <exclusion>
758            <groupId>javax.jms</groupId>
759            <artifactId>jms</artifactId>
760          </exclusion>
761          <exclusion>
762            <groupId>com.sun.jdmk</groupId>
763            <artifactId>jmxtools</artifactId>
764          </exclusion>
765          <exclusion>
766            <groupId>com.sun.jmx</groupId>
767            <artifactId>jmxri</artifactId>
768          </exclusion>
769        </exclusions>
770      </dependency>
771
772      <dependency>
773        <groupId>com.google.code.gson</groupId>
774        <artifactId>gson</artifactId>
775        <version>${gson-version}</version>
776      </dependency>
777
778      <dependency>
779        <groupId>org.bouncycastle</groupId>
780        <artifactId>bcpg-jdk15on</artifactId>
781        <version>${bouncycastle-version}</version>
782      </dependency>
783
784      <dependency>
785        <groupId>org.bouncycastle</groupId>
786        <artifactId>bcprov-jdk15on</artifactId>
787        <version>1.65.01</version>
788      </dependency>
789
790      <dependency>
791        <groupId>org.bouncycastle</groupId>
792        <artifactId>bcpkix-jdk15on</artifactId>
793        <version>${bouncycastle-version}</version>
794      </dependency>
795
796      <dependency>
797        <groupId>org.assertj</groupId>
798        <artifactId>assertj-core</artifactId>
799        <version>3.14.0</version>
800      </dependency>
801    </dependencies>
802  </dependencyManagement>
803
804  <distributionManagement>
805    <repository>
806      <id>repo.eclipse.org</id>
807      <name>JGit Maven Repository - Releases</name>
808      <url>https://repo.eclipse.org/content/repositories/jgit-releases/</url>
809    </repository>
810    <snapshotRepository>
811      <id>repo.eclipse.org</id>
812      <name>JGit Maven Repository - Snapshots</name>
813      <url>https://repo.eclipse.org/content/repositories/jgit-snapshots/</url>
814      <uniqueVersion>true</uniqueVersion>
815    </snapshotRepository>
816    <site>
817      <id>jgit.website</id>
818      <name>JGit Website</name>
819      <url>${jgit.website.url}</url>
820    </site>
821  </distributionManagement>
822
823  <profiles>
824    <profile>
825      <id>javac</id>
826      <build>
827        <plugins>
828          <plugin>
829            <artifactId>maven-compiler-plugin</artifactId>
830            <configuration>
831              <encoding>UTF-8</encoding>
832              <source>1.8</source>
833              <target>1.8</target>
834              <compilerArgs>
835                <arg>-XDcompilePolicy=simple</arg>
836                <arg>-Xplugin:ErrorProne</arg>
837              </compilerArgs>
838              <annotationProcessorPaths>
839                <path>
840                  <groupId>com.google.errorprone</groupId>
841                  <artifactId>error_prone_core</artifactId>
842                  <version>2.4.0</version>
843                </path>
844              </annotationProcessorPaths>
845            </configuration>
846          </plugin>
847        </plugins>
848      </build>
849    </profile>
850    <profile>
851      <id>jdk8</id>
852      <activation>
853        <jdk>1.8</jdk>
854      </activation>
855      <properties>
856        <javac.version>9+181-r4173-1</javac.version>
857      </properties>
858      <build>
859        <plugins>
860          <plugin>
861            <groupId>org.apache.maven.plugins</groupId>
862            <artifactId>maven-compiler-plugin</artifactId>
863            <configuration>
864              <fork>true</fork>
865              <compilerArgs combine.children="append">
866                <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
867              </compilerArgs>
868            </configuration>
869          </plugin>
870        </plugins>
871      </build>
872    </profile>
873    <profile>
874      <id>ecj</id>
875      <activation>
876        <activeByDefault>true</activeByDefault>
877      </activation>
878      <build>
879        <plugins>
880          <plugin>
881            <artifactId>maven-compiler-plugin</artifactId>
882            <configuration>
883              <compilerId>eclipse</compilerId>
884              <encoding>UTF-8</encoding>
885              <source>1.8</source>
886              <target>1.8</target>
887              <!-- Passing arguments is a trainwreck, see https://issues.apache.org/jira/browse/MCOMPILER-123 -->
888              <compilerArguments>
889                <properties>${project.basedir}/.settings/org.eclipse.jdt.core.prefs</properties>
890              </compilerArguments>
891              <showWarnings>true</showWarnings>
892              <showDeprecation>true</showDeprecation>
893            </configuration>
894            <dependencies>
895              <dependency>
896                <groupId>org.codehaus.plexus</groupId>
897                <artifactId>plexus-compiler-eclipse</artifactId>
898                <version>${plexus-compiler-version}</version>
899              </dependency>
900              <dependency>
901                <groupId>org.eclipse.jdt</groupId>
902                <artifactId>ecj</artifactId>
903                <version>3.25.0</version>
904              </dependency>
905            </dependencies>
906          </plugin>
907        </plugins>
908      </build>
909    </profile>
910    <profile>
911      <id>static-checks</id>
912      <build>
913        <plugins>
914          <plugin>
915            <groupId>com.github.spotbugs</groupId>
916            <artifactId>spotbugs-maven-plugin</artifactId>
917          </plugin>
918          <plugin>
919            <groupId>org.apache.maven.plugins</groupId>
920            <artifactId>maven-pmd-plugin</artifactId>
921          </plugin>
922        </plugins>
923      </build>
924    </profile>
925    <profile>
926      <id>eclipse-sign</id>
927      <build>
928        <plugins>
929          <plugin>
930            <groupId>org.eclipse.tycho.extras</groupId>
931            <artifactId>tycho-pack200a-plugin</artifactId>
932            <executions>
933              <execution>
934                <id>pack200-normalize</id>
935                <goals>
936                  <goal>normalize</goal>
937                </goals>
938                <phase>verify</phase>
939              </execution>
940            </executions>
941          </plugin>
942          <plugin>
943            <groupId>org.eclipse.cbi.maven.plugins</groupId>
944            <artifactId>eclipse-jarsigner-plugin</artifactId>
945            <executions>
946              <execution>
947                <id>sign</id>
948                <phase>verify</phase>
949                <goals>
950                  <goal>sign</goal>
951                </goals>
952              </execution>
953            </executions>
954          </plugin>
955          <plugin>
956            <groupId>org.eclipse.tycho.extras</groupId>
957            <artifactId>tycho-pack200b-plugin</artifactId>
958            <executions>
959              <execution>
960                <id>pack200-pack</id>
961                <goals>
962                  <goal>pack</goal>
963                </goals>
964                <phase>verify</phase>
965              </execution>
966            </executions>
967          </plugin>
968        </plugins>
969      </build>
970    </profile>
971    <profile>
972      <id>build-server</id>
973      <properties>
974        <jgit.website.url>file:///home/data/httpd/download.eclipse.org/jgit/site/${project.version}/</jgit.website.url>
975      </properties>
976    </profile>
977  </profiles>
978
979  <modules>
980    <module>org.eclipse.jgit</module>
981    <module>org.eclipse.jgit.ant</module>
982    <module>org.eclipse.jgit.archive</module>
983    <module>org.eclipse.jgit.ui</module>
984    <module>org.eclipse.jgit.gpg.bc</module>
985    <module>org.eclipse.jgit.http.apache</module>
986    <module>org.eclipse.jgit.http.server</module>
987    <module>org.eclipse.jgit.ssh.apache</module>
988    <module>org.eclipse.jgit.ssh.jsch</module>
989    <module>org.eclipse.jgit.pgm</module>
990    <module>org.eclipse.jgit.lfs</module>
991    <module>org.eclipse.jgit.lfs.server</module>
992    <module>org.eclipse.jgit.junit</module>
993    <module>org.eclipse.jgit.junit.http</module>
994    <module>org.eclipse.jgit.junit.ssh</module>
995
996    <module>org.eclipse.jgit.test</module>
997    <module>org.eclipse.jgit.ant.test</module>
998    <module>org.eclipse.jgit.gpg.bc.test</module>
999    <module>org.eclipse.jgit.http.test</module>
1000    <module>org.eclipse.jgit.pgm.test</module>
1001    <module>org.eclipse.jgit.lfs.test</module>
1002    <module>org.eclipse.jgit.lfs.server.test</module>
1003    <module>org.eclipse.jgit.ssh.apache.test</module>
1004    <module>org.eclipse.jgit.ssh.jsch.test</module>
1005    <module>org.eclipse.jgit.coverage</module>
1006    <module>org.eclipse.jgit.benchmarks</module>
1007  </modules>
1008
1009</project>
1010