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