Merge "Exclude the Same Dependency"
[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.0.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>5.4.0.Final</drools.version>
34     </properties>
35
36     <dependencies>
37
38         <dependency>
39             <groupId>org.onap.msb.java-sdk</groupId>
40             <artifactId>msb-java-sdk</artifactId>
41         </dependency>
42         <dependency>
43             <groupId>org.reflections</groupId>
44             <artifactId>reflections</artifactId>
45         </dependency>
46         <dependency>
47             <groupId>org.onap.holmes.dsa</groupId>
48             <artifactId>dmaap-dsa</artifactId>
49             <exclusions>
50                 <exclusion>
51                     <groupId>org.apache.httpcomponents</groupId>
52                     <artifactId>httpclient</artifactId>
53                 </exclusion>
54             </exclusions>
55         </dependency>
56         <dependency>
57             <groupId>org.onap.holmes.common</groupId>
58             <artifactId>holmes-actions</artifactId>
59             <exclusions>
60                 <exclusion>
61                     <groupId>org.glassfish.jersey.containers</groupId>
62                     <artifactId>jersey-container-servlet-core</artifactId>
63                 </exclusion>
64             </exclusions>
65         </dependency>
66         <dependency>
67             <groupId>org.glassfish.jersey.containers</groupId>
68             <artifactId>jersey-container-servlet-core</artifactId>
69             <version>2.22.2</version>
70         </dependency>
71         <dependency>
72             <groupId>org.easymock</groupId>
73             <artifactId>easymock</artifactId>
74         </dependency>
75         <dependency>
76             <groupId>org.drools</groupId>
77             <artifactId>drools-core</artifactId>
78             <version>${drools.version}</version>
79         </dependency>
80         <dependency>
81             <groupId>org.drools</groupId>
82             <artifactId>drools-compiler</artifactId>
83             <version>${drools.version}</version>
84             <exclusions>
85                 <exclusion>
86                     <groupId>org.eclipse.jdt.core.compiler</groupId>
87                     <artifactId>ecj</artifactId>
88                 </exclusion>
89             </exclusions>
90         </dependency>
91         <dependency>
92             <groupId>org.eclipse.jdt.core.compiler</groupId>
93             <artifactId>ecj</artifactId>
94             <version>4.5.1</version>
95         </dependency>
96         <dependency>
97             <groupId>org.drools</groupId>
98             <artifactId>drools-templates</artifactId>
99             <version>${drools.version}</version>
100         </dependency>
101         <dependency>
102             <groupId>io.dropwizard</groupId>
103             <artifactId>dropwizard-db</artifactId>
104         </dependency>
105         <dependency>
106             <groupId>org.antlr</groupId>
107             <artifactId>stringtemplate</artifactId>
108         </dependency>
109         <dependency>
110             <groupId>io.dropwizard</groupId>
111             <artifactId>dropwizard-core</artifactId>
112             <exclusions>
113                 <exclusion>
114                     <groupId>ch.qos.logback</groupId>
115                     <artifactId>logback</artifactId>
116                 </exclusion>
117                 <exclusion>
118                     <artifactId>log4j-over-slf4j</artifactId>
119                     <groupId>org.slf4j</groupId>
120                 </exclusion>
121             </exclusions>
122         </dependency>
123         <dependency>
124             <groupId>org.projectlombok</groupId>
125             <artifactId>lombok</artifactId>
126         </dependency>
127         <dependency>
128             <groupId>org.postgresql</groupId>
129             <artifactId>postgresql</artifactId>
130         </dependency>
131         <dependency>
132             <groupId>org.quartz-scheduler</groupId>
133             <artifactId>quartz</artifactId>
134         </dependency>
135         <dependency>
136             <groupId>junit</groupId>
137             <artifactId>junit</artifactId>
138         </dependency>
139         <dependency>
140             <groupId>org.hamcrest</groupId>
141             <artifactId>hamcrest-core</artifactId>
142         </dependency>
143         <dependency>
144             <groupId>org.powermock</groupId>
145             <artifactId>powermock-module-junit4</artifactId>
146         </dependency>
147         <dependency>
148             <groupId>org.slf4j</groupId>
149             <artifactId>slf4j-api</artifactId>
150         </dependency>
151         <dependency>
152             <groupId>io.swagger</groupId>
153             <artifactId>swagger-jersey2-jaxrs</artifactId>
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-module-junit4-rule</artifactId>
166             <version>1.6.5</version>
167             <scope>test</scope>
168         </dependency>
169         <dependency>
170             <groupId>org.powermock</groupId>
171             <artifactId>powermock-classloading-xstream</artifactId>
172             <version>1.6.5</version>
173             <scope>test</scope>
174         </dependency>
175         <dependency>
176             <groupId>org.apache.httpcomponents</groupId>
177             <artifactId>httpclient</artifactId>
178         </dependency>
179         <dependency>
180             <groupId>com.google.guava</groupId>
181             <artifactId>guava</artifactId>
182         </dependency>
183     </dependencies>
184
185     <build>
186         <plugins>
187             <plugin>
188                 <groupId>org.apache.maven.plugins</groupId>
189                 <artifactId>maven-jar-plugin</artifactId>
190                 <configuration>
191                     <archive>
192                         <manifest>
193                             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
194                         </manifest>
195                     </archive>
196                 </configuration>
197             </plugin>
198             <plugin>
199                 <groupId>org.apache.maven.plugins</groupId>
200                 <artifactId>maven-shade-plugin</artifactId>
201                 <configuration>
202                     <createDependencyReducedPom>true</createDependencyReducedPom>
203                     <filters>
204                         <filter>
205                             <artifact>*:*</artifact>
206                             <excludes>
207                                 <exclude>META-INF/*.SF</exclude>
208                                 <exclude>META-INF/*.DSA</exclude>
209                                 <exclude>META-INF/*.RSA</exclude>
210                             </excludes>
211                         </filter>
212                     </filters>
213                 </configuration>
214                 <executions>
215                     <execution>
216                         <phase>package</phase>
217                         <goals>
218                             <goal>shade</goal>
219                         </goals>
220                         <configuration>
221                             <transformers>
222                                 <transformer
223                                     implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
224                                 <transformer
225                                     implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
226                                     <mainClass>org.onap.holmes.engine.EngineDActiveApp
227                                     </mainClass>
228                                 </transformer>
229                             </transformers>
230                         </configuration>
231                     </execution>
232                 </executions>
233             </plugin>
234         </plugins>
235         <resources>
236             <resource>
237                 <directory>src/main/java</directory>
238                 <includes>
239                     <include>**/*.properties</include>
240                 </includes>
241             </resource>
242             <resource>
243                 <directory>src/main/resources</directory>
244             </resource>
245         </resources>
246     </build>
247
248     <profiles>
249         <profile>
250             <id>swagger</id>
251             <dependencies>
252                 <dependency>
253                     <groupId>io.swagger</groupId>
254                     <artifactId>swagger-jersey2-jaxrs</artifactId>
255                     <version>1.5.0</version>
256                 </dependency>
257             </dependencies>
258
259             <build>
260                 <plugins>
261                     <plugin>
262                         <groupId>com.github.kongchen</groupId>
263                         <artifactId>swagger-maven-plugin</artifactId>
264                         <version>3.1.1</version>
265                         <configuration>
266                             <apiSources>
267                                 <apiSource>
268                                     <springmvc>false</springmvc>
269                                     <locations>org.onap.holmes.engine.resources</locations>
270                                     <basePath>/api/holmes-engine-mgmt/v1/</basePath>
271                                     <info>
272                                         <title>API Descriptions for Holmes Engine Management</title>
273                                         <version>v1</version>
274                                         <description>
275                                             This page shows all the APIs available in the Holmes engine management module.
276                                         </description>
277                                         <termsOfService>
278                                             http://www.github.com/kongchen/swagger-maven-plugin
279                                         </termsOfService>
280                                         <contact>
281                                             <email>fu.guangrong@zte.com.cn</email>
282                                             <name>Guangrong Fu</name>
283                                         </contact>
284                                         <license>
285                                             <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
286                                             <name>Apache 2.0</name>
287                                         </license>
288                                     </info>
289                                     <securityDefinitions>
290                                     </securityDefinitions>
291                                     <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
292                                 </apiSource>
293                             </apiSources>
294                         </configuration>
295                         <executions>
296                             <execution>
297                                 <phase>compile</phase>
298                                 <goals>
299                                     <goal>generate</goal>
300                                 </goals>
301                             </execution>
302                         </executions>
303                         <dependencies>
304                             <dependency>
305                                 <groupId>io.swagger</groupId>
306                                 <artifactId>swagger-hibernate-validations</artifactId>
307                                 <version>1.5.6</version>
308                             </dependency>
309                         </dependencies>
310                     </plugin>
311                 </plugins>
312             </build>
313         </profile>
314     </profiles>
315 </project>