xref: /aosp_15_r20/external/jacoco/org.jacoco.doc/pom.xml (revision 7e63c1270baf9bfa84f5b6aecf17bd0c1a75af94)
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3   Copyright (c) 2009, 2021 Mountainminds GmbH & Co. KG and Contributors
4   This program and the accompanying materials are made available under
5   the terms of the Eclipse Public License 2.0 which is available at
6   http://www.eclipse.org/legal/epl-2.0
7
8   SPDX-License-Identifier: EPL-2.0
9
10   Contributors:
11      Evgeny Mandrikov - initial API and implementation
12-->
13<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
14  <modelVersion>4.0.0</modelVersion>
15
16  <parent>
17    <groupId>org.jacoco</groupId>
18    <artifactId>org.jacoco.build</artifactId>
19    <version>0.8.7</version>
20    <relativePath>../org.jacoco.build</relativePath>
21  </parent>
22
23  <artifactId>org.jacoco.doc</artifactId>
24  <!-- do not set packaging to pom, because otherwise we will receive "Not executing Javadoc as the project is not a Java classpath-capable package" -->
25
26  <name>JaCoCo :: Documentation</name>
27  <description>JaCoCo Documentation</description>
28
29  <properties>
30    <maven.deploy.skip>true</maven.deploy.skip>
31  </properties>
32
33  <dependencies>
34    <dependency>
35      <groupId>${project.groupId}</groupId>
36      <artifactId>org.jacoco.core</artifactId>
37    </dependency>
38    <dependency>
39      <groupId>${project.groupId}</groupId>
40      <artifactId>org.jacoco.core.test</artifactId>
41      <version>${project.version}</version>
42      <scope>test</scope>
43    </dependency>
44    <dependency>
45      <groupId>${project.groupId}</groupId>
46      <artifactId>org.jacoco.report</artifactId>
47    </dependency>
48    <dependency>
49      <groupId>${project.groupId}</groupId>
50      <artifactId>org.jacoco.report.test</artifactId>
51      <version>${project.version}</version>
52      <scope>test</scope>
53    </dependency>
54    <dependency>
55      <groupId>${project.groupId}</groupId>
56      <artifactId>org.jacoco.agent</artifactId>
57    </dependency>
58    <dependency>
59      <groupId>${project.groupId}</groupId>
60      <artifactId>org.jacoco.agent.test</artifactId>
61      <version>${project.version}</version>
62      <scope>test</scope>
63    </dependency>
64    <dependency>
65      <groupId>${project.groupId}</groupId>
66      <artifactId>org.jacoco.agent.rt</artifactId>
67    </dependency>
68    <dependency>
69      <groupId>${project.groupId}</groupId>
70      <artifactId>org.jacoco.agent.rt.test</artifactId>
71      <version>${project.version}</version>
72      <scope>test</scope>
73    </dependency>
74    <dependency>
75      <groupId>${project.groupId}</groupId>
76      <artifactId>org.jacoco.ant</artifactId>
77    </dependency>
78    <dependency>
79      <groupId>${project.groupId}</groupId>
80      <artifactId>org.jacoco.ant.test</artifactId>
81      <version>${project.version}</version>
82      <scope>test</scope>
83    </dependency>
84    <dependency>
85      <groupId>${project.groupId}</groupId>
86      <artifactId>org.jacoco.cli</artifactId>
87    </dependency>
88    <dependency>
89      <groupId>${project.groupId}</groupId>
90      <artifactId>org.jacoco.cli.test</artifactId>
91      <version>${project.version}</version>
92      <scope>test</scope>
93    </dependency>
94    <dependency>
95      <groupId>${project.groupId}</groupId>
96      <artifactId>org.jacoco.examples</artifactId>
97      <version>${project.version}</version>
98    </dependency>
99    <dependency>
100      <groupId>${project.groupId}</groupId>
101      <artifactId>org.jacoco.examples.test</artifactId>
102      <version>${project.version}</version>
103      <scope>test</scope>
104    </dependency>
105    <dependency>
106      <groupId>${project.groupId}</groupId>
107      <artifactId>jacoco-maven-plugin</artifactId>
108      <version>${project.version}</version>
109    </dependency>
110    <dependency>
111      <groupId>${project.groupId}</groupId>
112      <artifactId>jacoco-maven-plugin.test</artifactId>
113      <version>${project.version}</version>
114      <scope>test</scope>
115    </dependency>
116  </dependencies>
117
118  <build>
119    <sourceDirectory>src</sourceDirectory>
120
121    <plugins>
122      <plugin>
123        <groupId>org.jacoco</groupId>
124        <artifactId>jacoco-maven-plugin</artifactId>
125        <version>${project.version}</version>
126        <executions>
127          <execution>
128            <id>report-aggregate</id>
129            <phase>prepare-package</phase>
130            <goals>
131              <goal>report-aggregate</goal>
132            </goals>
133            <configuration>
134              <title>JaCoCo</title>
135              <footer>Code Coverage Report for JaCoCo ${project.version}</footer>
136              <includes>
137                <!-- Analyze class files only to exclude shaded agent JAR from report -->
138                <include>**/*.class</include>
139              </includes>
140              <excludes>
141                <exclude>**/HelpMojo.class</exclude>
142              </excludes>
143            </configuration>
144          </execution>
145        </executions>
146      </plugin>
147
148      <plugin>
149        <groupId>org.apache.maven.plugins</groupId>
150        <artifactId>maven-antrun-plugin</artifactId>
151        <executions>
152          <execution>
153            <id>prepare-reports</id>
154            <phase>prepare-package</phase>
155            <goals>
156              <goal>run</goal>
157            </goals>
158            <configuration>
159              <target>
160                <echo message="JUnit report"/>
161                <mkdir dir="${project.build.directory}/junit"/>
162                <junitreport todir="${project.build.directory}/junit">
163                  <fileset dir="../org.jacoco.agent.test/target" includes="surefire-reports/**/*.xml"/>
164                  <fileset dir="../org.jacoco.agent.rt.test/target" includes="surefire-reports/**/*.xml"/>
165                  <fileset dir="../org.jacoco.ant.test/target" includes="surefire-reports/**/*.xml"/>
166                  <fileset dir="../org.jacoco.cli.test/target" includes="surefire-reports/**/*.xml"/>
167                  <fileset dir="../org.jacoco.core.test/target" includes="surefire-reports/**/*.xml"/>
168                  <fileset dir="../org.jacoco.report.test/target" includes="surefire-reports/**/*.xml"/>
169                  <fileset dir="../org.jacoco.examples.test/target" includes="surefire-reports/**/*.xml"/>
170                  <report format="noframes" styledir="xsl" todir="${project.build.directory}/junit">
171                    <param name="qualified.bundle.version" expression="${qualified.bundle.version}"/>
172                    <param name="jacoco.home.url" expression="${jacoco.home.url}"/>
173                    <param name="copyright.years" expression="${copyright.years}"/>
174                  </report>
175                </junitreport>
176                <move file="${project.build.directory}/junit/junit-noframes.html" tofile="${project.build.directory}/junit/index.html"/>
177              </target>
178            </configuration>
179          </execution>
180        </executions>
181        <dependencies>
182          <dependency>
183            <groupId>org.apache.ant</groupId>
184            <artifactId>ant-junit</artifactId>
185            <version>${ant.version}</version>
186          </dependency>
187        </dependencies>
188      </plugin>
189
190      <plugin>
191        <groupId>org.apache.maven.plugins</groupId>
192        <artifactId>maven-javadoc-plugin</artifactId>
193        <executions>
194          <execution>
195            <id>attach-javadocs</id>
196            <phase>prepare-package</phase>
197            <goals>
198              <goal>jar</goal>
199            </goals>
200            <configuration>
201              <reportOutputDirectory>${project.build.directory}/apidocs</reportOutputDirectory>
202              <includeDependencySources>true</includeDependencySources>
203              <excludePackageNames>*.internal,org.jacoco.ant,org.jacoco.maven,org.jacoco.examples</excludePackageNames>
204              <dependencySourceIncludes>
205                <dependencySourceInclude>org.jacoco:*</dependencySourceInclude>
206              </dependencySourceIncludes>
207              <dependencySourceExcludes>
208                <dependencySourceExclude>org.jacoco:*.test</dependencySourceExclude>
209              </dependencySourceExcludes>
210              <doctitle>JaCoCo ${qualified.bundle.version} API</doctitle>
211              <windowtitle>JaCoCo ${qualified.bundle.version} API</windowtitle>
212              <use>true</use>
213              <version>false</version>
214              <groups>
215                <!-- Note: using org.jacoco.core.* for packages would omit the org.jacoco.core package but using org.jacoco* will include it. -->
216                <group>
217                  <title>Bundle org.jacoco.core</title>
218                  <packages>org.jacoco.core*</packages>
219                </group>
220                <group>
221                  <title>Bundle org.jacoco.report</title>
222                  <packages>org.jacoco.report*</packages>
223                </group>
224                <group>
225                  <title>Bundle org.jacoco.agent</title>
226                  <packages>org.jacoco.agent*</packages>
227                </group>
228                <group>
229                  <title>JaCoCo Runtime</title>
230                  <packages>org.jacoco.agent.rt:com.vladium.emma.rt</packages>
231                </group>
232              </groups>
233              <overview>javadoc/overview.html</overview>
234              <stylesheetfile>javadoc/stylesheet.css</stylesheetfile>
235            </configuration>
236          </execution>
237        </executions>
238      </plugin>
239
240      <plugin>
241        <groupId>org.codehaus.mojo</groupId>
242        <artifactId>xml-maven-plugin</artifactId>
243        <executions>
244          <execution>
245            <id>transform-generated-doc</id>
246            <goals>
247              <goal>transform</goal>
248            </goals>
249            <configuration>
250              <transformationSets>
251                <transformationSet>
252                  <dir>../jacoco-maven-plugin/target/generated-site/xdoc</dir>
253                  <includes>
254                    <include>*.xml</include>
255                  </includes>
256                  <stylesheet>xsl/maven-goal.xsl</stylesheet>
257                  <fileMappers>
258                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
259                      <targetExtension>.html</targetExtension>
260                    </fileMapper>
261                  </fileMappers>
262                  <parameters>
263                    <parameter>
264                      <name>qualified.bundle.version</name>
265                      <value>${qualified.bundle.version}</value>
266                    </parameter>
267                    <parameter>
268                      <name>jacoco.home.url</name>
269                      <value>${jacoco.home.url}</value>
270                    </parameter>
271                    <parameter>
272                      <name>copyright.years</name>
273                      <value>${copyright.years}</value>
274                    </parameter>
275                  </parameters>
276                </transformationSet>
277                <transformationSet>
278                  <dir>../org.jacoco.cli/target/generated-documentation</dir>
279                  <includes>
280                    <include>*.xml</include>
281                  </includes>
282                  <stylesheet>xsl/cli.xsl</stylesheet>
283                  <fileMappers>
284                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
285                      <targetExtension>.html</targetExtension>
286                    </fileMapper>
287                  </fileMappers>
288                  <parameters>
289                    <parameter>
290                      <name>qualified.bundle.version</name>
291                      <value>${qualified.bundle.version}</value>
292                    </parameter>
293                    <parameter>
294                      <name>jacoco.home.url</name>
295                      <value>${jacoco.home.url}</value>
296                    </parameter>
297                    <parameter>
298                      <name>copyright.years</name>
299                      <value>${copyright.years}</value>
300                    </parameter>
301                  </parameters>
302                </transformationSet>
303              </transformationSets>
304            </configuration>
305          </execution>
306          <execution>
307            <id>default-validate</id>
308            <goals>
309              <goal>validate</goal>
310            </goals>
311            <configuration>
312              <validationSets>
313                <validationSet>
314                  <dir>.</dir>
315                  <includes>
316                    <include>docroot/**/*.html</include>
317                    <include>target/generated-resources/xml/xslt/*.html</include>
318                  </includes>
319                </validationSet>
320              </validationSets>
321            </configuration>
322          </execution>
323        </executions>
324      </plugin>
325    </plugins>
326  </build>
327</project>
328