a08df8efffc7a74279227ed08e827a4b4f802080
[holmes/rule-management.git] / rulemgt / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ Copyright 2017 ZTE Corporation.
4   ~
5   ~ Licensed under the Apache License, Version 2.0 (the "License");
6   ~ you may not use this file except in compliance with the License.
7   ~ You may obtain a copy of the License at
8   ~
9   ~     http://www.apache.org/licenses/LICENSE-2.0
10   ~
11   ~ Unless required by applicable law or agreed to in writing, software
12   ~ distributed under the License is distributed on an "AS IS" BASIS,
13   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   ~ See the License for the specific language governing permissions and
15   ~ limitations under the License.
16   -->
17 <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">
18
19     <modelVersion>4.0.0</modelVersion>
20     <parent>
21         <groupId>org.onap.holmes.rule-management</groupId>
22         <artifactId>holmes-rulemgt-parent</artifactId>
23         <version>1.2.6-SNAPSHOT</version>
24     </parent>
25
26     <artifactId>holmes-rulemgt</artifactId>
27     <name>holmes-rulemgt-service</name>
28     <packaging>jar</packaging>
29
30     <properties>
31         <jetty.version>9.4.17.v20190418</jetty.version>
32     </properties>
33
34     <dependencies>
35         <dependency>
36             <groupId>org.hibernate</groupId>
37             <artifactId>hibernate-validator</artifactId>
38             <version>5.4.2.Final</version>
39         </dependency>
40         <dependency>
41             <groupId>org.onap.msb.java-sdk</groupId>
42             <artifactId>msb-java-sdk</artifactId>
43             <exclusions>
44                 <exclusion>
45                     <groupId>ch.qos.logback</groupId>
46                     <artifactId>logback-classic</artifactId>
47                 </exclusion>
48                 <exclusion>
49                     <groupId>com.fasterxml.jackson.core</groupId>
50                     <artifactId>jackson-databind</artifactId>
51                 </exclusion>
52                 <exclusion>
53                     <groupId>com.fasterxml.jackson.core</groupId>
54                     <artifactId>jackson-core</artifactId>
55                 </exclusion>
56                 <exclusion>
57                     <groupId>com.squareup.okhttp3</groupId>
58                     <artifactId>okhttp</artifactId>
59                 </exclusion>
60                 <exclusion>
61                     <groupId>org.eclipse.jetty</groupId>
62                     <artifactId>jetty-server</artifactId>
63                 </exclusion>
64             </exclusions>
65         </dependency>
66         <dependency>
67             <groupId>org.reflections</groupId>
68             <artifactId>reflections</artifactId>
69         </dependency>
70         <dependency>
71             <groupId>org.onap.holmes.common</groupId>
72             <artifactId>holmes-actions</artifactId>
73             <exclusions>
74                 <exclusion>
75                     <groupId>org.glassfish.jersey.containers</groupId>
76                     <artifactId>jersey-container-servlet-core</artifactId>
77                 </exclusion>
78                 <exclusion>
79                     <groupId>io.swagger</groupId>
80                     <artifactId>swagger-jersey2-jaxrs</artifactId>
81                 </exclusion>
82                 <exclusion>
83                     <groupId>org.slf4j</groupId>
84                     <artifactId>slf4j-api</artifactId>
85                 </exclusion>
86             </exclusions>
87         </dependency>
88         <dependency>
89             <groupId>org.easymock</groupId>
90             <artifactId>easymock</artifactId>
91         </dependency>
92         <dependency>
93             <groupId>io.dropwizard</groupId>
94             <artifactId>dropwizard-db</artifactId>
95         </dependency>
96         <dependency>
97             <groupId>org.antlr</groupId>
98             <artifactId>stringtemplate</artifactId>
99         </dependency>
100         <dependency>
101             <groupId>io.dropwizard</groupId>
102             <artifactId>dropwizard-core</artifactId>
103             <exclusions>
104                 <exclusion>
105                     <groupId>ch.qos.logback</groupId>
106                     <artifactId>logback</artifactId>
107                 </exclusion>
108                 <exclusion>
109                     <groupId>org.hibernate</groupId>
110                     <artifactId>hibernate-validator</artifactId>
111                 </exclusion>
112                 <exclusion>
113                     <groupId>org.slf4j</groupId>
114                     <artifactId>slf4j-api</artifactId>
115                 </exclusion>
116                 <exclusion>
117                     <groupId>org.eclipse.jetty</groupId>
118                     <artifactId>jetty-http</artifactId>
119                 </exclusion>
120                 <exclusion>
121                     <groupId>org.eclipse.jetty</groupId>
122                     <artifactId>jetty-util</artifactId>
123                 </exclusion>
124                 <exclusion>
125                     <groupId>org.eclipse.jetty</groupId>
126                     <artifactId>jetty-server</artifactId>
127                 </exclusion>
128                 <exclusion>
129                     <groupId>org.eclipse.jetty</groupId>
130                     <artifactId>jetty-servlet</artifactId>
131                 </exclusion>
132             </exclusions>
133         </dependency>
134         <dependency>
135             <groupId>org.eclipse.jetty</groupId>
136             <artifactId>jetty-server</artifactId>
137             <version>${jetty.version}</version>
138         </dependency>
139         <dependency>
140             <groupId>org.eclipse.jetty</groupId>
141             <artifactId>jetty-http</artifactId>
142             <version>${jetty.version}</version>
143         </dependency>
144         <dependency>
145             <groupId>org.eclipse.jetty</groupId>
146             <artifactId>jetty-util</artifactId>
147             <version>${jetty.version}</version>
148         </dependency>
149         <dependency>
150             <groupId>org.eclipse.jetty</groupId>
151             <artifactId>jetty-servlet</artifactId>
152             <version>${jetty.version}</version>
153         </dependency>
154         <dependency>
155             <groupId>com.squareup.okhttp3</groupId>
156             <artifactId>okhttp</artifactId>
157             <version>3.14.1</version>
158         </dependency>
159         <dependency>
160             <groupId>io.dropwizard</groupId>
161             <artifactId>dropwizard-jdbi</artifactId>
162         </dependency>
163         <dependency>
164             <groupId>org.projectlombok</groupId>
165             <artifactId>lombok</artifactId>
166         </dependency>
167         <dependency>
168             <groupId>org.postgresql</groupId>
169             <artifactId>postgresql</artifactId>
170         </dependency>
171         <dependency>
172             <groupId>junit</groupId>
173             <artifactId>junit</artifactId>
174         </dependency>
175         <dependency>
176             <groupId>org.hamcrest</groupId>
177             <artifactId>hamcrest-core</artifactId>
178         </dependency>
179         <dependency>
180             <groupId>org.powermock</groupId>
181             <artifactId>powermock-module-junit4</artifactId>
182         </dependency>
183         <dependency>
184             <groupId>org.slf4j</groupId>
185             <artifactId>slf4j-api</artifactId>
186         </dependency>
187         <dependency>
188             <groupId>io.swagger</groupId>
189             <artifactId>swagger-jersey2-jaxrs</artifactId>
190             <exclusions>
191                 <exclusion>
192                     <groupId>com.fasterxml.jackson.core</groupId>
193                     <artifactId>jackson-databind</artifactId>
194                 </exclusion>
195                 <exclusion>
196                     <groupId>com.fasterxml.jackson.core</groupId>
197                     <artifactId>jackson-core</artifactId>
198                 </exclusion>
199                 <exclusion>
200                     <groupId>com.fasterxml.jackson.dataformat</groupId>
201                     <artifactId>jackson-dataformat-xml</artifactId>
202                 </exclusion>
203             </exclusions>
204             <scope>provided</scope>
205         </dependency>
206
207         <dependency>
208             <groupId>org.powermock</groupId>
209             <artifactId>powermock-api-easymock</artifactId>
210             <version>1.6.5</version>
211             <scope>test</scope>
212         </dependency>
213         <dependency>
214             <groupId>org.powermock</groupId>
215             <artifactId>powermock-api-mockito</artifactId>
216             <version>1.7.1</version>
217             <scope>test</scope>
218         </dependency>
219         <dependency>
220             <groupId>org.powermock</groupId>
221             <artifactId>powermock-module-junit4-rule</artifactId>
222             <version>1.6.5</version>
223             <scope>test</scope>
224         </dependency>
225         <dependency>
226             <groupId>org.powermock</groupId>
227             <artifactId>powermock-classloading-xstream</artifactId>
228             <version>1.6.5</version>
229             <exclusions>
230                 <exclusion>
231                     <groupId>com.thoughtworks.xstream</groupId>
232                     <artifactId>xstream</artifactId>
233                 </exclusion>
234             </exclusions>
235             <scope>test</scope>
236         </dependency>
237         <dependency>
238             <groupId>com.thoughtworks.xstream</groupId>
239             <artifactId>xstream</artifactId>
240             <version>1.4.10</version>
241             <scope>test</scope>
242         </dependency>
243         <dependency>
244             <groupId>org.hamcrest</groupId>
245             <artifactId>hamcrest-library</artifactId>
246             <version>1.3</version>
247             <scope>test</scope>
248         </dependency>
249         <dependency>
250             <groupId>org.easymock</groupId>
251             <artifactId>easymock</artifactId>
252             <version>3.0</version>
253             <scope>test</scope>
254         </dependency>
255         <dependency>
256             <groupId>org.javassist</groupId>
257             <artifactId>javassist</artifactId>
258             <version>3.20.0-GA</version>
259         </dependency>
260         <dependency>
261             <groupId>org.apache.httpcomponents</groupId>
262             <artifactId>httpclient</artifactId>
263             <version>4.5.6</version>
264         </dependency>
265         <dependency>
266             <groupId>com.googlecode.json-simple</groupId>
267             <artifactId>json-simple</artifactId>
268             <version>1.1.1</version>
269         </dependency>
270         <dependency>
271             <groupId>net.sf.json-lib</groupId>
272             <artifactId>json-lib</artifactId>
273             <version>2.4</version>
274             <classifier>jdk15</classifier>
275             <exclusions>
276                 <exclusion>
277                     <groupId>commons-collections</groupId>
278                     <artifactId>commons-collections</artifactId>
279                 </exclusion>
280                 <exclusion>
281                     <groupId>commons-beanutils</groupId>
282                     <artifactId>commons-beanutils</artifactId>
283                 </exclusion>
284             </exclusions>
285         </dependency>
286         <dependency>
287             <groupId>commons-collections</groupId>
288             <artifactId>commons-collections</artifactId>
289             <version>3.2.2</version>
290         </dependency>
291         <dependency>
292             <groupId>com.alibaba</groupId>
293             <artifactId>fastjson</artifactId>
294             <version>1.2.49</version>
295         </dependency>
296         <dependency>
297             <groupId>org.glassfish.jersey.core</groupId>
298             <artifactId>jersey-server</artifactId>
299             <version>${jersey.version}</version>
300         </dependency>
301         <dependency>
302             <groupId>org.glassfish.jersey.core</groupId>
303             <artifactId>jersey-client</artifactId>
304             <version>${jersey.version}</version>
305         </dependency>
306         <dependency>
307             <groupId>org.glassfish.jersey.core</groupId>
308             <artifactId>jersey-common</artifactId>
309             <version>${jersey.version}</version>
310         </dependency>
311         <dependency>
312             <groupId>org.glassfish.jersey.containers</groupId>
313             <artifactId>jersey-container-servlet-core</artifactId>
314             <version>${jersey.version}</version>
315         </dependency>
316     </dependencies>
317     <build>
318         <plugins>
319             <plugin>
320                 <groupId>org.apache.maven.plugins</groupId>
321                 <artifactId>maven-jar-plugin</artifactId>
322                 <configuration>
323                     <archive>
324                         <manifest>
325                             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
326                         </manifest>
327                     </archive>
328                 </configuration>
329             </plugin>
330
331             <plugin>
332                 <groupId>org.apache.maven.plugins</groupId>
333                 <artifactId>maven-compiler-plugin</artifactId>
334                 <version>3.3</version>
335                 <configuration>
336                     <source>1.8</source>
337                     <target>1.8</target>
338                 </configuration>
339             </plugin>
340             <plugin>
341                 <groupId>org.apache.maven.plugins</groupId>
342                 <artifactId>maven-shade-plugin</artifactId>
343                 <configuration>
344                     <createDependencyReducedPom>true</createDependencyReducedPom>
345                     <filters>
346                         <filter>
347                             <artifact>*:*</artifact>
348                             <excludes>
349                                 <exclude>META-INF/*.SF</exclude>
350                                 <exclude>META-INF/*.DSA</exclude>
351                                 <exclude>META-INF/*.RSA</exclude>
352                             </excludes>
353                         </filter>
354                     </filters>
355                 </configuration>
356                 <executions>
357                     <execution>
358                         <phase>package</phase>
359                         <goals>
360                             <goal>shade</goal>
361                         </goals>
362                         <configuration>
363                             <transformers>
364                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
365                                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
366                                     <mainClass>org.onap.holmes.rulemgt.RuleActiveApp</mainClass>
367                                 </transformer>
368                             </transformers>
369                         </configuration>
370                     </execution>
371                 </executions>
372             </plugin>
373         </plugins>
374         <resources>
375             <resource>
376                 <directory>src/main/java</directory>
377                 <includes>
378                     <include>**/*.properties</include>
379                 </includes>
380             </resource>
381             <resource>
382                 <directory>src/main/resources</directory>
383             </resource>
384         </resources>
385     </build>
386
387     <profiles>
388         <profile>
389             <id>swagger</id>
390             <dependencies>
391                 <dependency>
392                     <groupId>io.swagger</groupId>
393                     <artifactId>swagger-jersey2-jaxrs</artifactId>
394                     <version>1.5.3</version>
395                     <exclusions>
396                         <exclusion>
397                             <groupId>com.fasterxml.jackson.core</groupId>
398                             <artifactId>jackson-databind</artifactId>
399                         </exclusion>
400                         <exclusion>
401                             <groupId>com.fasterxml.jackson.core</groupId>
402                             <artifactId>jackson-core</artifactId>
403                         </exclusion>
404                     </exclusions>
405                 </dependency>
406             </dependencies>
407             <build>
408                 <plugins>
409                     <plugin>
410                         <groupId>com.github.kongchen</groupId>
411                         <artifactId>swagger-maven-plugin</artifactId>
412                         <version>3.1.1</version>
413                         <configuration>
414                             <apiSources>
415                                 <apiSource>
416                                     <springmvc>false</springmvc>
417                                     <locations>org.onap.holmes.rulemgt.resources</locations>
418                                     <basePath>/api/holmes-rule-mgmt/v1/</basePath>
419                                     <info>
420                                         <title>API Descriptions for Holmes Rule Management</title>
421                                         <version>v1</version>
422                                         <description>
423                                             This page shows all the APIs available in the Holmes rule management module.
424                                         </description>
425                                         <termsOfService>
426                                             http://www.github.com/kongchen/swagger-maven-plugin
427                                         </termsOfService>
428                                         <contact>
429                                             <email>fu.guangrong@zte.com.cn</email>
430                                             <name>Guangrong Fu</name>
431                                         </contact>
432                                         <license>
433                                             <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
434                                             <name>Apache 2.0</name>
435                                         </license>
436                                     </info>
437                                     <securityDefinitions>
438                                     </securityDefinitions>
439                                     <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
440                                 </apiSource>
441                             </apiSources>
442                         </configuration>
443                         <executions>
444                             <execution>
445                                 <phase>compile</phase>
446                                 <goals>
447                                     <goal>generate</goal>
448                                 </goals>
449                             </execution>
450                         </executions>
451                         <dependencies>
452                             <dependency>
453                                 <groupId>io.swagger</groupId>
454                                 <artifactId>swagger-hibernate-validations</artifactId>
455                                 <version>1.5.6</version>
456                             </dependency>
457                         </dependencies>
458                     </plugin>
459                 </plugins>
460             </build>
461         </profile>
462     </profiles>
463 </project>