860fae10d9d5aa22fc26165d0e908aa515beb556
[nonrtric.git] / policy-agent / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * ========================LICENSE_START=================================
4  * O-RAN-SC
5  * %%
6  * Copyright (C) 2019 Nordix Foundation
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
22     xmlns="http://maven.apache.org/POM/4.0.0"
23     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
24     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
25     <modelVersion>4.0.0</modelVersion>
26     <parent>
27         <groupId>org.springframework.boot</groupId>
28         <artifactId>spring-boot-starter-parent</artifactId>
29         <version>2.1.6.RELEASE</version>
30         <relativePath />
31     </parent>
32     <groupId>org.o-ran-sc.nonrtric</groupId>
33     <artifactId>policy-agent</artifactId>
34     <version>1.0.0-SNAPSHOT</version>
35     <licenses>
36         <license>
37             <name>The Apache Software License, Version 2.0</name>
38             <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
39         </license>
40     </licenses>
41     <repositories>
42         <repository>
43             <id>onap-releases</id>
44             <name>onap-releases</name>
45             <url>https://nexus.onap.org/content/repositories/releases/</url>
46         </repository>
47     </repositories>
48     <properties>
49         <java.version>11</java.version>
50         <springfox.version>2.8.0</springfox.version>
51         <immutable.version>2.7.1</immutable.version>
52         <sdk.version>1.1.6</sdk.version>
53         <swagger.version>2.0.0</swagger.version>
54         <json.version>20180130</json.version>
55         <awaitility.version>4.0.1</awaitility.version>
56         <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
57         <formatter-maven-plugin.version>2.8.1</formatter-maven-plugin.version>
58         <spotless-maven-plugin.version>1.18.0</spotless-maven-plugin.version>
59         <docker-maven-plugin>0.30.0</docker-maven-plugin>
60     </properties>
61     <dependencies>
62         <dependency>
63             <groupId>org.springframework.boot</groupId>
64             <artifactId>spring-boot-starter-web</artifactId>
65         </dependency>
66         <dependency>
67             <groupId>org.springframework.boot</groupId>
68             <artifactId>spring-boot-starter-thymeleaf</artifactId>
69         </dependency>
70         <dependency>
71             <groupId>org.springframework.boot</groupId>
72             <artifactId>spring-boot-starter-webflux</artifactId>
73         </dependency>
74         <dependency>
75             <groupId>org.springframework.boot</groupId>
76             <artifactId>spring-boot-devtools</artifactId>
77             <optional>true</optional>
78         </dependency>
79         <dependency>
80             <groupId>org.springframework</groupId>
81             <artifactId>spring-webflux</artifactId>
82         </dependency>
83         <dependency>
84             <groupId>io.swagger.core.v3</groupId>
85             <artifactId>swagger-jaxrs2</artifactId>
86             <version>${swagger.version}</version>
87         </dependency>
88         <dependency>
89             <groupId>io.swagger.core.v3</groupId>
90             <artifactId>swagger-jaxrs2-servlet-initializer</artifactId>
91             <version>${swagger.version}</version>
92         </dependency>
93         <dependency>
94             <groupId>javax.xml.bind</groupId>
95             <artifactId>jaxb-api</artifactId>
96         </dependency>
97         <dependency>
98             <groupId>org.immutables</groupId>
99             <artifactId>value</artifactId>
100             <version>${immutable.version}</version>
101             <scope>provided</scope>
102         </dependency>
103         <dependency>
104             <groupId>org.immutables</groupId>
105             <artifactId>gson</artifactId>
106             <version>${immutable.version}</version>
107         </dependency>
108         <dependency>
109             <groupId>org.json</groupId>
110             <artifactId>json</artifactId>
111             <version>${json.version}</version>
112         </dependency>
113         <!--TEST -->
114         <dependency>
115             <groupId>org.springframework.boot</groupId>
116             <artifactId>spring-boot-starter-test</artifactId>
117             <scope>test</scope>
118         </dependency>
119         <dependency>
120             <groupId>org.springframework.boot</groupId>
121             <artifactId>spring-boot-configuration-processor</artifactId>
122             <optional>true</optional>
123         </dependency>
124         <dependency>
125             <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
126             <artifactId>cbs-client</artifactId>
127             <version>${sdk.version}</version>
128         </dependency>
129         <!--REQUIRED TO GENERATE DOCUMENTATION -->
130         <dependency>
131             <groupId>io.springfox</groupId>
132             <artifactId>springfox-swagger2</artifactId>
133             <version>${springfox.version}</version>
134         </dependency>
135         <dependency>
136             <groupId>io.springfox</groupId>
137             <artifactId>springfox-swagger-ui</artifactId>
138             <version>${springfox.version}</version>
139         </dependency>
140         <!-- TEST -->
141         <dependency>
142             <groupId>org.awaitility</groupId>
143             <artifactId>awaitility</artifactId>
144             <version>${awaitility.version}</version>
145             <scope>test</scope>
146         </dependency>
147         <dependency>
148             <groupId>io.projectreactor</groupId>
149             <artifactId>reactor-test</artifactId>
150             <scope>test</scope>
151         </dependency>
152         <dependency>
153             <groupId>org.junit.jupiter</groupId>
154             <artifactId>junit-jupiter-engine</artifactId>
155             <scope>test</scope>
156         </dependency>
157         <dependency>
158             <groupId>org.mockito</groupId>
159             <artifactId>mockito-junit-jupiter</artifactId>
160             <scope>test</scope>
161         </dependency>
162         <dependency>
163             <groupId>org.mockito</groupId>
164             <artifactId>mockito-core</artifactId>
165             <scope>test</scope>
166         </dependency>
167     </dependencies>
168     <build>
169         <plugins>
170             <plugin>
171                 <groupId>org.springframework.boot</groupId>
172                 <artifactId>spring-boot-maven-plugin</artifactId>
173             </plugin>
174             <plugin>
175                 <groupId>net.revelc.code.formatter</groupId>
176                 <artifactId>formatter-maven-plugin</artifactId>
177                 <version>${formatter-maven-plugin.version}</version>
178                 <configuration>
179                     <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
180                 </configuration>
181                 <!-- https://code.revelc.net/formatter-maven-plugin/ use
182                     mvn formatter:format spotless:apply process-sources -->
183             </plugin>
184             <plugin>
185                 <groupId>com.diffplug.spotless</groupId>
186                 <artifactId>spotless-maven-plugin</artifactId>
187                 <version>${spotless-maven-plugin.version}</version>
188                 <configuration>
189                     <java>
190                         <removeUnusedImports />
191                         <importOrder>
192                             <order>com,java,javax,org</order>
193                         </importOrder>
194                     </java>
195                 </configuration>
196                 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven
197                     use mvn spotless:apply to rewrite source files use mvn spotless:check to
198                     validate source files -->
199             </plugin>
200             <plugin>
201                 <groupId>org.apache.maven.plugins</groupId>
202                 <artifactId>maven-surefire-plugin</artifactId>
203                 <configuration>
204                     <skipTests>false</skipTests>
205                 </configuration>
206             </plugin>
207             <plugin>
208                 <artifactId>maven-failsafe-plugin</artifactId>
209             </plugin>
210             <plugin>
211                 <groupId>org.codehaus.mojo</groupId>
212                 <artifactId>build-helper-maven-plugin</artifactId>
213                 <executions>
214                     <execution>
215                         <id>add-source</id>
216                         <phase>generate-sources</phase>
217                         <goals>
218                             <goal>add-source</goal>
219                         </goals>
220                         <configuration>
221                             <sources>
222                                 <source>${project.build.directory}/generated-sources/annotations/</source>
223                             </sources>
224                         </configuration>
225                     </execution>
226                 </executions>
227             </plugin>
228             <plugin>
229                 <groupId>io.fabric8</groupId>
230                 <artifactId>docker-maven-plugin</artifactId>
231                 <version>${docker-maven-plugin}</version>
232                 <inherited>false</inherited>
233                 <executions>
234                     <execution>
235                         <id>generate-policy-agent-image</id>
236                         <phase>package</phase>
237                         <goals>
238                             <goal>build</goal>
239                         </goals>
240                         <configuration>
241                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
242                             <images>
243                                 <image>
244                                     <name>o-ran-sc/nonrtric-policy-agent:${project.version}</name>
245                                     <build>
246                                         <cleanup>try</cleanup>
247                                         <contextDir>${basedir}</contextDir>
248                                         <dockerFile>Dockerfile</dockerFile>
249                                         <args>
250                                             <JAR>${project.build.finalName}.jar</JAR>
251                                         </args>
252                                         <tags>
253                                             <tag>${project.version}</tag>
254                                         </tags>
255                                     </build>
256                                 </image>
257                             </images>
258                         </configuration>
259                     </execution>
260                     <execution>
261                         <id>push-policy-agent-image</id>
262                         <goals>
263                             <goal>build</goal>
264                             <goal>push</goal>
265                         </goals>
266                         <configuration>
267                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
268                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
269                             <images>
270                                 <image>
271                                     <name>o-ran-sc/nonrtric-policy-agent:${project.version}</name>
272                                     <build>
273                                         <contextDir>${basedir}</contextDir>
274                                         <dockerFile>Dockerfile</dockerFile>
275                                         <args>
276                                             <JAR>${project.build.finalName}.jar</JAR>
277                                         </args>
278                                         <tags>
279                                             <tag>${project.version}</tag>
280                                         </tags>
281                                     </build>
282                                 </image>
283                             </images>
284                         </configuration>
285                     </execution>
286                 </executions>
287             </plugin>
288         </plugins>
289     </build>
290     <issueManagement>
291         <system>JIRA</system>
292         <url>https://jira.o-ran-sc.org/</url>
293     </issueManagement>
294 </project>