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