blob: 6ee630ac4a98b9869f1de4dd2b3322c00130e7ac [file] [log] [blame]
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +01001<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 ================================================================================
4 Copyright (c) 2020 Nokia. All rights reserved.
5 ================================================================================
6 Licensed under the Apache License, Version 2.0 (the "License"); you may not
7 use this file except in compliance with the License. You may obtain a copy
8 of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
9 by applicable law or agreed to in writing, software distributed under the
10 License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
11 OF ANY KIND, either express or implied. See the License for the specific
12 language governing permissions and limitations under the License.
13 ============LICENSE_END=========================================================
14-->
15<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
16 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
17 <modelVersion>4.0.0</modelVersion>
18 <parent>
Bartosz Gardziejewskibeecacb2020-02-13 07:31:47 +010019 <groupId>org.onap.aaf.certservice</groupId>
Bartosz Gardziejewski5d71eb72020-02-13 08:17:55 +010020 <artifactId>aaf-certservice</artifactId>
Bartosz Gardziejewskidd700fc2020-02-13 08:44:03 +010021 <version>1.0.0-SNAPSHOT</version>
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +010022 </parent>
Bartosz Gardziejewski5d71eb72020-02-13 08:17:55 +010023 <artifactId>aaf-certservice-api</artifactId>
Bartosz Gardziejewskidd700fc2020-02-13 08:44:03 +010024 <version>1.0.0-SNAPSHOT</version>
Bartosz Gardziejewski5d71eb72020-02-13 08:17:55 +010025 <name>aaf-certservice-api</name>
26 <description>AAF Certification Service Api</description>
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +010027 <packaging>jar</packaging>
28
29 <properties>
30 <java.version>11</java.version>
31 <assertj-core.version>3.11.1</assertj-core.version>
32 <mockito-core.version>3.2.4</mockito-core.version>
33 <spring-core.version>5.2.3.RELEASE</spring-core.version>
34 <spring-boot-starter.version>2.2.4.RELEASE</spring-boot-starter.version>
35 <maven-javadoc-plugin.version>3.0.1</maven-javadoc-plugin.version>
36 <maven-surefire-plugin.version>3.0.0-M1</maven-surefire-plugin.version>
Paweldb979302020-02-05 11:24:54 +010037 <spring-boot-starter-actuator.version>2.2.4.RELEASE</spring-boot-starter-actuator.version>
Pawel Kasperkiewicz68016582020-02-06 11:54:06 +010038 <spring-boot-starter-log4j2.version>2.1.5.RELEASE</spring-boot-starter-log4j2.version>
Bartosz Gardziejewski4dd87392020-02-07 08:27:34 +010039 <springdoc-openapi-ui.version>1.2.21</springdoc-openapi-ui.version>
Bartosz Gardziejewskibddd4f02020-02-11 13:27:08 +010040 <bouncycastle.version>1.60</bouncycastle.version>
Pawel8b1072c2020-02-10 13:03:38 +010041 <docker-maven-plugin.version>0.33.0</docker-maven-plugin.version>
Bartosz Gardziejewskic88b66b2020-02-12 07:49:02 +010042 <springdoc-openapi-maven-plugin.apiDocsUrl>http://localhost:8080/v3/api-docs
43 </springdoc-openapi-maven-plugin.apiDocsUrl>
Bartosz Gardziejewski41a54182020-02-13 10:14:16 +010044 <springdoc-openapi-maven-plugin.version>0.2</springdoc-openapi-maven-plugin.version>
Bartosz Gardziejewski1d900882020-02-12 11:53:42 +010045 <gson.version>2.8.6</gson.version>
Tomasz Golabek3b554792020-02-13 12:07:35 +010046
47 <!-- Docker -->
48 <skipDockerPush>true</skipDockerPush>
49 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
50 <docker-image.registry>${onap.nexus.dockerregistry.daily}</docker-image.registry>
51 <docker-image.namespace>onap</docker-image.namespace>
52 <docker-image.name>${project.groupId}.${project.artifactId}</docker-image.name>
53 <docker-image.latest>${project.version}</docker-image.latest>
54 <docker.http_proxy/>
55
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +010056 </properties>
57
58 <dependencyManagement>
59 <dependencies>
60 <dependency>
61 <!-- Import dependency management from Spring Boot -->
62 <groupId>org.springframework.boot</groupId>
63 <artifactId>spring-boot-dependencies</artifactId>
64 <version>${spring-boot-starter.version}</version>
65 <type>pom</type>
66 <scope>import</scope>
67 </dependency>
68 </dependencies>
69 </dependencyManagement>
70
71 <dependencies>
72 <dependency>
73 <groupId>org.springframework.boot</groupId>
74 <artifactId>spring-boot-starter-web</artifactId>
75 <version>${spring-boot-starter.version}</version>
Pawel Kasperkiewicz68016582020-02-06 11:54:06 +010076 <exclusions>
77 <exclusion>
78 <groupId>org.springframework.boot</groupId>
79 <artifactId>spring-boot-starter-logging</artifactId>
80 </exclusion>
81 </exclusions>
82 </dependency>
83 <dependency>
84 <groupId>org.springframework.boot</groupId>
85 <artifactId>spring-boot-starter-log4j2</artifactId>
86 <version>${spring-boot-starter-log4j2.version}</version>
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +010087 </dependency>
88 <dependency>
89 <groupId>org.springframework.boot</groupId>
90 <artifactId>spring-boot-starter-test</artifactId>
91 <version>${spring-boot-starter.version}</version>
92 <scope>test</scope>
93 <exclusions>
94 <exclusion>
95 <groupId>org.junit.vintage</groupId>
96 <artifactId>junit-vintage-engine</artifactId>
97 </exclusion>
98 </exclusions>
99 </dependency>
100 <dependency>
101 <groupId>org.mockito</groupId>
102 <artifactId>mockito-core</artifactId>
103 <version>${mockito-core.version}</version>
104 <scope>test</scope>
105 </dependency>
106 <dependency>
107 <groupId>org.assertj</groupId>
108 <artifactId>assertj-core</artifactId>
109 <version>${assertj-core.version}</version>
110 <scope>test</scope>
111 </dependency>
Paweldb979302020-02-05 11:24:54 +0100112 <dependency>
113 <groupId>org.springframework.boot</groupId>
114 <artifactId>spring-boot-starter-actuator</artifactId>
115 <version>${spring-boot-starter-actuator.version}</version>
116 </dependency>
Bartosz Gardziejewski4dd87392020-02-07 08:27:34 +0100117 <dependency>
118 <groupId>org.springdoc</groupId>
119 <artifactId>springdoc-openapi-ui</artifactId>
120 <version>${springdoc-openapi-ui.version}</version>
121 </dependency>
Bartosz Gardziejewskibddd4f02020-02-11 13:27:08 +0100122 <dependency>
123 <groupId>org.bouncycastle</groupId>
124 <artifactId>bcpkix-jdk15on</artifactId>
125 <version>${bouncycastle.version}</version>
126 </dependency>
127 <dependency>
128 <groupId>org.bouncycastle</groupId>
129 <artifactId>bcprov-jdk15on</artifactId>
130 <version>${bouncycastle.version}</version>
131 </dependency>
Bartosz Gardziejewski1d900882020-02-12 11:53:42 +0100132 <dependency>
133 <groupId>com.google.code.gson</groupId>
134 <artifactId>gson</artifactId>
135 <version>${gson.version}</version>
136 </dependency>
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +0100137 </dependencies>
138
139 <build>
140 <pluginManagement>
141 <plugins>
142 <plugin>
143 <groupId>org.springframework.boot</groupId>
144 <artifactId>spring-boot-maven-plugin</artifactId>
145 <version>${spring-boot-starter.version}</version>
146 </plugin>
147 <plugin>
148 <artifactId>maven-javadoc-plugin</artifactId>
149 <version>${maven-javadoc-plugin.version}</version>
150 </plugin>
151 <plugin>
152 <groupId>org.apache.maven.plugins</groupId>
153 <artifactId>maven-surefire-plugin</artifactId>
154 <version>${maven-surefire-plugin.version}</version>
155 </plugin>
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +0100156 </plugins>
157 </pluginManagement>
158 <plugins>
159 <plugin>
160 <groupId>org.springframework.boot</groupId>
161 <artifactId>spring-boot-maven-plugin</artifactId>
162 <executions>
163 <execution>
164 <goals>
165 <goal>repackage</goal>
166 </goals>
167 </execution>
Bartosz Gardziejewskic88b66b2020-02-12 07:49:02 +0100168 <execution>
169 <id>pre-integration-test</id>
170 <goals>
171 <goal>start</goal>
172 </goals>
173 </execution>
174 <execution>
175 <id>post-integration-test</id>
176 <goals>
177 <goal>stop</goal>
178 </goals>
179 </execution>
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +0100180 </executions>
181 </plugin>
182 <plugin>
183 <artifactId>maven-javadoc-plugin</artifactId>
184 <configuration>
185 <quiet>true</quiet>
186 <verbose>false</verbose>
187 <useStandardDocletOptions>false</useStandardDocletOptions>
Pawel8b1072c2020-02-10 13:03:38 +0100188 <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +0100189 </configuration>
190 <executions>
191 <execution>
192 <id>aggregate</id>
193 <phase>site</phase>
194 <goals>
195 <goal>aggregate</goal>
196 </goals>
197 </execution>
198 <execution>
199 <id>attach-javadoc</id>
200 <goals>
201 <goal>jar</goal>
202 </goals>
203 </execution>
204 </executions>
205 </plugin>
Bartosz Gardziejewskic88b66b2020-02-12 07:49:02 +0100206 <plugin>
207 <groupId>org.springdoc</groupId>
208 <artifactId>springdoc-openapi-maven-plugin</artifactId>
Bartosz Gardziejewski41a54182020-02-13 10:14:16 +0100209 <version>${springdoc-openapi-maven-plugin.version}</version>
Bartosz Gardziejewskic88b66b2020-02-12 07:49:02 +0100210 <executions>
211 <execution>
212 <phase>integration-test</phase>
213 <goals>
214 <goal>generate</goal>
215 </goals>
216 </execution>
217 </executions>
218 <configuration>
219 <apiDocsUrl>${springdoc-openapi-maven-plugin.apiDocsUrl}</apiDocsUrl>
220 <outputFileName>api-docs.json</outputFileName>
221 <outputDir>${project.build.directory}</outputDir>
222 </configuration>
223 </plugin>
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +0100224 </plugins>
225 </build>
226
Pawel8b1072c2020-02-10 13:03:38 +0100227 <profiles>
228 <profile>
Tomasz Golabekb9dabed2020-02-11 09:12:09 +0100229 <id>docker-staging</id>
230 <properties>
231 <docker.tag>${project.version}-STAGING-${maven.build.timestamp}</docker.tag>
232 <docker.latest.tag>${project.version}-STAGING-latest</docker.latest.tag>
233 </properties>
234 </profile>
235
236 <profile>
Pawel8b1072c2020-02-10 13:03:38 +0100237 <id>docker</id>
238 <activation>
239 <activeByDefault>false</activeByDefault>
240 </activation>
Tomasz Golabek3b554792020-02-13 12:07:35 +0100241 <properties>
242 <os.detected.name>linux</os.detected.name>
243 <os.detected.arch>x86_64</os.detected.arch>
244 <os.detected.classifier>${os.detected.name}-${os.detected.arch}</os.detected.classifier>
245 </properties>
Pawel8b1072c2020-02-10 13:03:38 +0100246 <build>
247 <plugins>
248 <plugin>
249 <groupId>io.fabric8</groupId>
250 <artifactId>docker-maven-plugin</artifactId>
Tomasz Golabek3b554792020-02-13 12:07:35 +0100251 <version>0.26.0</version>
Pawel8b1072c2020-02-10 13:03:38 +0100252 <executions>
253 <execution>
Tomasz Golabek3b554792020-02-13 12:07:35 +0100254 <id>docker-build-image</id>
255 <phase>package</phase>
Pawel8b1072c2020-02-10 13:03:38 +0100256 <goals>
Tomasz Golabekb9dabed2020-02-11 09:12:09 +0100257 <goal>build</goal>
Pawel8b1072c2020-02-10 13:03:38 +0100258 </goals>
259 </execution>
Tomasz Golabekb9dabed2020-02-11 09:12:09 +0100260 <execution>
Tomasz Golabek3b554792020-02-13 12:07:35 +0100261 <id>docker-push-image</id>
Tomasz Golabekb9dabed2020-02-11 09:12:09 +0100262 <phase>deploy</phase>
263 <goals>
264 <goal>push</goal>
265 </goals>
Tomasz Golabekb9dabed2020-02-11 09:12:09 +0100266 </execution>
Pawel8b1072c2020-02-10 13:03:38 +0100267 </executions>
268 <configuration>
Tomasz Golabek3b554792020-02-13 12:07:35 +0100269 <skipPush>${skipDockerPush}</skipPush>
270 <verbose>true</verbose>
271 <imagePullPolicy>IfNotPresent</imagePullPolicy>
Pawel8b1072c2020-02-10 13:03:38 +0100272 <images>
273 <image>
Tomasz Golabek3b554792020-02-13 12:07:35 +0100274 <alias>${project.artifactId}</alias>
275 <name>${docker-image.namespace}/${docker-image.name}
276 </name>
277 <registry>${docker-image.registry}</registry>
Pawel8b1072c2020-02-10 13:03:38 +0100278 <build>
Tomasz Golabek3b554792020-02-13 12:07:35 +0100279 <dockerFileDir>${project.basedir}</dockerFileDir>
Tomasz Golabekb9dabed2020-02-11 09:12:09 +0100280 <tags>
Tomasz Golabek3b554792020-02-13 12:07:35 +0100281 <tag>${project.version}-${maven.build.timestamp}Z</tag>
282 <tag>${project.version}</tag>
283 <tag>${docker-image.latest}</tag>
Tomasz Golabekb9dabed2020-02-11 09:12:09 +0100284 </tags>
Pawel8b1072c2020-02-10 13:03:38 +0100285 </build>
Pawel8b1072c2020-02-10 13:03:38 +0100286 </image>
287 </images>
288 </configuration>
289 </plugin>
290 </plugins>
291 </build>
292 </profile>
293 </profiles>
Tomasz Golabek3b531c02020-02-12 08:56:23 +0100294
295 <distributionManagement>
296 <repository>
297 <id>ecomp-releases</id>
298 <name>AAF Release Repository</name>
299 <url>${nexusproxy}${releaseNexusPath}</url>
300 </repository>
301 <snapshotRepository>
302 <id>ecomp-snapshots</id>
303 <name>AAF Snapshot Repository</name>
304 <url>${nexusproxy}${snapshotNexusPath}</url>
305 </snapshotRepository>
306 <site>
307 <id>ecomp-site</id>
308 <url>dav:${nexusproxy}${sitePath}</url>
309 </site>
310 </distributionManagement>
311
Pawel Kasperkiewicz50f42bd2020-02-04 14:21:29 +0100312</project>