ebbacd569ce84d22ddb7eaf1de432f2313e6a0c9
[dmaap/messagerouter/msgrtr.git] / pom.xml
1 <!--
2      ============LICENSE_START=======================================================
3      org.onap.dmaap
4      ================================================================================
5      Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6      ================================================================================
7      Licensed under the Apache License, Version 2.0 (the "License");
8      you may not use this file except in compliance with the License.
9      You may obtain a copy of the License at
10            http://www.apache.org/licenses/LICENSE-2.0
11      
12      Unless required by applicable law or agreed to in writing, software
13      distributed under the License is distributed on an "AS IS" BASIS,
14      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15      See the License for the specific language governing permissions and
16      limitations under the License.
17      ============LICENSE_END=========================================================
18    
19      ECOMP is a trademark and service mark of AT&T Intellectual Property.
20      
21  -->
22 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24         <modelVersion>4.0.0</modelVersion>
25         <groupId>org.onap.dmaap.messagerouter.msgrtr</groupId>
26         <artifactId>msgrtr</artifactId>
27         <version>1.1.1-SNAPSHOT</version>
28         <packaging>jar</packaging>
29         <name>dmaap-messagerouter-msgrtr</name>
30         <description>Message Router - Restful interface built for kafka</description>
31         
32         <parent>
33                 <groupId>org.onap.oparent</groupId>
34                 <artifactId>oparent</artifactId>
35                 <version>0.1.1</version>
36         </parent>
37         
38         <properties>
39                 <spring.version>3.2.15.RELEASE</spring.version>
40                 <cxf.version>3.0.4</cxf.version>
41                 <jstl.version>1.2</jstl.version>
42                 <maven.compiler.target>1.7</maven.compiler.target>
43                 <maven.compiler.source>1.7</maven.compiler.source>
44                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
45                 
46                 <!--  SONAR  -->
47                  <jacoco.version>0.7.7.201606060606</jacoco.version>
48             <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
49             <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
50             <!-- Default Sonar configuration -->
51             <sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
52             <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
53             <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
54             <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
55             <sitePath>/content/sites/site/org/onap/dmaap/messagerouter/msgrtr/${project.artifactId}/${project.version}</sitePath>
56                 <nexusproxy>https://nexus.onap.org</nexusproxy>
57         </properties>
58
59         <!-- Distribution management -->
60         <!-- Currently all artifacts will be uploaded to att-public-group reposiotry 
61                 on Maven Central -->
62         <distributionManagement>
63                 <site>
64                         <id>ecomp-site</id>
65                         <url>dav:${nexusproxy}${sitePath}</url>
66                 </site>
67         </distributionManagement>
68
69         <!-- End Distribution management -->
70
71          <licenses>
72           <license>
73             <name>Apache License Version 2.0</name>
74           </license>
75         </licenses>
76
77         <developers>
78            <developer>
79              <name>Rajashree</name>
80              <email></email>
81              <organization>ATT</organization>
82              <organizationUrl>www.att.com</organizationUrl>
83            </developer>
84            <developer>
85              <name>Ramkumar</name>
86              <email></email>
87              <organization>ATT</organization>
88              <organizationUrl>www.att.com</organizationUrl>
89            </developer>
90          </developers>
91
92         <dependencies>
93         <dependency>
94                 <groupId>commons-collections</groupId>
95                 <artifactId>commons-collections</artifactId>
96                 <version>3.2.2</version>
97         </dependency>
98         <dependency>
99                 <groupId>ch.qos.logback</groupId>
100                 <artifactId>logback-core</artifactId>
101                 <version>1.2.0</version>
102         </dependency>
103         <dependency>
104                 <groupId>ch.qos.logback</groupId>
105                 <artifactId>logback-classic</artifactId>
106                 <version>1.2.0</version>
107         </dependency>
108         <dependency>
109                 <groupId>commons-beanutils</groupId>
110                 <artifactId>commons-beanutils</artifactId>
111                 <version>1.9.3</version>
112                 <exclusions>
113                         <!-- We have JCL-over-SLF4J instead. -->
114                         <exclusion>
115                                 <groupId>commons-logging</groupId>
116                                 <artifactId>commons-logging</artifactId>
117                         </exclusion>
118                 </exclusions>
119         </dependency>
120         <dependency>
121                 <groupId>org.codehaus.groovy</groupId>
122                 <artifactId>groovy-all</artifactId>
123                 <version>2.4.4</version>
124                 <scope>compile</scope>
125                 <exclusions>
126                         <exclusion>
127                                 <artifactId>jline</artifactId>
128                                 <groupId>jline</groupId>
129                         </exclusion>
130                 </exclusions>
131         </dependency>
132         <dependency>
133                 <groupId>commons-fileupload</groupId>
134                 <artifactId>commons-fileupload</artifactId>
135                 <version>1.3.3</version>
136         </dependency>
137     
138                 <dependency>
139                         <groupId>junit</groupId>
140                         <artifactId>junit</artifactId>
141                         <version>4.11</version>
142                         <scope>test</scope>
143                 </dependency>
144                 <dependency>
145                         <groupId>com.att.aft</groupId>
146                         <artifactId>dme2</artifactId>
147                         <version>3.1.200-oss</version>
148                         </dependency>
149
150                 <!-- slf4j logger -->
151                 <dependency>
152                         <groupId>org.slf4j</groupId>
153                         <artifactId>slf4j-api</artifactId>
154                         <version>1.7.6</version>
155                 </dependency>
156
157                 <dependency>
158                         <groupId>javax.inject</groupId>
159                         <artifactId>javax.inject</artifactId>
160                         <version>1</version>
161                 </dependency>
162
163                 <dependency>
164                         <groupId>com.att.ajsc</groupId>
165                         <artifactId>ajsc-core</artifactId>
166                         <version>1.0.0</version>
167                 </dependency>
168
169                 <dependency>
170                         <groupId>javax.ws.rs</groupId>
171                         <artifactId>javax.ws.rs-api</artifactId>
172                         <version>2.0.1</version>
173                 </dependency>
174
175                 <!-- <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-rs-client</artifactId> 
176                         <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> 
177                         <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> 
178                         </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> 
179                         <version>${cxf.version}</version> </dependency> Jetty is needed if you're 
180                         are not using the CXFServlet <dependency> <groupId>org.apache.cxf</groupId> 
181                         <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>${cxf.version}</version> 
182                         </dependency> -->
183                 <!-- Begin - Spring Dependencies for DI -->
184                 <dependency>
185                         <groupId>org.springframework</groupId>
186                         <artifactId>spring-core</artifactId>
187                         <version>${spring.version}</version>
188                 </dependency>
189                 <dependency>
190                         <groupId>org.springframework</groupId>
191                         <artifactId>spring-context</artifactId>
192                         <version>${spring.version}</version>
193                 </dependency>
194                 <dependency>
195                         <groupId>org.springframework</groupId>
196                         <artifactId>spring-webmvc</artifactId>
197                         <version>${spring.version}</version>
198                 </dependency>
199                 <dependency>
200                         <groupId>org.springframework</groupId>
201                         <artifactId>spring-web</artifactId>
202                         <version>${spring.version}</version>
203                 </dependency>
204                 <dependency>
205                         <groupId>javax.servlet</groupId>
206                         <artifactId>javax.servlet-api</artifactId>
207                         <version>3.0.1</version>
208                         <scope>provided</scope>
209                 </dependency>
210                 <!-- End - Spring Dependencies for DI -->
211                 <!-- Begin - Dependency on Dmaap Spring layer -->
212                 <!-- <dependency> <groupId>com.att.dmaap</groupId> <artifactId>dmaap-spring</artifactId> 
213                         <version>0.0.1-SNAPSHOT</version> </dependency> -->
214                 <!-- End - Dependency on Dmaap Spring layer -->
215                 <!-- Begin - Dependency on log4j for logging purpose -->
216                 <!-- <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> 
217                         <version>1.2.17</version> </dependency> -->
218                 <!-- Log4j's enhanced pattern layout is shipped separately <dependency> 
219                         <groupId>log4j</groupId> <artifactId>apache-log4j-extras</artifactId> <version>1.2.17</version> 
220                         </dependency> -->
221                 <!-- End - Dependency on log4j for logging purpose -->
222                 <!-- ZooKeeper Library -->
223                 <dependency>
224                         <groupId>org.apache.zookeeper</groupId>
225                         <artifactId>zookeeper</artifactId>
226                         <version>3.4.6</version>
227                 </dependency>
228
229                 <!-- JSON libraries -->
230                 <dependency>
231                         <groupId>org.json</groupId>
232                         <artifactId>json</artifactId>
233                         <version>20131018</version>
234                 </dependency>
235
236                 <!-- Apache Kafka -->
237                 <dependency>
238                         <groupId>org.apache.kafka</groupId>
239                         <artifactId>kafka_2.10</artifactId>
240                         <version>0.8.2.1</version>
241                 </dependency>
242
243                 <dependency>
244                         <groupId>com.att.eelf</groupId>
245                         <artifactId>eelf-core</artifactId>
246                         <version>0.0.1</version>
247                         <scope>compile</scope>
248                 </dependency>
249                 <!-- our NSA server library -->
250                 <dependency>
251                         <groupId>com.att.nsa</groupId>
252                         <artifactId>nsaServerLibrary</artifactId>
253                         <version>1.0.10</version>
254                 </dependency>
255                 <dependency>
256                         <groupId>com.att.nsa</groupId>
257                         <artifactId>saToolkit</artifactId>
258                         <version>0.0.1</version>
259                 </dependency>
260
261                 <!-- our Highland Park library -->
262                  <!-- <dependency>
263                         <groupId>com.att.nsa</groupId>
264                         <artifactId>highlandParkCore</artifactId>
265                         <version>0.4.9</version>
266                 </dependency>  -->
267
268                 <!-- our base client library, for its command line tools -->
269                 <dependency>
270                         <groupId>com.att.nsa</groupId>
271                         <artifactId>saClientLibrary</artifactId>
272                         <version>0.0.1</version>
273                         <exclusions>
274                                 <exclusion>
275                                         <groupId>org.apache.httpcomponents</groupId>
276                                         <artifactId>httpclient</artifactId>
277                                 </exclusion>
278                                 <exclusion>
279                                         <groupId>org.apache.httpcomponents</groupId>
280                                         <artifactId>httpclient-cache</artifactId>
281                                 </exclusion>
282                         </exclusions>
283                 </dependency>
284                 <dependency>
285         <groupId>org.apache.httpcomponents</groupId>
286         <artifactId>httpclient</artifactId>
287         <version>4.5.3</version>
288 </dependency>
289         <dependency>
290                 <groupId>org.apache.httpcomponents</groupId>
291                 <artifactId>httpclient-cache</artifactId>
292                 <version>4.5.3</version>
293         </dependency>
294         <dependency>
295                 <groupId>org.apache.httpcomponents</groupId>
296                 <artifactId>httpcore</artifactId>
297                 <version>4.4.1</version>
298         </dependency>
299                 
300                 
301                 <!-- explicit jline add b/c it conflicts with the zk client -->
302                 <dependency>
303                         <groupId>jline</groupId>
304                         <artifactId>jline</artifactId>
305                         <version>2.12.1</version>
306                 </dependency>
307
308                 <dependency>
309                         <groupId>org.apache.curator</groupId>
310                         <artifactId>curator-recipes</artifactId>
311                         <version>2.6.0</version>
312                 </dependency>
313
314                 <dependency>
315                         <groupId>org.apache.curator</groupId>
316                         <artifactId>curator-test</artifactId>
317                         <version>2.6.0</version>
318                 </dependency>
319
320
321         <dependency>
322             <groupId>com.google.code.gson</groupId>
323             <artifactId>gson</artifactId>
324             <version>2.8.0</version>
325         </dependency>
326
327                 <dependency>
328                         <groupId>com.fasterxml.jackson.core</groupId>
329                         <artifactId>jackson-core</artifactId>
330                         <version>2.8.5</version>
331                         <scope>test</scope>
332                 </dependency>
333                 
334                 <dependency>
335                         <groupId>com.fasterxml.jackson.core</groupId>
336                         <artifactId>jackson-databind</artifactId>
337                         <version>2.8.11</version>
338                 </dependency>
339
340                 <dependency>
341                         <groupId>org.powermock</groupId>
342                         <artifactId>powermock-api-mockito</artifactId>
343                         <version>1.6.4</version>
344                         <scope>test</scope>
345                 </dependency>
346
347                 <dependency>
348                         <groupId>org.powermock</groupId>
349                         <artifactId>powermock-module-junit4</artifactId>
350                         <version>1.6.4</version>
351                         <scope>test</scope>
352                 </dependency>
353                 
354                 <dependency>
355                     <groupId>org.powermock</groupId>
356                     <artifactId>powermock-module-junit4-rule</artifactId>
357                     <version>1.6.4</version>
358                     <scope>test</scope>
359                 </dependency>
360                 <dependency>
361                         <groupId>org.mockito</groupId>
362                         <artifactId>mockito-core</artifactId>
363                         <version>1.10.19</version>
364                         <scope>test</scope>
365                 </dependency>
366         
367         </dependencies>
368         <build>
369                 <finalName>DMaaP</finalName>
370                 <resources>
371                         <resource>
372                                 <directory>src/main/resources</directory>
373                                 <filtering>true</filtering>
374                                 <includes>
375                                         <include>**/*.properties</include>
376                                 </includes>
377                         </resource>
378                         <!-- <resource> <directory>src/main/config</directory> <filtering>true</filtering> 
379                                 <includes> <include>**/log4j*.xml</include> </includes> </resource> <resource> 
380                                 <directory>src/main/resources</directory> <filtering>false</filtering> <excludes> 
381                                 <exclude>**/cambriaApiVersion.properties</exclude> </excludes> </resource> -->
382                 </resources>
383                 <plugins>
384                         <!-- <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4.1</version> 
385                                 <configuration> <descriptors> <descriptor>src/assembly/dep.xml</descriptor> 
386                                 </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> 
387                                 this is used for inheritance merges -->
388                         <!-- <phase>package</phase> bind to the packaging phase <goals> <goal>single</goal> 
389                                 </goals> </execution> </executions> </plugin> -->
390                         <!-- -->
391                         <plugin>
392                                 <groupId>org.apache.maven.plugins</groupId>
393                                 <artifactId>maven-site-plugin</artifactId>
394                                 <version>3.6</version>
395                                 <dependencies>
396                                         <dependency>
397                                                 <groupId>org.apache.maven.wagon</groupId>
398                                                 <artifactId>wagon-webdav-jackrabbit</artifactId>
399                                                 <version>2.10</version>
400                                         </dependency>
401                                 </dependencies>
402                         </plugin>
403                         <plugin>
404                                 <groupId>org.apache.maven.plugins</groupId>
405                                 <artifactId>maven-javadoc-plugin</artifactId>
406                                 <version>2.10.4</version>
407                                 <configuration>
408                                         <additionalparam>-Xdoclint:none</additionalparam>
409                                 </configuration>
410                                 <executions>
411                                         <execution>
412                                                 <id>attach-javadocs</id>
413                                                 <goals>
414                                                         <goal>jar</goal>
415                                                 </goals>
416                                         </execution>
417                                 </executions>
418                         </plugin>
419                         <plugin>
420                                 <groupId>org.apache.maven.plugins</groupId>
421                                 <artifactId>maven-source-plugin</artifactId>
422                                 <version>3.0.0</version>
423                                 <executions>
424                                         <execution>
425                                                 <id>attach-sources</id>
426                                                 <goals>
427                                                         <goal>jar-no-fork</goal>
428                                                 </goals>
429                                         </execution>
430                                 </executions>
431                         </plugin>                       
432                         <plugin>
433                                 <groupId>org.apache.maven.plugins</groupId>
434                                 <artifactId>maven-surefire-plugin</artifactId>
435                                 <version>2.12.4</version>
436                                 <configuration>
437                                         <excludes>
438                                                 <!-- exclude until junits updated  
439                                                 <exclude>**/DME2*.java</exclude> -->
440                                         </excludes>
441                                         <!-- <skipTests>true</skipTests> -->
442                                 </configuration>
443                         </plugin>
444                                 <plugin>
445                                         <groupId>org.codehaus.mojo</groupId>
446                                         <artifactId>cobertura-maven-plugin</artifactId>
447                                         <version>2.7</version>
448                                         <configuration>
449                                             <formats>
450                                             <format>html</format>
451                                             <format>xml</format>
452                                           </formats>
453                                         </configuration>
454                            </plugin>    
455                 <!-- <plugin>
456           <groupId>org.jacoco</groupId>
457           <artifactId>jacoco-maven-plugin</artifactId>
458           <version>${jacoco.version}</version>
459           <configuration>
460             Note: This exclusion list should match <sonar.exclusions>
461          property above
462             <excludes>
463               <exclude>**/gen/**</exclude>
464               <exclude>**/generated-sources/**</exclude>
465               <exclude>**/yang-gen/**</exclude>
466               <exclude>**/pax/**</exclude>
467             </excludes>
468           </configuration>
469           <executions>
470             
471         Prepares the property pointing to the JaCoCo runtime agent which
472         is passed as VM argument when Maven the Surefire plugin is executed.
473        
474             <execution>
475               <id>pre-unit-test</id>
476               <goals>
477                 <goal>prepare-agent</goal>
478               </goals>
479               <configuration>
480                 Sets the path to the file which contains the execution data.
481                 <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
482                 
483             Sets the name of the property containing the settings
484             for JaCoCo runtime agent.
485        
486                 <propertyName>surefireArgLine</propertyName>
487               </configuration>
488             </execution>
489             
490         Ensures that the code coverage report for unit tests is created after
491         unit tests have been run.
492        
493             <execution>
494               <id>post-unit-test</id>
495               <phase>test</phase>
496               <goals>
497                 <goal>report</goal>
498               </goals>
499               <configuration>
500                 Sets the path to the file which contains the execution data.
501                 <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
502                 Sets the output directory for the code coverage report.
503                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
504               </configuration>
505             </execution>
506             <execution>
507               <id>pre-integration-test</id>
508               <phase>pre-integration-test</phase>
509               <goals>
510                 <goal>prepare-agent</goal>
511               </goals>
512               <configuration>
513                 Sets the path to the file which contains the execution data.
514                 <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
515                 
516             Sets the name of the property containing the settings
517             for JaCoCo runtime agent.
518        
519                 <propertyName>failsafeArgLine</propertyName>
520               </configuration>
521             </execution>
522             
523         Ensures that the code coverage report for integration tests after
524         integration tests have been run.
525        
526             <execution>
527               <id>post-integration-test</id>
528               <phase>post-integration-test</phase>
529               <goals>
530                 <goal>report</goal>
531               </goals>
532               <configuration>
533                 Sets the path to the file which contains the execution data.
534                 <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
535                 Sets the output directory for the code coverage report.
536                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
537               </configuration>
538             </execution>
539           </executions>
540         </plugin>               
541                  --></plugins>
542         </build>
543
544         <!-- <profiles> <profile> <id>jenkins</id> <activation> <property> <name>env.BUILD_NUMBER</name> 
545                 </property> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> 
546                 <artifactId>cobertura-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.att.aft.swm</groupId> 
547                 <artifactId>swm-plugin</artifactId> <version>1.4.4.12</version> <configuration> 
548                 <distFilesRootDirPath>/opt/app/dmaap/msgrtr/jenkinsbuild</distFilesRootDirPath> 
549                 <version>${project.version}-${env.BUILD_NUMBER}</version> <scriptExcludes> 
550                 <scriptExclude>**/swmpkgclean.sh</scriptExclude> </scriptExcludes> </configuration> 
551                 <executions> <execution> <id>pkgstage</id> <goals> <goal>pkgstage</goal> 
552                 </goals> </execution> <execution> <id>pkgcreate</id> <goals> <goal>pkgcreate</goal> 
553                 </goals> </execution> <execution> <id>pkginstall</id> <goals> <goal>install</goal> 
554                 </goals> <configuration> <componentName>com.att.nsa:msgrtr</componentName> 
555                 <version>${project.version}-${env.BUILD_NUMBER}</version> <waitTimeMins>4</waitTimeMins> 
556                 <properties> <property> <name>overrideDependencyConflicts</name> <value>true</value> 
557                 </property> <property> <name>AFTSWM_NOTIFY_ADDRESSES</name> <value>mailto:rs857c@att.com</value> 
558                 </property> </properties> </configuration> </execution> </executions> </plugin> 
559                 <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> 
560                 <phase>package</phase> <configuration> <tasks> <copy file="./src/main/scripts/swmpkgclean.sh" 
561                 toDir="./target" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> 
562                 </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> 
563                 <artifactId>maven-deploy-plugin</artifactId> <version>2.5</version> <configuration> 
564                 <skip>true</skip> </configuration> </plugin> </plugins> </build> </profile> 
565                 </profiles> -->
566 </project>