Merge "Sonar fix: RestMusicHealthCheckAPI.java"
[music.git] / pom.xml
1 <?xml version="1.0"?>
2 <!-- 
3  ============LICENSE_START==========================================
4  org.onap.music
5  ===================================================================
6   Copyright (c) 2017 AT&T Intellectual Property
7  ===================================================================
8   Modifications Copyright (c) 2019 IBM.
9  ===================================================================
10   Licensed under the Apache License, Version 2.0 (the "License");
11   you may not use this file except in compliance with the License.
12   You may obtain a copy of the License at
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
16   Unless required by applicable law or agreed to in writing, software
17   distributed under the License is distributed on an "AS IS" BASIS,
18   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19   See the License for the specific language governing permissions and
20   limitations under the License.
21  
22  ============LICENSE_END=============================================
23  ====================================================================
24 -->
25 <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">
26     <modelVersion>4.0.0</modelVersion>
27     <groupId>org.onap.music</groupId>
28     <artifactId>MUSIC</artifactId>
29     <packaging>war</packaging>
30     <version>3.0.24</version>
31     <description>
32             This is the MUSIC REST interface, packaged as a war file.
33     </description>
34
35      <parent>
36         <groupId>org.onap.oparent</groupId>
37         <artifactId>oparent</artifactId>
38         <version>1.2.0</version>
39         <relativePath/>
40     </parent>
41
42     <properties>
43         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
44         <jersey1.version>1.19</jersey1.version>
45         <jersey2.version>2.25.1</jersey2.version>
46         <jaxrs.version>2.0.1</jaxrs.version>
47         <cassandra.version>3.6.0</cassandra.version>
48         <zookeeper.version>3.4.11</zookeeper.version>
49
50         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
51         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
52         <!--nexus -->
53         <nexusproxy>https://nexus.onap.org</nexusproxy>
54         <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
55         <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
56         <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
57         <sitePath>/content/sites/site/org/onap/music/${project.version}</sitePath>
58         <!--maven -->
59         <timestamp>${maven.build.timestamp}</timestamp>
60         <maven.build.timestamp.format>yyyy.MM.dd.HH.mm</maven.build.timestamp.format>
61         <!--docker -->
62         <docker.tag>${project.version}-${timestamp}</docker.tag>
63         <docker.latest.tag>${project.version}-latest</docker.latest.tag>
64     </properties>
65
66     <repositories>
67         <repository>
68             <id>ecomp-releases</id>
69             <name>ECOMP Release Repository</name>
70             <url>${onap.nexus.url}/${releaseNexusPath}</url>
71         </repository>
72         <repository>
73             <id>ecomp-snapshots</id>
74             <name>Snapshot Repository</name>
75             <url>${nexusproxy}/${snapshotNexusPath}</url>
76         </repository>
77         <repository>
78             <id>ecomp-staging</id>
79             <name>Staging Repository</name>
80             <url>${nexusproxy}/${stagingNexusPath}</url>
81         </repository>
82     </repositories>
83
84     <build>
85         <finalName>MUSIC</finalName>
86         <sourceDirectory>src/main/java</sourceDirectory>
87         <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
88         <testSourceDirectory>src/test/java</testSourceDirectory>
89         <testOutputDirectory>target/test-classes</testOutputDirectory>
90         <defaultGoal>validate</defaultGoal>
91         <resources>
92             <resource>
93                 <directory>src/main/resources</directory>
94                 <filtering>true</filtering>
95             </resource>
96         </resources>
97         <plugins>
98             <plugin>
99                 <artifactId>maven-eclipse-plugin</artifactId>
100                 <version>2.9</version>
101                 <configuration>
102                     <additionalProjectnatures>
103                         <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
104                     </additionalProjectnatures>
105                     <additionalBuildcommands>
106                         <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
107                     </additionalBuildcommands>
108                     <downloadSources>true</downloadSources>
109                     <downloadJavadocs>true</downloadJavadocs>
110                 </configuration>
111             </plugin>
112             <plugin>
113                 <groupId>org.apache.maven.plugins</groupId>
114                 <artifactId>maven-compiler-plugin</artifactId>
115                 <version>3.5.1</version>
116                 <configuration>
117                     <source>1.7</source>
118                     <target>1.7</target>
119                     <excludes>
120                                         <exclude>jar/**</exclude>
121                                         </excludes>
122                 </configuration>
123             </plugin>
124             <plugin>
125                 <artifactId>maven-war-plugin</artifactId>
126                 <version>2.4</version>
127                 <configuration>
128                     <warSourceDirectory>WebContent</warSourceDirectory>
129                 </configuration>
130             </plugin>
131             <plugin>
132                 <groupId>org.apache.maven.plugins</groupId>
133                 <artifactId>maven-jar-plugin</artifactId>
134                 <version>2.4</version>
135                 <executions>
136                     <execution>
137                         <id>make-a-jar</id>
138                         <phase>compile</phase>
139                         <goals>
140                             <goal>jar</goal>
141                         </goals>
142                         <configuration>
143                             <excludes>
144                                 <exclude>**/*.xml</exclude>
145                                 <exclude>**/*.properties</exclude>
146                                 <exclude>**/Sample*</exclude>
147                             </excludes>
148                         </configuration>
149                     </execution>
150                 </executions>
151             </plugin>
152             <plugin>
153                 <groupId>org.apache.maven.plugins</groupId>
154                 <artifactId>maven-install-plugin</artifactId>
155                 <version>2.4</version>
156                 <executions>
157                     <execution>
158                         <phase>install</phase>
159                         <goals>
160                             <goal>install-file</goal>
161                         </goals>
162                         <configuration>
163                             <packaging>jar</packaging>
164                             <artifactId>${project.artifactId}</artifactId>
165                             <groupId>${project.groupId}</groupId>
166                             <version>${project.version}</version>
167                             <file>${project.build.directory}/${project.artifactId}.jar</file>
168                         </configuration>
169                     </execution>
170                 </executions>
171             </plugin>
172         </plugins>
173     </build>
174
175     <dependencies>
176         <!-- Development -->
177        
178         <dependency>
179             <groupId>javax.servlet</groupId>
180             <artifactId>javax.servlet-api</artifactId>
181             <version>3.0.1</version>
182             <scope>provided</scope>
183         </dependency>
184         <!-- /Development -->
185         <!-- <dependency>
186                         <groupId>com.hazelcast</groupId>
187                         <artifactId>hazelcast-client</artifactId>
188                         <version>3.7.1</version>
189                 </dependency> -->
190                 
191         <!-- Logging -->
192         <dependency>
193             <groupId>ch.qos.logback</groupId>
194             <artifactId>logback-core</artifactId>
195             <version>1.2.3</version>
196             <exclusions>
197                 <exclusion>
198                     <groupId>org.slf4j</groupId>
199                     <artifactId>slf4j-log4j12</artifactId>
200                 </exclusion>
201             </exclusions>
202         </dependency>
203         <dependency>
204             <groupId>ch.qos.logback</groupId>
205             <artifactId>logback-classic</artifactId>
206             <version>1.2.3</version>
207             <exclusions>
208                 <exclusion>
209                     <groupId>org.slf4j</groupId>
210                     <artifactId>slf4j-log4j12</artifactId>
211                 </exclusion>
212             </exclusions>
213         </dependency>
214         <dependency>
215             <groupId>com.att.eelf</groupId>
216             <artifactId>eelf-core</artifactId>
217             <version>1.0.1-oss</version>
218         </dependency>
219         <!-- End Logging -->
220         <!-- Cassandra -->       
221         <dependency>
222             <groupId>com.datastax.cassandra</groupId>
223             <artifactId>cassandra-driver-core</artifactId>
224             <version>${cassandra.version}</version>
225         </dependency>
226         <!-- /Cassandra -->       
227         <!-- Zookeeper -->
228         <dependency>
229             <groupId>org.apache.zookeeper</groupId>
230             <artifactId>zookeeper</artifactId>
231             <version>${zookeeper.version}</version>
232             <exclusions>
233                 <exclusion>
234                     <groupId>org.slf4j</groupId>
235                     <artifactId>slf4j-log4j12</artifactId>
236                 </exclusion>
237             </exclusions>
238         </dependency>
239         <!-- /Zookeeper -->
240         <!-- Jersey -->
241         <dependency>
242             <groupId>com.sun.jersey</groupId>
243             <artifactId>jersey-client</artifactId>
244             <version>${jersey1.version}</version>
245         </dependency>
246         <dependency>
247             <groupId>com.sun.jersey</groupId>
248             <artifactId>jersey-server</artifactId>
249             <version>${jersey1.version}</version>
250         </dependency>
251         <dependency>
252             <groupId>com.sun.jersey</groupId>
253             <artifactId>jersey-json</artifactId>
254             <version>${jersey1.version}</version>
255         </dependency>
256         <dependency> 
257             <groupId>com.sun.jersey</groupId> 
258             <artifactId>jersey-servlet</artifactId> 
259             <version>${jersey1.version}</version> 
260         </dependency>
261         <!-- /Jersey -->
262
263         <dependency>
264             <groupId>org.apache.commons</groupId>
265             <artifactId>commons-jcs-core</artifactId>
266             <version>2.2</version>
267         </dependency>
268         <dependency>
269             <groupId>commons-codec</groupId>
270             <artifactId>commons-codec</artifactId>
271             <version>1.11</version>
272         </dependency>
273
274         <!-- Testing -->
275         <dependency>
276             <groupId>junit</groupId>
277             <artifactId>junit</artifactId>
278             <version>4.12</version>
279             <scope>test</scope>
280         </dependency>
281         <dependency>
282             <groupId>org.cassandraunit</groupId>
283             <artifactId>cassandra-unit</artifactId>
284             <version>3.3.0.2</version>
285             <scope>test</scope>
286         </dependency>
287         <dependency>
288             <groupId>org.apache.curator</groupId>
289             <artifactId>curator-test</artifactId>
290             <version>2.3.0</version>
291             <exclusions>
292                 <exclusion>
293                     <groupId>org.apache.zookeeper</groupId>
294                     <artifactId>zookeeper</artifactId>
295                 </exclusion>
296                 <exclusion>
297                     <groupId>org.slf4j</groupId>
298                     <artifactId>slf4j-log4j12</artifactId>
299                 </exclusion>
300             </exclusions>
301             <scope>test</scope>
302         </dependency>
303         <dependency>
304             <groupId>org.mockito</groupId>
305             <artifactId>mockito-all</artifactId>
306             <version>1.9.0</version>
307             <scope>test</scope>
308         </dependency>
309         <!--  /Testing -->
310         <dependency>
311             <groupId>io.netty</groupId>
312             <artifactId>netty-handler</artifactId>
313             <version>4.1.30.Final</version>
314         </dependency>
315         <dependency>
316             <groupId>com.fasterxml.jackson.core</groupId>
317             <artifactId>jackson-databind</artifactId>
318             <version>2.9.4</version>
319         </dependency>
320         <dependency>
321             <groupId>org.apache.httpcomponents</groupId>
322             <artifactId>httpclient</artifactId>
323             <version>4.5.3</version>
324         </dependency>
325         <dependency>
326             <groupId>io.swagger</groupId>
327             <artifactId>swagger-jersey-jaxrs</artifactId>
328             <version>1.5.18</version>
329         </dependency>
330         <dependency>
331             <groupId>com.google.guava</groupId>
332             <artifactId>guava</artifactId>
333         </dependency>
334         <dependency>
335             <groupId>org.mindrot</groupId>
336             <artifactId>jbcrypt</artifactId>
337             <version>0.4</version>
338         </dependency>
339         <!-- <dependency>
340                    <groupId>com.owlike</groupId>
341                    <artifactId>genson</artifactId>
342                    <version>1.3</version>
343         </dependency> -->
344         <!-- Added to fix MUSIC-157 License Issue -->
345         <dependency>
346             <groupId>javax.xml.bind</groupId>
347             <artifactId>jaxb-api</artifactId>
348             <version>2.2.3</version>
349         </dependency>
350
351     </dependencies>
352
353     <reporting>
354         <plugins>
355             <plugin>
356                 <groupId>org.apache.maven.plugins</groupId>
357                 <artifactId>maven-javadoc-plugin</artifactId>
358                 <version>2.10.3</version>
359                 <configuration>
360                     <author>true</author>
361                     <breakiterator>true</breakiterator>
362                     <version>true</version>
363                     <links>
364                         <link>https://docs.oracle.com/javase/7/docs/api/</link>
365                         <link>https://tomcat.apache.org/tomcat-7.0-doc/jspapi/</link>
366                         <link>http://docs.oracle.com/javaee/7/api/</link>
367                     </links>
368                 </configuration>
369             </plugin>
370         </plugins>
371     </reporting>
372
373     <profiles>
374         <profile>
375             <id>docker</id>
376             <build>
377                 <plugins>
378                     <plugin>
379                         <groupId>io.fabric8</groupId>
380                         <artifactId>docker-maven-plugin</artifactId>
381                         <version>0.19.1</version>
382                         <configuration>
383                             <verbose>true</verbose>
384                             <apiVersion>1.23</apiVersion>
385                             <registry>nexus3.onap.org:10003</registry>
386                             <images>
387                                 <!-- MUSIC War -->
388                                 <image>
389                                     <name>onap/music/music</name>
390                                     <alias>docker_music</alias>
391                                     <build>
392                                         <cleanup>true</cleanup>
393                                         <tags>
394                                             <tag>${docker.tag}</tag>
395                                             <tag>${docker.latest.tag}</tag>
396                                         </tags>
397                                         <dockerFileDir>${project.basedir}</dockerFileDir>
398                                         <assembly>
399                                             <descriptorRef>artifact</descriptorRef>
400                                         </assembly>
401                                     </build>
402                                 </image>
403                                 <!-- Cassandra -->
404                                 <image>
405                                     <name>onap/music/cassandra_3_11</name>
406                                     <alias>docker_cassandra_sec</alias>
407                                     <build>
408                                         <cleanup>true</cleanup>
409                                         <tags>
410                                             <tag>${docker.tag}</tag>
411                                             <tag>${docker.latest.tag}</tag>
412                                         </tags>
413                                         <dockerFileDir>${project.basedir}/distribution/cassandra</dockerFileDir>
414                                     </build>
415                                 </image>
416                                 <!-- Cassandra Job -->
417                                 <image>
418                                     <name>onap/music/cassandra_job</name>
419                                     <alias>docker_cassandra_job</alias>
420                                     <build>
421                                         <cleanup>true</cleanup>
422                                         <tags>
423                                             <tag>${docker.tag}</tag>
424                                             <tag>${docker.latest.tag}</tag>
425                                         </tags>
426                                         <dockerFileDir>${project.basedir}/distribution/cassandra_job</dockerFileDir>
427                                     </build>
428                                 </image>
429                                 <!-- Zookeeper -->
430                                 <!-- <image> <name>onap/music/zookeeper_music</name> 
431                                     <alias>docker_zookeeper</alias> <build> <cleanup>true</cleanup> <tags> <tag>3.4-${timestamp}</tag> 
432                                     <tag>3.4-latest</tag> </tags> <dockerFileDir>${project.basedir}/distribution/zookeeper</dockerFileDir> 
433                                     </build> </image> -->
434                                 <!-- tomcat 8.5 -->
435                                 <!-- <image> <name>onap/music/tomcat_music</name> 
436                                     <alias>docker_tomcat</alias> <build> <cleanup>true</cleanup> <tags> <tag>8.5-${timestamp}</tag> 
437                                     <tag>8.5-latest</tag> </tags> <dockerFileDir>${project.basedir}/distribution/tomcat</dockerFileDir> 
438                                     </build> </image>\ -->
439                             </images>
440                         </configuration>
441                         <executions>
442                             <execution>
443                                 <id>clean-images</id>
444                                 <phase>pre-clean</phase>
445                                 <goals>
446                                     <goal>remove</goal>
447                                 </goals>
448                                 <configuration>
449                                     <removeAll>true</removeAll>
450                                     <image>music</image>
451                                 </configuration>
452                             </execution>
453                             <execution>
454                                 <id>generate-images</id>
455                                 <phase>package</phase>
456                                 <goals>
457                                     <goal>build</goal>
458                                 </goals>
459                             </execution>
460                             <execution>
461                                 <id>push-images</id>
462                                 <phase>deploy</phase>
463                                 <goals>
464                                     <goal>push</goal>
465                                 </goals>
466                                 <configuration>
467                                     <image>onap/music/music</image>
468                                 </configuration>
469                             </execution>
470                         </executions>
471                     </plugin>
472                 </plugins>
473             </build>
474         </profile>
475     </profiles>
476     <distributionManagement>
477         <repository>
478             <id>ecomp-releases</id>
479             <name>Release Repository</name>
480             <url>${nexusproxy}/${releaseNexusPath}</url>
481         </repository>
482         <snapshotRepository>
483             <id>ecomp-snapshots</id>
484             <name>Snapshot Repository</name>
485             <url>${nexusproxy}/${snapshotNexusPath}</url>
486         </snapshotRepository>
487         <!-- added for javadoc -->
488         <site>
489             <id>ecomp-site</id>
490             <url>dav:${nexusproxy}${sitePath}</url>
491         </site>
492     </distributionManagement>
493 </project>