1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3   Copyright (c) 2009, 2019 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      Marc R. Hoffmann - 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.8.4</version>
19    <relativePath>../org.jacoco.build</relativePath>
20  </parent>
21
22  <artifactId>org.jacoco.cli</artifactId>
23
24  <name>JaCoCo :: Command Line Interface</name>
25  <description>JaCoCo Command Line Interface</description>
26
27  <dependencies>
28    <dependency>
29      <groupId>${project.groupId}</groupId>
30      <artifactId>org.jacoco.core</artifactId>
31    </dependency>
32    <dependency>
33      <groupId>${project.groupId}</groupId>
34      <artifactId>org.jacoco.report</artifactId>
35    </dependency>
36    <dependency>
37      <groupId>args4j</groupId>
38      <artifactId>args4j</artifactId>
39    </dependency>
40  </dependencies>
41
42  <build>
43    <sourceDirectory>src</sourceDirectory>
44    <plugins>
45      <plugin>
46        <groupId>org.codehaus.mojo</groupId>
47        <artifactId>exec-maven-plugin</artifactId>
48        <executions>
49          <execution>
50            <phase>package</phase>
51            <goals>
52              <goal>exec</goal>
53            </goals>
54            <configuration>
55              <toolchain>jdk</toolchain>
56              <executable>java</executable>
57              <arguments>
58                <argument>-cp</argument>
59                <classpath/>
60                <argument>org.jacoco.cli.internal.XmlDocumentation</argument>
61                <argument>${project.build.directory}/generated-documentation/cli.xml</argument>
62              </arguments>
63            </configuration>
64          </execution>
65        </executions>
66      </plugin>
67      <plugin>
68        <groupId>org.apache.maven.plugins</groupId>
69        <artifactId>maven-shade-plugin</artifactId>
70        <executions>
71          <execution>
72            <phase>package</phase>
73            <goals>
74              <goal>shade</goal>
75            </goals>
76            <configuration>
77              <shadedArtifactAttached>true</shadedArtifactAttached>
78              <shadedClassifierName>nodeps</shadedClassifierName>
79              <minimizeJar>true</minimizeJar>
80              <relocations>
81                <relocation>
82                  <pattern>org.objectweb.asm</pattern>
83                  <shadedPattern>org.jacoco.cli.internal.asm</shadedPattern>
84                </relocation>
85                <relocation>
86                  <pattern>org.kohsuke.args4j</pattern>
87                  <shadedPattern>org.jacoco.cli.internal.args4j</shadedPattern>
88                </relocation>
89                <relocation>
90                  <pattern>org.jacoco.core</pattern>
91                  <shadedPattern>org.jacoco.cli.internal.core</shadedPattern>
92                </relocation>
93                <relocation>
94                  <pattern>org.jacoco.report</pattern>
95                  <shadedPattern>org.jacoco.cli.internal.report</shadedPattern>
96                </relocation>
97              </relocations>
98              <transformers>
99                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
100                  <manifestEntries>
101                    <Implementation-Title>${project.description}</Implementation-Title>
102                    <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
103                    <Implementation-Version>${project.version}</Implementation-Version>
104                    <Main-Class>org.jacoco.cli.internal.Main</Main-Class>
105                  </manifestEntries>
106                </transformer>
107              </transformers>
108              <filters>
109                <filter>
110                  <artifact>args4j:args4j</artifact>
111                  <excludes>
112                    <exclude>**/Messages_*.properties</exclude>
113                  </excludes>
114                </filter>
115                <filter>
116                  <artifact>org.ow2.asm:*</artifact>
117                  <excludes>
118                    <exclude>module-info.class</exclude>
119                  </excludes>
120                </filter>
121              </filters>
122            </configuration>
123          </execution>
124        </executions>
125      </plugin>
126    </plugins>
127  </build>
128</project>
129