e7346072bf882c1dfdc115f09826632ec9aa2e6c
[aai/champ.git] / champ-lib / pom.xml
1 <!--
2 ============LICENSE_START=======================================================
3 org.onap.aai
4 ================================================================================
5 Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 Copyright © 2017-2018 Amdocs
7 ================================================================================
8 Licensed under the Apache License, Version 2.0 (the "License");
9 you may not use this file except in compliance with the License.
10 You may obtain a copy of the License at
11
12       http://www.apache.org/licenses/LICENSE-2.0
13
14 Unless required by applicable law or agreed to in writing, software
15 distributed under the License is distributed on an "AS IS" BASIS,
16 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 See the License for the specific language governing permissions and
18 limitations under the License.
19 ============LICENSE_END=========================================================
20 -->
21 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
23     <modelVersion>4.0.0</modelVersion>
24
25     <parent>
26         <groupId>org.onap.aai</groupId>
27         <artifactId>champ</artifactId>
28         <version>1.4.0-SNAPSHOT</version>
29     </parent>
30
31     <groupId>org.onap.aai.champ</groupId>
32     <artifactId>champ-lib</artifactId>
33     <packaging>pom</packaging>
34
35     <modules>
36         <module>champ-core</module>
37         <module>champ-titan</module>
38         <module>champ-janus</module>
39     </modules>
40
41     <properties>
42         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
43         <!--<absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>-->
44
45         <!--&lt;!&ndash; For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>-->
46         <!--property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT"-->
47         <!--version, THIS will be used as your directory structure. If you do NOT want-->
48         <!--this, simply remove the "-SNAPSHOT" from your <version> declaration at the-->
49         <!--top of pom.xml &ndash;&gt;-->
50         <!--<distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>-->
51     </properties>
52
53     <dependencies>
54         <dependency>
55             <groupId>junit</groupId>
56             <artifactId>junit</artifactId>
57             <version>4.12</version>
58             <scope>test</scope>
59         </dependency>
60         <dependency>
61             <groupId>org.jacoco</groupId>
62             <artifactId>org.jacoco.agent</artifactId>
63             <version>0.7.9</version>
64             <classifier>runtime</classifier>
65             <scope>test</scope>
66         </dependency>
67     </dependencies>
68
69     <build>
70         <plugins>
71             <plugin>
72                 <groupId>org.jacoco</groupId>
73                 <artifactId>jacoco-maven-plugin</artifactId>
74                 <version>0.7.9</version>
75                 <configuration>
76                     <excludes>
77                         <!-- These three need to be included again at some point -->
78                         <exclude>**/AbstractGremlinChampGraph*</exclude>
79                         <exclude>**/DseChampGraphImpl*</exclude>
80                         <exclude>**/DseChampformer*</exclude>
81                         <!-- Permanently excluded, not worth testing -->
82                         <exclude>**/ChampAPIPerformanceTest*</exclude>
83                     </excludes>
84                 </configuration>
85                 <executions>
86                     <execution>
87                         <id>default-prepare-agent</id>
88                         <goals>
89                             <goal>prepare-agent</goal>
90                         </goals>
91                     </execution>
92                     <execution>
93                         <id>default-report</id>
94                         <phase>prepare-package</phase>
95                         <goals>
96                             <goal>report</goal>
97                         </goals>
98                     </execution>
99                     <execution>
100                         <id>default-check</id>
101                         <goals>
102                             <goal>check</goal>
103                         </goals>
104                         <configuration>
105                             <rules>
106                                 <!--  implementation is needed only for Maven 2  -->
107                                 <rule implementation="org.jacoco.maven.RuleConfiguration">
108                                     <element>BUNDLE</element>
109                                     <limits>
110                                         <!--  implementation is needed only for Maven 2  -->
111                                         <limit implementation="org.jacoco.report.check.Limit">
112                                             <counter>INSTRUCTION</counter>
113                                             <value>COVEREDRATIO</value>
114                                             <minimum>.15</minimum>
115                                         </limit>
116                                         <limit implementation="org.jacoco.report.check.Limit">
117                                             <counter>BRANCH</counter>
118                                             <value>COVEREDRATIO</value>
119                                             <minimum>.12</minimum>
120                                         </limit>
121                                         <limit implementation="org.jacoco.report.check.Limit">
122                                             <counter>COMPLEXITY</counter>
123                                             <value>COVEREDRATIO</value>
124                                             <minimum>.15</minimum>
125                                         </limit>
126                                         <limit implementation="org.jacoco.report.check.Limit">
127                                             <counter>LINE</counter>
128                                             <value>COVEREDRATIO</value>
129                                             <minimum>.10</minimum>
130                                         </limit>
131                                         <limit implementation="org.jacoco.report.check.Limit">
132                                             <counter>METHOD</counter>
133                                             <value>COVEREDRATIO</value>
134                                             <minimum>.17</minimum>
135                                         </limit>
136                                         <limit implementation="org.jacoco.report.check.Limit">
137                                             <counter>CLASS</counter>
138                                             <value>MISSEDCOUNT</value>
139                                             <maximum>5</maximum>
140                                         </limit>
141                                     </limits>
142                                 </rule>
143                             </rules>
144                         </configuration>
145                     </execution>
146                 </executions>
147             </plugin>
148             <plugin>
149                 <groupId>org.apache.maven.plugins</groupId>
150                 <artifactId>maven-compiler-plugin</artifactId>
151                 <version>3.6.1</version>
152                 <configuration>
153                     <source>1.8</source>
154                     <target>1.8</target>
155                 </configuration>
156             </plugin>
157             <plugin>
158                 <artifactId>maven-release-plugin</artifactId>
159                 <version>2.4.2</version>
160                 <dependencies>
161                     <dependency>
162                         <groupId>org.apache.maven.scm</groupId>
163                         <artifactId>maven-scm-provider-gitexe</artifactId>
164                         <version>1.8.1</version>
165                     </dependency>
166                 </dependencies>
167             </plugin>
168             <plugin>
169                 <groupId>org.apache.maven.plugins</groupId>
170                 <artifactId>maven-source-plugin</artifactId>
171                 <version>3.0.1</version>
172                 <executions>
173                     <execution>
174                         <id>attach-sources</id>
175                         <goals>
176                             <goal>jar</goal>
177                         </goals>
178                     </execution>
179                 </executions>
180             </plugin>
181             <plugin>
182                 <groupId>org.apache.maven.plugins</groupId>
183                 <artifactId>maven-javadoc-plugin</artifactId>
184                 <version>2.9.1</version>
185                 <executions>
186                     <execution>
187                         <id>attach-javadocs</id>
188                         <goals>
189                             <goal>jar</goal>
190                         </goals>
191                     </execution>
192                 </executions>
193             </plugin>
194             <plugin>
195                 <groupId>org.apache.maven.plugins</groupId>
196                 <artifactId>maven-surefire-plugin</artifactId>
197                 <version>2.12.2</version>
198                 <configuration>
199                     <systemPropertyVariables>
200                         <jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
201                     </systemPropertyVariables>
202                 </configuration>
203             </plugin>
204             <plugin>
205                 <groupId>org.apache.maven.plugins</groupId>
206                 <artifactId>maven-deploy-plugin</artifactId>
207                 <configuration>
208                     <skip>true</skip>
209                 </configuration>
210             </plugin>
211             <plugin>
212                 <groupId>com.mycila</groupId>
213                 <artifactId>license-maven-plugin</artifactId>
214                 <version>3.0</version>
215                 <configuration>
216                     <header>License.txt</header>
217                     <includes>
218                         <include>**/*.java</include>
219                         <include>**/*.ksh</include>
220                         <include>**/*.sh</include>
221                         <include>**/*.ftl</include>
222                         <include>**/*.xsd</include>
223                         <include>**/*.xjb</include>
224                         <include>**/*.yml</include>
225                         <include>**/*.yaml</include>
226                         <include>**/aai*.xml</include>
227                         <include>**/*logback*.xml</include>
228                         <include>**/*aaiconfig*.properties</include>
229                         <include>**/*titan*.properties</include>
230                     </includes>
231                     <skipExistingHeaders>true</skipExistingHeaders>
232                 </configuration>
233                 <executions>
234                     <execution>
235                         <goals>
236                             <!-- Set goal to "format" to auto update license headers -->
237                             <goal>check</goal>
238                         </goals>
239                         <phase>process-sources</phase>
240                     </execution>
241                 </executions>
242             </plugin>
243         </plugins>
244     </build>
245 </project>