xref: /JGit/org.eclipse.jgit.archive/pom.xml (revision 1cbfea9ece03b40669377a7f858218f6994562ea)
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  Copyright (C) 2013, Google Inc. and others
4
5  This program and the accompanying materials are made available under the
6  terms of the Eclipse Distribution License v. 1.0 which is available at
7  http://www.eclipse.org/org/documents/edl-v10.php.
8
9  SPDX-License-Identifier: BSD-3-Clause
10-->
11
12<project xmlns="http://maven.apache.org/POM/4.0.0"
13    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
14    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
15  <modelVersion>4.0.0</modelVersion>
16
17  <parent>
18    <groupId>org.eclipse.jgit</groupId>
19    <artifactId>org.eclipse.jgit-parent</artifactId>
20    <version>5.13.0-SNAPSHOT</version>
21  </parent>
22
23  <artifactId>org.eclipse.jgit.archive</artifactId>
24  <name>JGit - Archive Formats</name>
25
26  <description>
27    Support for archiving a Git tree in formats such as zip and tar.
28    This is a separate bundle from org.eclipse.jgit to avoid a
29    dependency by the latter on commons-compress.
30  </description>
31
32  <properties>
33    <translate-qualifier/>
34    <source-bundle-manifest>${project.build.directory}/META-INF/SOURCE-MANIFEST.MF</source-bundle-manifest>
35  </properties>
36
37  <dependencies>
38    <dependency>
39      <groupId>org.apache.commons</groupId>
40      <artifactId>commons-compress</artifactId>
41    </dependency>
42
43    <dependency>
44      <groupId>org.eclipse.jgit</groupId>
45      <artifactId>org.eclipse.jgit</artifactId>
46      <version>${project.version}</version>
47    </dependency>
48
49    <dependency>
50      <groupId>org.osgi</groupId>
51      <artifactId>org.osgi.core</artifactId>
52    </dependency>
53  </dependencies>
54
55  <build>
56    <sourceDirectory>src/</sourceDirectory>
57
58    <resources>
59      <resource>
60        <directory>.</directory>
61        <includes>
62          <include>plugin.properties</include>
63          <include>about.html</include>
64        </includes>
65      </resource>
66    </resources>
67
68    <plugins>
69      <plugin>
70        <groupId>org.apache.maven.plugins</groupId>
71        <artifactId>maven-antrun-plugin</artifactId>
72        <executions>
73          <execution>
74            <id>translate-source-qualifier</id>
75            <phase>generate-resources</phase>
76            <configuration>
77              <target>
78                <copy file="META-INF/SOURCE-MANIFEST.MF" tofile="${source-bundle-manifest}" overwrite="true"/>
79                <replace file="${source-bundle-manifest}">
80                  <replacefilter token=".qualifier" value=".${maven.build.timestamp}"/>
81                </replace>
82              </target>
83            </configuration>
84            <goals>
85              <goal>run</goal>
86            </goals>
87          </execution>
88        </executions>
89      </plugin>
90
91      <plugin>
92        <groupId>org.apache.maven.plugins</groupId>
93        <artifactId>maven-source-plugin</artifactId>
94        <inherited>true</inherited>
95        <executions>
96          <execution>
97            <id>attach-sources</id>
98            <phase>process-classes</phase>
99            <goals>
100              <goal>jar</goal>
101            </goals>
102            <configuration>
103              <archive>
104                <manifestFile>${source-bundle-manifest}</manifestFile>
105              </archive>
106            </configuration>
107          </execution>
108        </executions>
109      </plugin>
110
111      <plugin>
112        <artifactId>maven-jar-plugin</artifactId>
113        <configuration>
114          <archive>
115            <manifestFile>${bundle-manifest}</manifestFile>
116          </archive>
117        </configuration>
118      </plugin>
119
120      <plugin>
121          <groupId>com.github.siom79.japicmp</groupId>
122          <artifactId>japicmp-maven-plugin</artifactId>
123          <version>${japicmp-version}</version>
124          <configuration>
125              <oldVersion>
126                  <dependency>
127                      <groupId>${project.groupId}</groupId>
128                      <artifactId>${project.artifactId}</artifactId>
129                      <version>${jgit-last-release-version}</version>
130                  </dependency>
131              </oldVersion>
132              <newVersion>
133                  <file>
134                      <path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
135                  </file>
136              </newVersion>
137              <parameter>
138                  <onlyModified>true</onlyModified>
139                  <includes>
140                      <include>org.eclipse.jgit.*</include>
141                  </includes>
142                  <accessModifier>public</accessModifier>
143                  <breakBuildOnModifications>false</breakBuildOnModifications>
144                  <breakBuildOnBinaryIncompatibleModifications>false</breakBuildOnBinaryIncompatibleModifications>
145                  <onlyBinaryIncompatible>false</onlyBinaryIncompatible>
146                  <includeSynthetic>false</includeSynthetic>
147                  <ignoreMissingClasses>false</ignoreMissingClasses>
148                  <skipPomModules>true</skipPomModules>
149              </parameter>
150              <skip>false</skip>
151          </configuration>
152          <executions>
153            <execution>
154             <phase>verify</phase>
155             <goals>
156               <goal>cmp</goal>
157             </goals>
158          </execution>
159        </executions>
160      </plugin>
161    </plugins>
162  </build>
163
164  <reporting>
165    <plugins>
166      <plugin>
167          <groupId>com.github.siom79.japicmp</groupId>
168          <artifactId>japicmp-maven-plugin</artifactId>
169          <version>${japicmp-version}</version>
170          <reportSets>
171              <reportSet>
172                  <reports>
173                      <report>cmp-report</report>
174                  </reports>
175              </reportSet>
176          </reportSets>
177          <configuration>
178              <oldVersion>
179                  <dependency>
180                      <groupId>${project.groupId}</groupId>
181                      <artifactId>${project.artifactId}</artifactId>
182                      <version>${jgit-last-release-version}</version>
183                  </dependency>
184              </oldVersion>
185              <newVersion>
186                  <file>
187                      <path>${project.build.directory}/${project.artifactId}-${project.version}.jar</path>
188                  </file>
189              </newVersion>
190              <parameter>
191                  <onlyModified>true</onlyModified>
192                  <includes>
193                      <include>org.eclipse.jgit.*</include>
194                  </includes>
195                  <accessModifier>public</accessModifier>
196                  <breakBuildOnModifications>false</breakBuildOnModifications>
197                  <breakBuildOnBinaryIncompatibleModifications>false</breakBuildOnBinaryIncompatibleModifications>
198                  <onlyBinaryIncompatible>false</onlyBinaryIncompatible>
199                  <includeSynthetic>false</includeSynthetic>
200                  <ignoreMissingClasses>false</ignoreMissingClasses>
201                  <skipPomModules>true</skipPomModules>
202              </parameter>
203              <skip>false</skip>
204          </configuration>
205      </plugin>
206    </plugins>
207  </reporting>
208</project>
209