[AAI-2175] Change aai champ container processes to run as non-root on the host
[aai/champ.git] / champ-service / pom.xml
1 <!--
2 ============LICENSE_START=======================================================
3 org.onap.aai
4 ================================================================================
5 Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6 Copyright © 2017-2018 Amdocs
7 ================================================================================
8 Licensed under the Apache License, Version 2.0 (the "License");
9 you may not use this file except in compliance with the License.
10 You may obtain a copy of the License at
11
12       http://www.apache.org/licenses/LICENSE-2.0
13
14 Unless required by applicable law or agreed to in writing, software
15 distributed under the License is distributed on an "AS IS" BASIS,
16 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 See the License for the specific language governing permissions and
18 limitations under the License.
19 ============LICENSE_END=========================================================
20 -->
21 <project xmlns="http://maven.apache.org/POM/4.0.0"
22          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24     <modelVersion>4.0.0</modelVersion>
25
26     <parent>
27         <groupId>org.onap.aai</groupId>
28         <artifactId>champ</artifactId>
29         <version>1.4.1-SNAPSHOT</version>
30     </parent>
31
32     <groupId>org.onap.aai.champ</groupId>
33     <artifactId>champ-service</artifactId>
34
35     <properties>
36         <docker.location>${basedir}/target</docker.location>
37         <docker.name>champ</docker.name>
38         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
39         <common.logging.groupid>org.onap.aai.logging-service</common.logging.groupid>
40         <common.logging.version>1.2.2</common.logging.version>
41
42         <version.org.apache.commons.commons-lang3>3.7</version.org.apache.commons.commons-lang3>
43         <version.org.hamcrest.hamcrest-library>1.3</version.org.hamcrest.hamcrest-library>
44         <version.org.springframework.boot.spring-boot-dependencies>1.5.19.RELEASE</version.org.springframework.boot.spring-boot-dependencies>
45          <!-- Minimum code coverage percentage. Please update this figure as coverage increases to prevent any drops in
46          coverage caused by new changes. Note that this figure cannot be lower than the ONAP requirement of 0.55 -->
47         <jacoco.line.coverage.limit>0.16</jacoco.line.coverage.limit>
48     </properties>
49
50     <dependencyManagement>
51         <dependencies>
52             <dependency>
53                 <groupId>org.springframework.boot</groupId>
54                 <artifactId>spring-boot-dependencies</artifactId>
55                 <version>${version.org.springframework.boot.spring-boot-dependencies}</version>
56                 <type>pom</type>
57                 <scope>import</scope>
58             </dependency>
59
60             <dependency>
61                 <groupId>org.apache.httpcomponents</groupId>
62                 <artifactId>httpclient</artifactId>
63                 <version>4.5.3</version>
64             </dependency>
65
66             <dependency>
67                 <groupId>org.apache.httpcomponents</groupId>
68                 <artifactId>httpclient-cache</artifactId>
69                 <version>4.5.3</version>
70             </dependency>
71         </dependencies>
72     </dependencyManagement>
73
74     <dependencies>
75         <dependency>
76             <groupId>org.springframework.boot</groupId>
77             <artifactId>spring-boot-starter-web</artifactId>
78             <exclusions>
79                 <exclusion>
80                     <groupId>org.springframework.boot</groupId>
81                     <artifactId>spring-boot-starter-tomcat</artifactId>
82                 </exclusion>
83                 <exclusion>
84                     <groupId>ch.qos.logback</groupId>
85                     <artifactId>logback-classic</artifactId>
86                 </exclusion>
87             </exclusions>
88         </dependency>
89
90         <dependency>
91             <groupId>org.springframework.boot</groupId>
92             <artifactId>spring-boot-starter-jetty</artifactId>
93         </dependency>
94
95         <dependency>
96             <groupId>org.springframework.boot</groupId>
97             <artifactId>spring-boot-starter-test</artifactId>
98             <scope>test</scope>
99         </dependency>
100         <dependency>
101             <groupId>org.powermock</groupId>
102             <artifactId>powermock-module-junit4</artifactId>
103             <version>1.7.4</version>
104             <scope>test</scope>
105             <exclusions>
106                 <exclusion>
107                     <groupId>org.javassist</groupId>
108                     <artifactId>javassist</artifactId>
109                 </exclusion>
110             </exclusions>
111         </dependency>
112         <dependency>
113             <groupId>org.powermock</groupId>
114             <artifactId>powermock-api-mockito</artifactId>
115             <version>1.7.4</version>
116             <scope>test</scope>
117         </dependency>
118
119         <!-- https://mvnrepository.com/artifact/org.javassist/javassist -->
120         <dependency>
121             <groupId>org.javassist</groupId>
122             <artifactId>javassist</artifactId>
123             <version>3.22.0-GA</version>
124         </dependency>
125
126
127         <dependency>
128             <groupId>org.springframework.boot</groupId>
129             <artifactId>spring-boot-starter-jersey</artifactId>
130             <exclusions>
131               <exclusion>
132                <groupId>org.springframework.boot</groupId>
133                <artifactId>spring-boot-starter-tomcat</artifactId>
134               </exclusion>
135             </exclusions>
136         </dependency>
137
138         <dependency>
139             <groupId>org.json</groupId>
140             <artifactId>json</artifactId>
141             <version>20160212</version>
142         </dependency>
143
144         <dependency>
145             <groupId>commons-io</groupId>
146             <artifactId>commons-io</artifactId>
147             <version>2.4</version>
148         </dependency>
149
150         <dependency>
151             <groupId>com.google.code.gson</groupId>
152             <artifactId>gson</artifactId>
153             <version>2.6.2</version>
154         </dependency>
155
156          <dependency>
157           <groupId>com.google.guava</groupId>
158           <artifactId>guava</artifactId>
159         </dependency>
160
161         <dependency>
162             <groupId>${common.logging.groupid}</groupId>
163             <artifactId>common-logging</artifactId>
164             <version>${common.logging.version}</version>
165             <exclusions>
166                 <exclusion>
167                     <groupId>ch.qos.logback</groupId>
168                     <artifactId>logback-classic</artifactId>
169                 </exclusion>
170                 <exclusion>
171                     <groupId>ch.qos.logback</groupId>
172                     <artifactId>logback-core</artifactId>
173                 </exclusion>
174                 <exclusion>
175                     <groupId>org.slf4j</groupId>
176                     <artifactId>slf4j-api</artifactId>
177                 </exclusion>
178             </exclusions>
179         </dependency>
180
181         <dependency>
182             <groupId>org.eclipse.persistence</groupId>
183             <artifactId>eclipselink</artifactId>
184             <version>2.6.2</version>
185         </dependency>
186
187         <dependency>
188             <groupId>org.apache.commons</groupId>
189             <artifactId>commons-lang3</artifactId>
190             <version>3.7</version>
191         </dependency>
192
193         <dependency>
194             <groupId>org.onap.aai.champ.champ-lib</groupId>
195             <artifactId>champ-core</artifactId>
196             <version>${project.version}</version>
197             <scope>compile</scope>
198             <exclusions>
199                 <exclusion>
200                     <groupId>org.apache.hbase</groupId>
201                     <artifactId>hbase-client</artifactId>
202                 </exclusion>
203                 <exclusion>
204                     <groupId>log4j</groupId>
205                     <artifactId>log4j</artifactId>
206                 </exclusion>
207                 <exclusion>
208                     <groupId>log4j</groupId>
209                     <artifactId>apache-log4j-extras</artifactId>
210                 </exclusion>
211                 <exclusion>
212                     <groupId>org.slf4j</groupId>
213                     <artifactId>slf4j-api</artifactId>
214                 </exclusion>
215             </exclusions>
216         </dependency>
217
218         <dependency>
219             <groupId>org.hamcrest</groupId>
220             <artifactId>hamcrest-library</artifactId>
221             <scope>test</scope>
222         </dependency>
223
224         <dependency>
225             <groupId>org.skyscreamer</groupId>
226             <artifactId>jsonassert</artifactId>
227             <version>1.5.0</version>
228             <scope>test</scope>
229         </dependency>
230
231         <dependency>
232             <groupId>ch.qos.logback</groupId>
233             <artifactId>logback-classic</artifactId>
234             <version>1.2.3</version>
235         </dependency>
236
237         <dependency>
238             <groupId>ch.qos.logback</groupId>
239             <artifactId>logback-core</artifactId>
240             <version>1.2.3</version>
241         </dependency>
242
243         <dependency>
244             <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
245             <artifactId>dmaapClient</artifactId>
246             <version>1.1.5</version>
247         </dependency>
248     </dependencies>
249
250     <distributionManagement>
251         <repository>
252             <id>ecomp-releases</id>
253             <name>ECOMP Release Repository</name>
254             <url>${onap.nexus.url}/content/repositories/releases/</url>
255         </repository>
256         <snapshotRepository>
257             <id>ecomp-snapshots</id>
258             <name>ECOMP Snapshot Repository</name>
259             <url>${onap.nexus.url}/content/repositories/snapshots/</url>
260         </snapshotRepository>
261     </distributionManagement>
262
263     <build>
264         <finalName>${project.artifactId}</finalName>
265         <plugins>
266             <plugin>
267                 <groupId>org.springframework.boot</groupId>
268                 <artifactId>spring-boot-maven-plugin</artifactId>
269                 <configuration>
270                     <layout>ZIP</layout>
271                 </configuration>
272                 <executions>
273                     <execution>
274                         <goals>
275                             <goal>repackage</goal>
276                         </goals>
277                     </execution>
278                 </executions>
279             </plugin>
280
281             <plugin>
282                 <groupId>org.apache.maven.plugins</groupId>
283                 <artifactId>maven-resources-plugin</artifactId>
284                 <version>2.7</version>
285                 <executions>
286                     <execution>
287                         <id>copy-docker-file</id>
288                         <phase>package</phase>
289                         <goals>
290                             <goal>copy-resources</goal>
291                         </goals>
292                         <configuration>
293                             <outputDirectory>target</outputDirectory>
294                             <overwrite>true</overwrite>
295                             <resources>
296                                 <resource>
297                                     <directory>${basedir}/src/main/docker</directory>
298                                     <filtering>true</filtering>
299                                     <includes>
300                                         <include>**/*</include>
301                                     </includes>
302                                 </resource>
303                                 <resource>
304                                     <directory>${basedir}/src/main/bin/</directory>
305                                 </resource>
306                                 <resource>
307                                     <directory>../champ-service-deps-janus/target/</directory>
308                                 </resource>
309                                 <resource>
310                                     <directory>../champ-service-deps-titan/target/</directory>
311                                 </resource>
312                                 <resource>
313                                     <directory>${basedir}</directory>
314                                     <includes>
315                                         <include>**/dynamic/**/*</include>
316                                     </includes>
317                                 </resource>
318                             </resources>
319                         </configuration>
320                     </execution>
321                 </executions>
322             </plugin>
323
324             <plugin>
325                 <groupId>com.mycila</groupId>
326                 <artifactId>license-maven-plugin</artifactId>
327                 <version>3.0</version>
328                 <configuration>
329                     <header>License.txt</header>
330                     <includes>
331                         <include>src/main/java/**</include>
332                         <include>src/test/java/**</include>
333                         <include>pom.xml</include>
334                     </includes>
335                     <skipExistingHeaders>true</skipExistingHeaders>
336                 </configuration>
337                 <executions>
338                     <execution>
339                         <goals>
340                             <!-- Set goal to "format" to auto update license headers -->
341                             <goal>check</goal>
342                         </goals>
343                         <phase>process-sources</phase>
344                     </execution>
345                 </executions>
346             </plugin>
347
348             <plugin>
349                 <groupId>com.spotify</groupId>
350                 <artifactId>docker-maven-plugin</artifactId>
351                 <version>0.4.11</version>
352                 <configuration>
353                     <verbose>true</verbose>
354                     <serverId>docker-hub</serverId>
355                     <imageName>${docker.push.registry}/onap/${docker.name}</imageName>
356                     <dockerDirectory>${docker.location}</dockerDirectory>
357                     <imageTags>
358                         <imageTag>latest</imageTag>
359                     </imageTags>
360                     <forceTags>true</forceTags>
361                 </configuration>
362             </plugin>
363
364             <plugin>
365                 <groupId>org.apache.maven.plugins</groupId>
366                 <artifactId>maven-deploy-plugin</artifactId>
367             </plugin>
368
369             <plugin>
370                 <groupId>org.sonatype.plugins</groupId>
371                 <artifactId>nexus-staging-maven-plugin</artifactId>
372             </plugin>
373
374             <plugin>
375                 <groupId>org.apache.maven.plugins</groupId>
376                 <artifactId>maven-site-plugin</artifactId>
377             </plugin>
378         </plugins>
379     </build>
380 </project>