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