Add spring developer tools
[oom/platform/cert-service.git] / certService / pom.xml
1 <?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>
19         <groupId>org.onap.aaf.certservice</groupId>
20         <artifactId>aaf-certservice</artifactId>
21         <version>1.0.0-SNAPSHOT</version>
22     </parent>
23     <artifactId>aaf-certservice-api</artifactId>
24     <version>1.0.0-SNAPSHOT</version>
25     <name>aaf-certservice-api</name>
26     <description>AAF Certification Service Api</description>
27     <packaging>jar</packaging>
28
29     <dependencies>
30         <dependency>
31             <groupId>org.springframework.boot</groupId>
32             <artifactId>spring-boot-starter-web</artifactId>
33         </dependency>
34         <dependency>
35             <groupId>org.springframework.boot</groupId>
36             <artifactId>spring-boot-starter-log4j2</artifactId>
37         </dependency>
38         <dependency>
39             <groupId>org.springframework.boot</groupId>
40             <artifactId>spring-boot-starter-test</artifactId>
41         </dependency>
42         <dependency>
43             <groupId>org.mockito</groupId>
44             <artifactId>mockito-core</artifactId>
45         </dependency>
46         <dependency>
47             <groupId>org.springframework.boot</groupId>
48             <artifactId>spring-boot-starter-actuator</artifactId>
49         </dependency>
50         <dependency>
51             <groupId>org.springdoc</groupId>
52             <artifactId>springdoc-openapi-ui</artifactId>
53         </dependency>
54         <dependency>
55             <groupId>org.bouncycastle</groupId>
56             <artifactId>bcpkix-jdk15on</artifactId>
57         </dependency>
58         <dependency>
59             <groupId>org.bouncycastle</groupId>
60             <artifactId>bcprov-jdk15on</artifactId>
61         </dependency>
62         <dependency>
63             <groupId>com.google.code.gson</groupId>
64             <artifactId>gson</artifactId>
65         </dependency>
66         <dependency>
67             <groupId>org.assertj</groupId>
68             <artifactId>assertj-core</artifactId>
69         </dependency>
70     </dependencies>
71
72     <build>
73         <plugins>
74             <plugin>
75                 <groupId>org.springframework.boot</groupId>
76                 <artifactId>spring-boot-maven-plugin</artifactId>
77                 <executions>
78                     <execution>
79                         <goals>
80                             <goal>repackage</goal>
81                         </goals>
82                     </execution>
83                     <execution>
84                         <id>pre-integration-test</id>
85                         <goals>
86                             <goal>start</goal>
87                         </goals>
88                     </execution>
89                     <execution>
90                         <id>post-integration-test</id>
91                         <goals>
92                             <goal>stop</goal>
93                         </goals>
94                     </execution>
95                 </executions>
96             </plugin>
97             <plugin>
98                 <artifactId>maven-javadoc-plugin</artifactId>
99                 <configuration>
100                     <quiet>true</quiet>
101                     <verbose>false</verbose>
102                     <useStandardDocletOptions>false</useStandardDocletOptions>
103                     <javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
104                 </configuration>
105                 <executions>
106                     <execution>
107                         <id>aggregate</id>
108                         <phase>site</phase>
109                         <goals>
110                             <goal>aggregate</goal>
111                         </goals>
112                     </execution>
113                     <execution>
114                         <id>attach-javadoc</id>
115                         <goals>
116                             <goal>jar</goal>
117                         </goals>
118                     </execution>
119                 </executions>
120             </plugin>
121             <plugin>
122                 <groupId>org.springdoc</groupId>
123                 <artifactId>springdoc-openapi-maven-plugin</artifactId>
124                 <version>${springdoc-openapi-maven-plugin.version}</version>
125                 <executions>
126                     <execution>
127                         <phase>integration-test</phase>
128                         <goals>
129                             <goal>generate</goal>
130                         </goals>
131                     </execution>
132                 </executions>
133                 <configuration>
134                     <apiDocsUrl>${springdoc-openapi-maven-plugin.apiDocsUrl}</apiDocsUrl>
135                     <outputFileName>api-docs.json</outputFileName>
136                     <outputDir>${project.build.directory}</outputDir>
137                 </configuration>
138             </plugin>
139         </plugins>
140     </build>
141
142     <profiles>
143         <profile>
144             <id>dev</id>
145             <dependencies>
146                 <dependency>
147                     <groupId>org.springframework.boot</groupId>
148                     <artifactId>spring-boot-devtools</artifactId>
149                     <optional>true</optional>
150                 </dependency>
151             </dependencies>
152         </profile>
153         <profile>
154             <id>docker-staging</id>
155             <properties>
156                 <docker.tag>${project.version}-STAGING-${maven.build.timestamp}</docker.tag>
157                 <docker.latest.tag>${project.version}-STAGING-latest</docker.latest.tag>
158             </properties>
159         </profile>
160
161         <profile>
162             <id>docker</id>
163             <activation>
164                 <activeByDefault>false</activeByDefault>
165             </activation>
166             <properties>
167                 <os.detected.name>linux</os.detected.name>
168                 <os.detected.arch>x86_64</os.detected.arch>
169                 <os.detected.classifier>${os.detected.name}-${os.detected.arch}</os.detected.classifier>
170             </properties>
171             <build>
172                 <plugins>
173                     <plugin>
174                         <groupId>io.fabric8</groupId>
175                         <artifactId>docker-maven-plugin</artifactId>
176                         <version>${docker-maven-plugin.version}</version>
177                         <executions>
178                             <execution>
179                                 <id>docker-build-image</id>
180                                 <phase>package</phase>
181                                 <goals>
182                                     <goal>build</goal>
183                                 </goals>
184                             </execution>
185                             <execution>
186                                 <id>docker-push-image</id>
187                                 <phase>deploy</phase>
188                                 <goals>
189                                     <goal>push</goal>
190                                 </goals>
191                             </execution>
192                         </executions>
193                         <configuration>
194                             <skipPush>${skipDockerPush}</skipPush>
195                             <verbose>true</verbose>
196                             <imagePullPolicy>IfNotPresent</imagePullPolicy>
197                             <images>
198                                 <image>
199                                     <alias>${project.artifactId}</alias>
200                                     <name>${docker-image.namespace}/${docker-image.name}
201                                     </name>
202                                     <registry>${docker-image.registry}</registry>
203                                     <build>
204                                         <dockerFileDir>${project.basedir}</dockerFileDir>
205                                         <tags>
206                                             <tag>${project.version}-${maven.build.timestamp}Z</tag>
207                                             <tag>${project.version}</tag>
208                                             <tag>${docker-image.latest}</tag>
209                                         </tags>
210                                     </build>
211                                 </image>
212                             </images>
213                         </configuration>
214                     </plugin>
215                 </plugins>
216             </build>
217         </profile>
218     </profiles>
219
220     <distributionManagement>
221         <repository>
222             <id>ecomp-releases</id>
223             <name>AAF Release Repository</name>
224             <url>${nexusproxy}${releaseNexusPath}</url>
225         </repository>
226         <snapshotRepository>
227             <id>ecomp-snapshots</id>
228             <name>AAF Snapshot Repository</name>
229             <url>${nexusproxy}${snapshotNexusPath}</url>
230         </snapshotRepository>
231         <site>
232             <id>ecomp-site</id>
233             <url>dav:${nexusproxy}${sitePath}</url>
234         </site>
235     </distributionManagement>
236
237 </project>