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