11b999ad4e9d80e4b864fa8988ff48d9c11c296e
[music.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
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>jar</packaging>
30     <version>3.2.36-SNAPSHOT</version>
31     <description>
32             This is the MUSIC REST interface, packaged as a Springboot jar file.
33     </description>
34
35     <parent>
36         <groupId>org.onap.oparent</groupId>
37         <artifactId>oparent</artifactId>
38         <version>2.0.0</version>
39         <relativePath/>
40     </parent>
41
42     <dependencyManagement>
43         <dependencies>
44             <!-- <dependency>
45                 <groupId>org.springframework.boot</groupId>
46                 <artifactId>spring-boot-starter-data-jpa</artifactId>
47                 <version>2.0.3.RELEASE</version>
48             </dependency> -->
49             <dependency>
50                 <groupId>org.springframework.boot</groupId>
51                 <artifactId>spring-boot-dependencies</artifactId>
52                 <version>2.1.1.RELEASE</version>
53                 <type>pom</type>
54                 <scope>import</scope>
55             </dependency>
56         </dependencies>
57     </dependencyManagement>
58     <properties>
59         <start-class>org.onap.music.MusicApplication</start-class>
60         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
61         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
62         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
63         <java.version>1.8</java.version>
64         <jersey1.version>1.19</jersey1.version>
65         <jersey2.version>2.25.1</jersey2.version>
66         <jaxrs.version>2.0.1</jaxrs.version>
67         <cassandra.version>3.6.0</cassandra.version>
68
69         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
70         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
71         <!--nexus -->
72         <nexusproxy>https://nexus.onap.org</nexusproxy>
73         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
74         <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
75         <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
76         <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
77         <sitePath>/content/sites/site/org/onap/music/${project.version}</sitePath>
78         <!--maven -->
79         <timestamp>${maven.build.timestamp}</timestamp>
80         <maven.build.timestamp.format>yyyy.MM.dd.HH.mm</maven.build.timestamp.format>
81         <!--skip checkstyle -->
82         <maven.check.skip>false</maven.check.skip>
83         <!--docker -->
84         <docker.tag>${project.version}-${timestamp}</docker.tag>
85         <docker.latest.tag>${project.version}-latest</docker.latest.tag>
86         <maven.compiler.source>1.8</maven.compiler.source>
87         <maven.compiler.target>1.8</maven.compiler.target>
88     </properties>
89
90     <repositories>
91         <repository>
92             <id>onap-releases</id>
93             <name>ONAP - Release Repository</name>
94             <url>${nexusproxy}/${releaseNexusPath}</url>
95         </repository>
96         <repository>
97             <id>onap-staging</id>
98             <name>ONAP - Staging Repository</name>
99             <url>${nexusproxy}/${stagingNexusPath}</url>
100         </repository>
101         <repository>
102             <id>onap-snapshots</id>
103             <name>ONAP - Snapshot Repository</name>
104             <url>${nexusproxy}/${snapshotNexusPath}</url>
105         </repository>
106         <repository>
107             <id>onap-public</id>
108             <name>ONAP public Repository</name>
109             <url>${nexusproxy}/content/groups/public</url>
110         </repository>
111     </repositories>
112
113     <build>
114         <finalName>${project.artifactId}</finalName>
115         <sourceDirectory>src/main/java</sourceDirectory>
116         <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
117         <testSourceDirectory>src/test/java</testSourceDirectory>
118         <testOutputDirectory>target/test-classes</testOutputDirectory>
119         <defaultGoal>validate</defaultGoal>
120         <resources>
121             <resource>
122                 <directory>src/main/resources</directory>
123                 <filtering>true</filtering>
124                 <includes>
125                 <include>**/*.properties</include>
126                 <include>**/*.xml</include>
127                 <include>**/*.ccf</include>
128                 </includes>
129             </resource>
130         </resources>
131         <testResources>
132             <testResource>
133                 <directory>${project.basedir}/src/test/resources</directory>
134             </testResource>
135             <!-- <testResource>
136                 <directory>${project.basedir}/src/main/resources</directory>
137             </testResource> -->
138         </testResources>
139         <plugins>
140             <plugin>
141                 <groupId>org.springframework.boot</groupId>
142                 <artifactId>spring-boot-maven-plugin</artifactId>
143                 <version>2.1.1.RELEASE</version>
144                 <configuration>
145                     <mainClass>org.onap.music.MusicApplication</mainClass>
146                     <outputDirectory>./distribution/music/</outputDirectory>
147                     <addResources>true</addResources>
148                     <finalName>${project.artifactId}-SB</finalName>
149                 </configuration>
150                 <executions>
151                     <execution>
152                         <phase>install</phase>
153                         <goals>
154                             <goal>repackage</goal>
155                         </goals>
156                     </execution>
157                 </executions>
158             </plugin>
159 <!--
160             <plugin>
161                 <artifactId>maven-war-plugin</artifactId>
162                 <version>2.4</version>
163                 <configuration>
164                     <warSourceDirectory>WebContent</warSourceDirectory>
165                     <failOnMissingWebXml>false</failOnMissingWebXml>
166                 </configuration>
167             </plugin>
168 -->
169             <plugin>
170                 <groupId>org.apache.maven.plugins</groupId>
171                 <artifactId>maven-checkstyle-plugin</artifactId>
172                 <configuration>
173                     <skip>${maven.check.skip}</skip>
174                 </configuration>
175             </plugin>
176
177             <plugin>
178                 <groupId>org.apache.maven.plugins</groupId>
179                 <artifactId>maven-jar-plugin</artifactId>
180                 <version>2.4</version>
181                 <executions>
182                     <execution>
183                         <id>make-a-jar</id>
184                         <phase>compile</phase>
185                         <goals>
186                             <goal>jar</goal>
187                         </goals>
188                         <configuration>
189                             <excludes>
190                                 <!--<exclude>**/*.xml</exclude>
191                                 <exclude>**/*.properties</exclude>-->
192                                 <exclude>**/Sample*</exclude>
193                             </excludes>
194                         </configuration>
195                     </execution>
196                 </executions>
197             </plugin>
198             <plugin>
199                 <groupId>org.apache.maven.plugins</groupId>
200                 <artifactId>maven-install-plugin</artifactId>
201                 <version>2.4</version>
202                 <executions>
203                     <execution>
204                         <id>base</id>
205                         <phase>install</phase>
206                         <goals>
207                             <goal>install-file</goal>
208                         </goals>
209                         <configuration>
210                             <packaging>jar</packaging>
211                             <artifactId>${project.artifactId}</artifactId>
212                             <groupId>${project.groupId}</groupId>
213                             <version>${project.version}</version>
214                             <file>${project.build.directory}/${project.artifactId}.jar</file>
215                         </configuration>
216                     </execution>
217                     <execution>
218                         <id>spring</id>
219                         <phase>install</phase>
220                         <goals>
221                             <goal>install-file</goal>
222                         </goals>
223                         <configuration>
224                             <packaging>jar</packaging>
225                             <artifactId>${project.artifactId}-SB</artifactId>
226                             <groupId>${project.groupId}</groupId>
227                             <version>${project.version}</version>
228                             <file>${project.basedir}/distribution/music/${project.artifactId}-SB.jar</file>
229                         </configuration>
230                     </execution>
231                 </executions>
232             </plugin>
233         </plugins>
234     </build>
235
236     <dependencies>
237         <!-- Springboot -->
238         <dependency>
239             <groupId>org.springframework.boot</groupId>
240             <artifactId>spring-boot-starter</artifactId>
241         </dependency>
242         <dependency>
243             <groupId>org.springframework.data</groupId>
244             <artifactId>spring-data-cassandra</artifactId>
245         </dependency>
246         <dependency>
247             <groupId>org.springframework.boot</groupId>
248             <artifactId>spring-boot-starter-jersey</artifactId>
249         </dependency>
250         <dependency>
251             <groupId>org.springframework.boot</groupId>
252             <artifactId>spring-boot-starter-web</artifactId>
253         </dependency>
254         <dependency>
255             <groupId>org.springframework.boot</groupId>
256             <artifactId>spring-boot-starter-tomcat</artifactId>
257         </dependency>
258         <dependency>
259             <groupId>org.springframework.boot</groupId>
260             <artifactId>spring-boot-starter-test</artifactId>
261             <scope>test</scope>
262         </dependency>
263         <dependency>
264             <groupId>org.springframework</groupId>
265             <artifactId>spring-aop</artifactId>
266             <scope>compile</scope>
267         </dependency>
268         <dependency>
269             <groupId>org.springframework.boot</groupId>
270             <artifactId>spring-boot-autoconfigure</artifactId>
271         </dependency>
272         <dependency>
273             <groupId>org.aspectj</groupId>
274             <artifactId>aspectjweaver</artifactId>
275             <scope>compile</scope>
276         </dependency>
277         <!-- Springboot -->
278         <!-- Development -->
279         <dependency>
280             <groupId>javax.servlet</groupId>
281             <artifactId>servlet-api</artifactId>
282             <version>2.4</version>
283             <scope>provided</scope>
284         </dependency>
285         <dependency>
286             <groupId>javax.servlet</groupId>
287             <artifactId>javax.servlet-api</artifactId>
288             <version>3.0.1</version>
289             <scope>provided</scope>
290         </dependency>
291         <!-- /Development -->
292         <!-- Logging -->
293         <dependency>
294             <groupId>ch.qos.logback</groupId>
295             <artifactId>logback-core</artifactId>
296             <version>1.2.3</version>
297             <exclusions>
298                 <exclusion>
299                     <groupId>org.slf4j</groupId>
300                     <artifactId>slf4j-log4j12</artifactId>
301                 </exclusion>
302             </exclusions>
303         </dependency>
304         <dependency>
305             <groupId>ch.qos.logback</groupId>
306             <artifactId>logback-classic</artifactId>
307             <version>1.2.3</version>
308             <exclusions>
309                 <exclusion>
310                     <groupId>org.slf4j</groupId>
311                     <artifactId>slf4j-log4j12</artifactId>
312                 </exclusion>
313             </exclusions>
314         </dependency>
315         <dependency>
316             <groupId>com.att.eelf</groupId>
317             <artifactId>eelf-core</artifactId>
318             <version>1.0.1-oss</version>
319             <exclusions>
320                 <exclusion>
321                     <groupId>org.powermock</groupId>
322                     <artifactId>powermock-api-mockito</artifactId>
323                 </exclusion>
324                 <exclusion>
325                     <groupId>org.powermock</groupId>
326                     <artifactId>powermock-module-junit4</artifactId>
327                 </exclusion>
328             </exclusions>
329         </dependency>
330         <!-- End Logging -->
331         <!-- Cassandra -->
332         <dependency>
333             <groupId>io.dropwizard.metrics</groupId>
334             <artifactId>metrics-core</artifactId>
335             <version>4.1.0-rc3</version>
336         </dependency>
337         <dependency>
338             <groupId>com.datastax.cassandra</groupId>
339             <artifactId>cassandra-driver-core</artifactId>
340             <version>${cassandra.version}</version>
341         </dependency>
342         <!-- /Cassandra -->
343         <!-- Jersey -->
344         <dependency>
345             <groupId>com.sun.jersey</groupId>
346             <artifactId>jersey-client</artifactId>
347             <version>${jersey1.version}</version>
348         </dependency>
349         <dependency>
350             <groupId>com.sun.jersey</groupId>
351             <artifactId>jersey-server</artifactId>
352             <version>${jersey1.version}</version>
353         </dependency>
354         <dependency>
355             <groupId>com.sun.jersey</groupId>
356             <artifactId>jersey-json</artifactId>
357             <version>${jersey1.version}</version>
358         </dependency>
359         <dependency>
360             <groupId>com.sun.jersey</groupId>
361             <artifactId>jersey-servlet</artifactId>
362             <version>${jersey1.version}</version>
363         </dependency>
364         <!-- /Jersey -->
365
366         <dependency>
367             <groupId>org.apache.commons</groupId>
368             <artifactId>commons-jcs-core</artifactId>
369             <version>2.2</version>
370         </dependency>
371         <dependency>
372             <groupId>commons-codec</groupId>
373             <artifactId>commons-codec</artifactId>
374             <version>1.11</version>
375         </dependency>
376         <dependency>
377             <groupId>org.apache.commons</groupId>
378             <artifactId>commons-lang3</artifactId>
379             <version>3.8</version>
380         </dependency>
381
382         <!-- Testing -->
383         <dependency>
384             <groupId>junit</groupId>
385             <artifactId>junit</artifactId>
386             <version>4.12</version>
387             <scope>test</scope>
388         </dependency>
389         <dependency>
390             <groupId>org.cassandraunit</groupId>
391             <artifactId>cassandra-unit-spring</artifactId>
392             <version>3.5.0.1</version>
393             <scope>test</scope>
394             <exclusions>
395                 <exclusion>
396                     <groupId>org.slf4j</groupId>
397                     <artifactId>slf4j-log4j12</artifactId>
398                 </exclusion>
399                 <exclusion>
400                     <groupId>ch.qos.logback</groupId>
401                     <artifactId>logback-core</artifactId>
402                 </exclusion>
403                 <exclusion>
404                     <groupId>ch.qos.logback</groupId>
405                     <artifactId>logback-classic</artifactId>
406                 </exclusion>
407                 <exclusion>
408                     <groupId>org.cassandraunit</groupId>
409                     <artifactId>cassandra-unit</artifactId>
410                 </exclusion>
411                 <exclusion>
412                     <groupId>io.dropwizard.metrics</groupId>
413                     <artifactId>metrics-core</artifactId>
414                 </exclusion>
415                 <exclusion>
416                     <groupId>com.addthis.metrics</groupId>
417                     <artifactId>reporter-config-base</artifactId>
418                 </exclusion>
419             </exclusions>
420         </dependency>
421         <dependency>
422             <groupId>org.cassandraunit</groupId>
423             <artifactId>cassandra-unit-shaded</artifactId>
424             <version>3.5.0.1</version>
425             <scope>test</scope>
426         </dependency>
427         <dependency>
428             <groupId>org.mockito</groupId>
429             <artifactId>mockito-core</artifactId>
430             <version>2.23.4</version>
431             <scope>test</scope>
432         </dependency>
433         <!--  /Testing -->
434
435         <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.datatype/jackson-datatype-jsr310 -->
436         <dependency>
437             <groupId>com.fasterxml.jackson.datatype</groupId>
438             <artifactId>jackson-datatype-jsr310</artifactId>
439             <version>2.9.9</version>
440         </dependency>
441         <dependency>
442             <groupId>com.fasterxml.jackson.core</groupId>
443             <artifactId>jackson-databind</artifactId>
444             <version>2.9.9.2</version>
445         </dependency>
446         <dependency>
447             <groupId>com.fasterxml.jackson.core</groupId>
448             <artifactId>jackson-core</artifactId>
449             <version>2.9.9</version>
450         </dependency>
451         <dependency>
452             <groupId>com.fasterxml.jackson.core</groupId>
453             <artifactId>jackson-annotations</artifactId>
454             <version>2.9.9</version>
455         </dependency>
456         <dependency>
457             <groupId>org.apache.httpcomponents</groupId>
458             <artifactId>httpclient</artifactId>
459         </dependency>
460         <dependency>
461             <groupId>io.swagger</groupId>
462             <artifactId>swagger-jersey-jaxrs</artifactId>
463             <version>1.5.22</version>
464         </dependency>
465         <dependency>
466             <groupId>com.google.guava</groupId>
467             <artifactId>guava</artifactId>
468         </dependency>
469         <dependency>
470             <groupId>de.svenkubiak</groupId>
471             <artifactId>jBCrypt</artifactId>
472             <version>0.4.1</version>
473         </dependency>
474         <dependency>
475             <groupId>io.netty</groupId>
476             <artifactId>netty-handler</artifactId>
477             <version>4.1.33.Final</version>
478         </dependency>
479         <dependency>
480             <groupId>io.netty</groupId>
481             <artifactId>netty-buffer</artifactId>
482             <version>4.1.33.Final</version>
483         </dependency>
484         <dependency>
485             <groupId>io.netty</groupId>
486             <artifactId>netty-codec</artifactId>
487             <version>4.1.33.Final</version>
488         </dependency>
489         <dependency>
490             <groupId>io.netty</groupId>
491             <artifactId>netty-common</artifactId>
492             <version>4.1.33.Final</version>
493         </dependency>
494         <dependency>
495             <groupId>io.netty</groupId>
496             <artifactId>netty-resolver</artifactId>
497             <version>4.1.33.Final</version>
498         </dependency>
499         <dependency>
500             <groupId>io.netty</groupId>
501             <artifactId>netty-transport</artifactId>
502             <version>4.1.33.Final</version>
503         </dependency>
504         <dependency>
505             <groupId>org.onap.aaf.authz</groupId>
506             <artifactId>aaf-cadi-aaf</artifactId>
507             <version>2.1.7</version>
508             <exclusions>
509                 <exclusion>
510                     <groupId>log4j</groupId>
511                     <artifactId>log4j</artifactId>
512                 </exclusion>
513             </exclusions>
514         </dependency>
515         <dependency>
516             <groupId>org.onap.aaf.authz</groupId>
517             <artifactId>aaf-cadi-client</artifactId>
518             <version>2.1.7</version>
519         </dependency>
520         <dependency>
521             <groupId>org.onap.aaf.authz</groupId>
522             <artifactId>aaf-cadi-core</artifactId>
523             <version>2.1.7</version>
524         </dependency>
525         <dependency>
526             <groupId>com.google.code.gson</groupId>
527             <artifactId>gson</artifactId>
528             <version>2.8.5</version>
529         </dependency>
530     </dependencies>
531
532     <reporting>
533         <plugins>
534             <plugin>
535                 <groupId>org.apache.maven.plugins</groupId>
536                 <artifactId>maven-javadoc-plugin</artifactId>
537                 <version>2.10.3</version>
538                 <configuration>
539                     <author>true</author>
540                     <breakiterator>true</breakiterator>
541                     <version>true</version>
542                     <links>
543                         <link>https://docs.oracle.com/javase/7/docs/api/</link>
544                         <link>https://tomcat.apache.org/tomcat-7.0-doc/jspapi/</link>
545                         <link>http://docs.oracle.com/javaee/7/api/</link>
546                     </links>
547                 </configuration>
548             </plugin>
549             <plugin>
550                 <groupId>org.apache.maven.plugins</groupId>
551                 <artifactId>maven-compiler-plugin</artifactId>
552                 <configuration>
553                     <source>1.8</source>
554                     <target>1.8</target>
555                 </configuration>
556             </plugin>
557         </plugins>
558     </reporting>
559
560     <profiles>
561         <profile>
562             <id>docker</id>
563             <build>
564                 <plugins>
565                     <plugin>
566                         <groupId>io.fabric8</groupId>
567                         <artifactId>docker-maven-plugin</artifactId>
568                         <version>0.19.1</version>
569                         <configuration>
570                             <verbose>true</verbose>
571                             <apiVersion>1.23</apiVersion>
572                             <registry>nexus3.onap.org:10003</registry>
573                             <images>
574                                 <!-- MUSIC War -->
575                                 <image>
576                                     <name>onap/music/music_sb</name>
577                                     <alias>docker_music</alias>
578                                     <build>
579                                         <cleanup>true</cleanup>
580                                         <tags>
581                                             <tag>${docker.tag}</tag>
582                                             <tag>${docker.latest.tag}</tag>
583                                         </tags>
584                                         <dockerFileDir>${project.basedir}/distribution/music</dockerFileDir>
585 <!--                                    <assembly>
586                                             <descriptorRef>artifact</descriptorRef>
587                                         </assembly>  -->
588                                     </build>
589                                 </image>
590                                 <!-- Cassandra -->
591                                 <image>
592                                     <name>onap/music/cassandra_3_11</name>
593                                     <alias>docker_cassandra_sec</alias>
594                                     <build>
595                                         <cleanup>true</cleanup>
596                                         <tags>
597                                             <tag>${docker.tag}</tag>
598                                             <tag>${docker.latest.tag}</tag>
599                                         </tags>
600                                         <dockerFileDir>${project.basedir}/distribution/cassandra</dockerFileDir>
601                                     </build>
602                                 </image>
603                                 <!-- Cassandra Job -->
604                                 <image>
605                                     <name>onap/music/cassandra_job</name>
606                                     <alias>docker_cassandra_job</alias>
607                                     <build>
608                                         <cleanup>true</cleanup>
609                                         <tags>
610                                             <tag>${docker.tag}</tag>
611                                             <tag>${docker.latest.tag}</tag>
612                                         </tags>
613                                         <dockerFileDir>${project.basedir}/distribution/cassandra_job</dockerFileDir>
614                                     </build>
615                                 </image>
616                                 <!-- tomcat 8.5 -->
617                                 <!-- <image> <name>onap/music/tomcat_music</name>
618                                     <alias>docker_tomcat</alias> <build> <cleanup>true</cleanup> <tags> <tag>8.5-${timestamp}</tag>
619                                     <tag>8.5-latest</tag> </tags> <dockerFileDir>${project.basedir}/distribution/tomcat</dockerFileDir>
620                                     </build> </image>\ -->
621                             </images>
622                         </configuration>
623                         <executions>
624                             <execution>
625                                 <id>clean-images</id>
626                                 <phase>pre-clean</phase>
627                                 <goals>
628                                     <goal>remove</goal>
629                                 </goals>
630                                 <configuration>
631                                     <removeAll>true</removeAll>
632                                     <image>music</image>
633                                 </configuration>
634                             </execution>
635                             <execution>
636                                 <id>generate-images</id>
637                                 <phase>package</phase>
638                                 <goals>
639                                     <goal>build</goal>
640                                 </goals>
641                             </execution>
642                             <execution>
643                                 <id>push-images</id>
644                                 <phase>deploy</phase>
645                                 <goals>
646                                     <goal>push</goal>
647                                 </goals>
648                                 <configuration>
649                                     <image>onap/music/music</image>
650                                 </configuration>
651                             </execution>
652                         </executions>
653                     </plugin>
654                 </plugins>
655             </build>
656         </profile>
657         <profile>
658             <id>default</id>
659         </profile>
660     </profiles>
661     <distributionManagement>
662         <repository>
663             <id>ecomp-releases</id>
664             <name>Release Repository</name>
665             <url>${nexusproxy}/${releaseNexusPath}</url>
666         </repository>
667         <snapshotRepository>
668             <id>ecomp-snapshots</id>
669             <name>Snapshot Repository</name>
670             <url>${nexusproxy}/${snapshotNexusPath}</url>
671         </snapshotRepository>
672         <!-- added for javadoc -->
673         <site>
674             <id>ecomp-site</id>
675             <url>dav:${nexusproxy}${sitePath}</url>
676         </site>
677     </distributionManagement>
678 </project>