7f98c25e29e6854a3c1ac5ea9fa0e94543ce2860
[aai/champ.git] / champ-lib / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3     <modelVersion>4.0.0</modelVersion>
4
5     <groupId>org.onap.aai</groupId>
6     <artifactId>champ-lib</artifactId>
7     <packaging>pom</packaging>
8     <version>1.2.0-SNAPSHOT</version>
9
10     <modules>
11         <module>champ-core</module>
12         <module>champ-titan</module>
13         <module>champ-janus</module>
14     </modules>
15
16     <properties>
17         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18         <event.client.version>1.2.0</event.client.version>
19
20         <!--<absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>-->
21
22         <!--&lt;!&ndash; For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>-->
23         <!--property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT"-->
24         <!--version, THIS will be used as your directory structure. If you do NOT want-->
25         <!--this, simply remove the "-SNAPSHOT" from your <version> declaration at the-->
26         <!--top of pom.xml &ndash;&gt;-->
27         <!--<distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>-->
28     </properties>
29
30     <dependencyManagement>
31         <dependencies>
32         <dependency>
33             <groupId>org.onap.aai.event-client</groupId>
34             <artifactId>event-client-api</artifactId>
35             <version>${event.client.version}</version>
36         </dependency>
37         <dependency>
38             <groupId>org.onap.aai.event-client</groupId>
39             <artifactId>event-client-dmaap</artifactId>
40             <version>${event.client.version}</version>
41         </dependency>
42         <dependency>
43             <groupId>org.onap.aai.event-client</groupId>
44             <artifactId>event-client-kafka</artifactId>
45             <version>${event.client.version}</version>
46         </dependency>
47         </dependencies>
48     </dependencyManagement>
49
50     <dependencies>
51         <dependency>
52             <groupId>junit</groupId>
53             <artifactId>junit</artifactId>
54             <version>4.12</version>
55             <scope>test</scope>
56         </dependency>
57         <dependency>
58             <groupId>ch.qos.logback</groupId>
59             <artifactId>logback-classic</artifactId>
60             <version>1.2.1</version>
61             <optional>true</optional>
62         </dependency>
63         <dependency>
64             <groupId>org.apache.hbase</groupId>
65             <artifactId>hbase-client</artifactId>
66             <version>0.98.4-hadoop2</version>
67             <exclusions>
68                 <exclusion>
69                     <groupId>org.slf4j</groupId>
70                     <artifactId>slf4j-log4j12</artifactId>
71                 </exclusion>
72                 <exclusion>
73                     <groupId>com.google.guava</groupId>
74                     <artifactId>guava</artifactId>
75                 </exclusion>
76             </exclusions>
77         </dependency>
78         <dependency>
79             <groupId>jdk.tools</groupId>
80             <artifactId>jdk.tools</artifactId>
81             <version>1.8</version>
82             <scope>system</scope>
83             <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
84         </dependency>
85         <dependency>
86             <groupId>org.jacoco</groupId>
87             <artifactId>org.jacoco.agent</artifactId>
88             <version>0.7.9</version>
89             <classifier>runtime</classifier>
90             <scope>test</scope>
91         </dependency>
92     </dependencies>
93
94     <build>
95         <plugins>
96             <plugin>
97                 <groupId>org.jacoco</groupId>
98                 <artifactId>jacoco-maven-plugin</artifactId>
99                 <version>0.7.9</version>
100                 <configuration>
101                     <excludes>
102                         <!-- These three need to be included again at some point -->
103                         <exclude>**/AbstractGremlinChampGraph*</exclude>
104                         <exclude>**/DseChampGraphImpl*</exclude>
105                         <exclude>**/DseChampformer*</exclude>
106                         <!-- Permanently excluded, not worth testing -->
107                         <exclude>**/ChampAPIPerformanceTest*</exclude>
108                     </excludes>
109                 </configuration>
110                 <executions>
111                     <execution>
112                         <id>default-prepare-agent</id>
113                         <goals>
114                             <goal>prepare-agent</goal>
115                         </goals>
116                     </execution>
117                     <execution>
118                         <id>default-report</id>
119                         <phase>prepare-package</phase>
120                         <goals>
121                             <goal>report</goal>
122                         </goals>
123                     </execution>
124                     <execution>
125                         <id>default-check</id>
126                         <goals>
127                             <goal>check</goal>
128                         </goals>
129                         <configuration>
130                             <rules>
131                                 <!--  implementation is needed only for Maven 2  -->
132                                 <rule implementation="org.jacoco.maven.RuleConfiguration">
133                                     <element>BUNDLE</element>
134                                     <limits>
135                                         <!--  implementation is needed only for Maven 2  -->
136                                         <limit implementation="org.jacoco.report.check.Limit">
137                                             <counter>INSTRUCTION</counter>
138                                             <value>COVEREDRATIO</value>
139                                             <minimum>.15</minimum>
140                                         </limit>
141                                         <limit implementation="org.jacoco.report.check.Limit">
142                                             <counter>BRANCH</counter>
143                                             <value>COVEREDRATIO</value>
144                                             <minimum>.12</minimum>
145                                         </limit>
146                                         <limit implementation="org.jacoco.report.check.Limit">
147                                             <counter>COMPLEXITY</counter>
148                                             <value>COVEREDRATIO</value>
149                                             <minimum>.15</minimum>
150                                         </limit>
151                                         <limit implementation="org.jacoco.report.check.Limit">
152                                             <counter>LINE</counter>
153                                             <value>COVEREDRATIO</value>
154                                             <minimum>.10</minimum>
155                                         </limit>
156                                         <limit implementation="org.jacoco.report.check.Limit">
157                                             <counter>METHOD</counter>
158                                             <value>COVEREDRATIO</value>
159                                             <minimum>.17</minimum>
160                                         </limit>
161                                         <limit implementation="org.jacoco.report.check.Limit">
162                                             <counter>CLASS</counter>
163                                             <value>MISSEDCOUNT</value>
164                                             <maximum>5</maximum>
165                                         </limit>
166                                     </limits>
167                                 </rule>
168                             </rules>
169                         </configuration>
170                     </execution>
171                 </executions>
172             </plugin>
173             <plugin>
174                 <groupId>org.apache.maven.plugins</groupId>
175                 <artifactId>maven-assembly-plugin</artifactId>
176                 <version>3.0.0</version>
177                 <configuration>
178                     <descriptorRefs>
179                         <descriptorRef>jar-with-dependencies</descriptorRef>
180                     </descriptorRefs>
181                 </configuration>
182                 <executions>
183                     <execution>
184                         <id>make-jar-with-dependencies</id>
185                         <phase>package</phase>
186                         <goals>
187                             <goal>single</goal>
188                         </goals>
189                     </execution>
190                 </executions>
191             </plugin>
192             <plugin>
193                 <groupId>org.apache.maven.plugins</groupId>
194                 <artifactId>maven-compiler-plugin</artifactId>
195                 <version>3.6.1</version>
196                 <configuration>
197                     <source>1.8</source>
198                     <target>1.8</target>
199                 </configuration>
200             </plugin>
201             <plugin>
202                 <artifactId>maven-release-plugin</artifactId>
203                 <version>2.4.2</version>
204                 <dependencies>
205                     <dependency>
206                         <groupId>org.apache.maven.scm</groupId>
207                         <artifactId>maven-scm-provider-gitexe</artifactId>
208                         <version>1.8.1</version>
209                     </dependency>
210                 </dependencies>
211             </plugin>
212             <plugin>
213                 <groupId>org.apache.maven.plugins</groupId>
214                 <artifactId>maven-source-plugin</artifactId>
215                 <version>3.0.1</version>
216                 <executions>
217                     <execution>
218                         <id>attach-sources</id>
219                         <goals>
220                             <goal>jar</goal>
221                         </goals>
222                     </execution>
223                 </executions>
224             </plugin>
225             <plugin>
226                 <groupId>org.apache.maven.plugins</groupId>
227                 <artifactId>maven-javadoc-plugin</artifactId>
228                 <version>2.9.1</version>
229                 <executions>
230                     <execution>
231                         <id>attach-javadocs</id>
232                         <goals>
233                             <goal>jar</goal>
234                         </goals>
235                     </execution>
236                 </executions>
237             </plugin>
238             <plugin>
239                 <groupId>org.apache.maven.plugins</groupId>
240                 <artifactId>maven-surefire-plugin</artifactId>
241                 <version>2.12.2</version>
242                 <configuration>
243                     <systemPropertyVariables>
244                         <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
245                     </systemPropertyVariables>
246                 </configuration>
247             </plugin>
248             <plugin>
249                 <groupId>com.mycila</groupId>
250                 <artifactId>license-maven-plugin</artifactId>
251                 <version>3.0</version>
252                 <configuration>
253                     <header>License.txt</header>
254                     <includes>
255                         <include>**/*.java</include>
256                         <include>**/*.ksh</include>
257                         <include>**/*.sh</include>
258                         <include>**/*.ftl</include>
259                         <include>**/*.xsd</include>
260                         <include>**/*.xjb</include>
261                         <include>**/*.yml</include>
262                         <include>**/*.yaml</include>
263                         <include>**/aai*.xml</include>
264                         <include>**/*logback*.xml</include>
265                         <include>**/*aaiconfig*.properties</include>
266                         <include>**/*titan*.properties</include>
267                     </includes>
268                 </configuration>
269                 <executions>
270                     <execution>
271                         <goals>
272                             <goal>format</goal>
273                         </goals>
274                         <phase>process-sources</phase>
275                     </execution>
276                 </executions>
277             </plugin>
278         </plugins>
279     </build>
280 </project>