Use common components in apex
[policy/apex-pdp.git] / client / client-deployment / pom.xml
1 <!--
2   ============LICENSE_START=======================================================
3    Copyright (C) 2018 Ericsson. All rights reserved.
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   SPDX-License-Identifier: Apache-2.0
18   ============LICENSE_END=========================================================
19 -->
20 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
22     <modelVersion>4.0.0</modelVersion>
23     <parent>
24         <groupId>org.onap.policy.apex-pdp.client</groupId>
25         <artifactId>client</artifactId>
26         <version>2.0.0-SNAPSHOT</version>
27     </parent>
28
29     <artifactId>client-deployment</artifactId>
30     <name>${project.artifactId}</name>
31     <description>Web client for deploying models in Apex engine</description>
32
33     <dependencies>
34         <dependency>
35             <groupId>org.onap.policy.apex-pdp.core</groupId>
36             <artifactId>core-deployment</artifactId>
37             <version>${project.version}</version>
38         </dependency>
39         <dependency>
40             <groupId>org.onap.policy.apex-pdp.client</groupId>
41             <artifactId>client-common</artifactId>
42             <version>${project.version}</version>
43             <classifier>resources</classifier>
44             <type>zip</type>
45             <scope>provided</scope>
46         </dependency>
47         <dependency>
48             <groupId>org.glassfish.jersey.containers</groupId>
49             <artifactId>jersey-container-grizzly2-http</artifactId>
50             <version>${version.jersey}</version>
51         </dependency>
52         <dependency>
53             <groupId>org.glassfish.jersey.media</groupId>
54             <artifactId>jersey-media-multipart</artifactId>
55             <version>${version.jersey}</version>
56         </dependency>
57         <dependency>
58             <groupId>org.glassfish.jersey.containers</groupId>
59             <artifactId>jersey-container-servlet-core</artifactId>
60             <version>${version.jersey}</version>
61         </dependency>
62         <dependency>
63             <groupId>org.glassfish.jersey.inject</groupId>
64             <artifactId>jersey-hk2</artifactId>
65             <version>${version.jersey}</version>
66         </dependency>
67         <dependency>
68             <groupId>commons-cli</groupId>
69             <artifactId>commons-cli</artifactId>
70         </dependency>
71     </dependencies>
72
73     <build>
74         <defaultGoal>install</defaultGoal>
75         <outputDirectory>${project.build.directory}/classes</outputDirectory>
76         <plugins>
77             <plugin>
78                 <groupId>org.apache.maven.plugins</groupId>
79                 <artifactId>maven-dependency-plugin</artifactId>
80                 <executions>
81                     <execution>
82                         <id>unpack-client-deployment-shared-resources</id>
83                         <goals>
84                             <goal>unpack-dependencies</goal>
85                         </goals>
86                         <phase>generate-resources</phase>
87                         <configuration>
88                             <outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}</outputDirectory>
89                             <includeArtifacIds>client-common</includeArtifacIds>
90                             <includeGroupIds>${project.groupId}</includeGroupIds>
91                             <excludeTransitive>true</excludeTransitive>
92                         </configuration>
93                     </execution>
94                 </executions>
95             </plugin>
96             <plugin>
97                 <groupId>org.apache.maven.plugins</groupId>
98                 <artifactId>maven-shade-plugin</artifactId>
99                 <executions>
100                     <execution>
101                         <phase>package</phase>
102                         <goals>
103                             <goal>shade</goal>
104                         </goals>
105                     </execution>
106                 </executions>
107                 <configuration>
108                     <finalName>${project.artifactId}-uber-${project.version}</finalName>
109                     <shadedArtifactAttached>true</shadedArtifactAttached>
110                     <shadedClassifierName>deployment</shadedClassifierName>
111                     <artifactSet>
112                         <includes>
113                             <include>*:*</include>
114                         </includes>
115                     </artifactSet>
116                     <filters>
117                         <filter>
118                             <artifact>*:*</artifact>
119                             <excludes>
120                                 <exclude>META-INF/*.SF</exclude>
121                                 <exclude>META-INF/*.DSA</exclude>
122                                 <exclude>META-INF/*.RSA</exclude>
123                             </excludes>
124                         </filter>
125                     </filters>
126                     <transformers>
127                         <transformer
128                             implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
129                         <transformer
130                             implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
131                             <resource>reference.conf</resource>
132                         </transformer>
133                         <transformer
134                             implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
135                             <resource>log4j.properties</resource>
136                         </transformer>
137                         <transformer
138                             implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
139                             <mainClass>org.onap.policy.apex.client.deployment.rest.ApexDeploymentRestMain</mainClass>
140                         </transformer>
141                     </transformers>
142                 </configuration>
143             </plugin>
144             <plugin>
145                 <groupId>org.apache.maven.plugins</groupId>
146                 <artifactId>maven-war-plugin</artifactId>
147                 <configuration>
148                     <classifier>ui</classifier>
149                     <warSourceDirectory>src/main/resources/webapp</warSourceDirectory>
150                     <webXml>src/main/resources/webapp/WEB-INF/web.xml</webXml>
151                 </configuration>
152                 <executions>
153                     <execution>
154                         <phase>prepare-package</phase>
155                         <goals>
156                             <goal>war</goal>
157                         </goals>
158                     </execution>
159                 </executions>
160             </plugin>
161             <plugin>
162                 <groupId>org.codehaus.mojo</groupId>
163                 <artifactId>build-helper-maven-plugin</artifactId>
164                 <version>3.0.0</version>
165                 <executions>
166                     <execution>
167                         <id>attach-artifacts</id>
168                         <phase>package</phase>
169                         <goals>
170                             <goal>attach-artifact</goal>
171                         </goals>
172                         <configuration>
173                             <artifacts>
174                                 <artifact>
175                                     <file>${project.build.directory}/${project.artifactId}-${project.version}-ui.war</file>
176                                     <type>war</type>
177                                 </artifact>
178                                 <artifact>
179                                     <file>${project.build.directory}/${project.artifactId}-uber-${project.version}.jar</file>
180                                     <type>uber.jar</type>
181                                 </artifact>
182                             </artifacts>
183                         </configuration>
184                     </execution>
185                 </executions>
186             </plugin>
187         </plugins>
188     </build>
189 </project>