Improve code coverage for aaf cadi modules
[aaf/cadi.git] / core / pom.xml
1 <!--\r
2   ============LICENSE_START====================================================\r
3   * org.onap.aaf\r
4   * ===========================================================================\r
5   * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6   * ===========================================================================\r
7   * Licensed under the Apache License, Version 2.0 (the "License");\r
8   * you may not use this file except in compliance with the License.\r
9   * You may obtain a copy of the License at\r
10   * \r
11    *      http://www.apache.org/licenses/LICENSE-2.0\r
12   * \r
13    * Unless required by applicable law or agreed to in writing, software\r
14   * distributed under the License is distributed on an "AS IS" BASIS,\r
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16   * See the License for the specific language governing permissions and\r
17   * limitations under the License.\r
18   * ============LICENSE_END====================================================\r
19   *\r
20   * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21   *\r
22 -->\r
23 <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/xsd/maven-4.0.0.xsd">\r
24         <parent>\r
25                 <groupId>org.onap.aaf.cadi</groupId>\r
26                 <artifactId>parent</artifactId>\r
27                 <relativePath>..</relativePath>\r
28                 <version>1.0.0-SNAPSHOT</version>\r
29         </parent>\r
30         \r
31         <modelVersion>4.0.0</modelVersion>\r
32         <name>CADI Core Framework (Code, Access, Data, Identity)</name>\r
33         <artifactId>cadi-core</artifactId>\r
34         <packaging>jar</packaging>\r
35         <url>https://github.com/att/AAF</url>\r
36         <description>CADI</description>\r
37         <properties>\r
38                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
39                 <project.cadiVersion>1.0.0-SNAPSHOT</project.cadiVersion>\r
40                 <sonar.language>java</sonar.language>\r
41                 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>\r
42                 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>\r
43                 <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>\r
44                 <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>\r
45                 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>\r
46                 <sonar.projectVersion>${project.version}</sonar.projectVersion>\r
47         <nexusproxy>https://nexus.onap.org</nexusproxy>\r
48                 <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>\r
49                 <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>\r
50                 <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>\r
51                 <sitePath>/content/sites/site/org/onap/aaf/cadi/${project.artifactId}/${project.version}</sitePath>\r
52         </properties>\r
53         <dependencies>\r
54          <dependency>\r
55                         <groupId>org.mockito</groupId>\r
56                         <artifactId>mockito-all</artifactId>\r
57                         <version>1.9.5</version>\r
58                         <scope>test</scope>\r
59                         </dependency>\r
60                 <dependency>\r
61                         <groupId>javax.servlet</groupId>\r
62                         <artifactId>servlet-api</artifactId>\r
63                         <scope>provided</scope>\r
64                 </dependency>\r
65                 \r
66                 <dependency>\r
67                         <groupId>org.slf4j</groupId>\r
68                         <artifactId>slf4j-api</artifactId>\r
69                         <scope>provided</scope>\r
70                 </dependency>\r
71                 \r
72         </dependencies>\r
73         <build>\r
74                 <plugins>\r
75                         <plugin>\r
76                                 <!-- Must put this in to turn on Signing, but Configuration itself is \r
77                                         in Parent -->\r
78                                 <groupId>org.apache.maven.plugins</groupId>\r
79                                 <artifactId>maven-jarsigner-plugin</artifactId>\r
80                         </plugin>\r
81                         <plugin>\r
82                         <groupId>org.apache.maven.plugins</groupId>\r
83                         <artifactId>maven-jar-plugin</artifactId>\r
84                         <configuration>\r
85                                 <archive>\r
86                                         <manifest>\r
87                                                 <mainClass>com.att.cadi.CmdLine</mainClass>\r
88                                         </manifest>\r
89                                         <manifestEntries>\r
90                                                 <Sealed>true</Sealed>\r
91                                         </manifestEntries>\r
92                                 </archive>\r
93                         </configuration>\r
94                         <executions>\r
95                                 <execution>\r
96                                         <id>test-jar</id>\r
97                                         <phase>package</phase>\r
98                                         <goals>\r
99                                                 <goal>test-jar</goal>\r
100                                         </goals>\r
101                                 </execution>\r
102                         </executions>\r
103                 </plugin>\r
104                 \r
105                 <plugin>\r
106                         <groupId>org.apache.maven.plugins</groupId>\r
107                         <artifactId>maven-javadoc-plugin</artifactId>\r
108                         <version>2.10.4</version>\r
109                         <configuration>\r
110                         <failOnError>false</failOnError>\r
111                         </configuration>\r
112                         <executions>\r
113                                 <execution>\r
114                                         <id>attach-javadocs</id>\r
115                                         <goals>\r
116                                                 <goal>jar</goal>\r
117                                         </goals>\r
118                                 </execution>\r
119                         </executions>\r
120                 </plugin> \r
121            \r
122            \r
123                <plugin>\r
124                       <groupId>org.apache.maven.plugins</groupId>\r
125                       <artifactId>maven-source-plugin</artifactId>\r
126                       <version>2.2.1</version>\r
127                       <executions>\r
128                         <execution>\r
129                           <id>attach-sources</id>\r
130                           <goals>\r
131                             <goal>jar-no-fork</goal>\r
132                           </goals>\r
133                         </execution>\r
134                       </executions>\r
135                     </plugin>\r
136   <plugin>\r
137                                 <groupId>org.sonatype.plugins</groupId>\r
138                                 <artifactId>nexus-staging-maven-plugin</artifactId>\r
139                                 <version>1.6.7</version>\r
140                                 <extensions>true</extensions>\r
141                                 <configuration>\r
142                                         <nexusUrl>${nexusproxy}</nexusUrl>\r
143                                         <stagingProfileId>176c31dfe190a</stagingProfileId>\r
144                                         <serverId>ecomp-staging</serverId>\r
145                                 </configuration>\r
146                         </plugin> \r
147                         \r
148                         <plugin>\r
149           <groupId>org.jacoco</groupId>\r
150           <artifactId>jacoco-maven-plugin</artifactId>\r
151           <version>${jacoco.version}</version>\r
152           <configuration>\r
153             <!-- Note: This exclusion list should match <sonar.exclusions>\r
154          property above -->\r
155             <excludes>\r
156               <exclude>**/gen/**</exclude>\r
157               <exclude>**/generated-sources/**</exclude>\r
158               <exclude>**/yang-gen/**</exclude>\r
159               <exclude>**/pax/**</exclude>\r
160             </excludes>\r
161           </configuration>\r
162           <executions>\r
163             <!--\r
164         Prepares the property pointing to the JaCoCo runtime agent which\r
165         is passed as VM argument when Maven the Surefire plugin is executed.\r
166         -->\r
167             <execution>\r
168               <id>pre-unit-test</id>\r
169               <goals>\r
170                 <goal>prepare-agent</goal>\r
171               </goals>\r
172               <configuration>\r
173                 <!-- Sets the path to the file which contains the execution data. -->\r
174                 <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>\r
175                 <!--\r
176             Sets the name of the property containing the settings\r
177             for JaCoCo runtime agent.\r
178         -->\r
179                 <propertyName>surefireArgLine</propertyName>\r
180               </configuration>\r
181             </execution>\r
182             <!--\r
183         Ensures that the code coverage report for unit tests is created after\r
184         unit tests have been run.\r
185         -->\r
186             <execution>\r
187               <id>post-unit-test</id>\r
188               <phase>test</phase>\r
189               <goals>\r
190                 <goal>report</goal>\r
191               </goals>\r
192               <configuration>\r
193                 <!-- Sets the path to the file which contains the execution data. -->\r
194                 <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>\r
195                 <!-- Sets the output directory for the code coverage report. -->\r
196                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>\r
197               </configuration>\r
198             </execution>\r
199             <execution>\r
200               <id>pre-integration-test</id>\r
201               <phase>pre-integration-test</phase>\r
202               <goals>\r
203                 <goal>prepare-agent</goal>\r
204               </goals>\r
205               <configuration>\r
206                 <!-- Sets the path to the file which contains the execution data. -->\r
207                 <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>\r
208                 <!--\r
209             Sets the name of the property containing the settings\r
210             for JaCoCo runtime agent.\r
211         -->\r
212                 <propertyName>failsafeArgLine</propertyName>\r
213               </configuration>\r
214             </execution>\r
215             <!--\r
216         Ensures that the code coverage report for integration tests after\r
217         integration tests have been run.\r
218         -->\r
219             <execution>\r
220               <id>post-integration-test</id>\r
221               <phase>post-integration-test</phase>\r
222               <goals>\r
223                 <goal>report</goal>\r
224               </goals>\r
225               <configuration>\r
226                 <!-- Sets the path to the file which contains the execution data. -->\r
227                 <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>\r
228                 <!-- Sets the output directory for the code coverage report. -->\r
229                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>\r
230               </configuration>\r
231             </execution>\r
232           </executions>\r
233         </plugin>                    \r
234 \r
235                 </plugins>\r
236         </build>\r
237         <distributionManagement>\r
238                 <repository>\r
239                         <id>ecomp-releases</id>\r
240                         <name>AAF Release Repository</name>\r
241                         <url>${nexusproxy}${releaseNexusPath}</url>\r
242                 </repository>\r
243                 <snapshotRepository>\r
244                         <id>ecomp-snapshots</id>\r
245                         <name>AAF Snapshot Repository</name>\r
246                         <url>${nexusproxy}${snapshotNexusPath}</url>\r
247                 </snapshotRepository>\r
248                 <site>\r
249                         <id>ecomp-site</id>\r
250                         <url>dav:${nexusproxy}${sitePath}</url>\r
251                 </site>\r
252         </distributionManagement>\r
253 \r
254 </project>\r