bb6cdb7488648c4749a6130a3d1c3b273e74006c
[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>io.springfox</groupId>
95             <artifactId>springfox-swagger-ui</artifactId>
96             <version>2.9.2</version>
97         </dependency>
98         <dependency>
99             <groupId>javax.xml.bind</groupId>
100             <artifactId>jaxb-api</artifactId>
101         </dependency>
102         <dependency>
103             <groupId>org.immutables</groupId>
104             <artifactId>value</artifactId>
105             <version>${immutable.version}</version>
106             <scope>provided</scope>
107         </dependency>
108         <dependency>
109             <groupId>org.immutables</groupId>
110             <artifactId>gson</artifactId>
111             <version>${immutable.version}</version>
112         </dependency>
113         <dependency>
114             <groupId>org.json</groupId>
115             <artifactId>json</artifactId>
116             <version>${json.version}</version>
117         </dependency>
118         <!--TEST -->
119         <dependency>
120             <groupId>org.springframework.boot</groupId>
121             <artifactId>spring-boot-starter-test</artifactId>
122             <scope>test</scope>
123         </dependency>
124         <dependency>
125             <groupId>org.springframework.boot</groupId>
126             <artifactId>spring-boot-configuration-processor</artifactId>
127             <optional>true</optional>
128         </dependency>
129         <dependency>
130             <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
131             <artifactId>cbs-client</artifactId>
132             <version>${sdk.version}</version>
133         </dependency>
134         <!--REQUIRED TO GENERATE DOCUMENTATION -->
135         <dependency>
136             <groupId>io.springfox</groupId>
137             <artifactId>springfox-swagger2</artifactId>
138             <version>${springfox.version}</version>
139         </dependency>
140         <dependency>
141             <groupId>io.springfox</groupId>
142             <artifactId>springfox-swagger-ui</artifactId>
143             <version>${springfox.version}</version>
144         </dependency>
145         <!-- TEST -->
146         <dependency>
147             <groupId>org.awaitility</groupId>
148             <artifactId>awaitility</artifactId>
149             <version>${awaitility.version}</version>
150             <scope>test</scope>
151         </dependency>
152         <dependency>
153             <groupId>io.projectreactor</groupId>
154             <artifactId>reactor-test</artifactId>
155             <scope>test</scope>
156         </dependency>
157         <dependency>
158             <groupId>org.junit.jupiter</groupId>
159             <artifactId>junit-jupiter-engine</artifactId>
160             <scope>test</scope>
161         </dependency>
162         <dependency>
163             <groupId>org.mockito</groupId>
164             <artifactId>mockito-junit-jupiter</artifactId>
165             <scope>test</scope>
166         </dependency>
167         <dependency>
168             <groupId>org.mockito</groupId>
169             <artifactId>mockito-core</artifactId>
170             <scope>test</scope>
171         </dependency>
172     </dependencies>
173     <build>
174         <plugins>
175             <plugin>
176                 <groupId>org.springframework.boot</groupId>
177                 <artifactId>spring-boot-maven-plugin</artifactId>
178             </plugin>
179             <plugin>
180                 <groupId>net.revelc.code.formatter</groupId>
181                 <artifactId>formatter-maven-plugin</artifactId>
182                 <version>${formatter-maven-plugin.version}</version>
183                 <configuration>
184                     <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
185                 </configuration>
186                 <!-- https://code.revelc.net/formatter-maven-plugin/ use
187                     mvn formatter:format spotless:apply process-sources -->
188             </plugin>
189             <plugin>
190                 <groupId>com.diffplug.spotless</groupId>
191                 <artifactId>spotless-maven-plugin</artifactId>
192                 <version>${spotless-maven-plugin.version}</version>
193                 <configuration>
194                     <java>
195                         <removeUnusedImports />
196                         <importOrder>
197                             <order>com,java,javax,org</order>
198                         </importOrder>
199                     </java>
200                 </configuration>
201                 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven
202                     use mvn spotless:apply to rewrite source files use mvn spotless:check to
203                     validate source files -->
204             </plugin>
205             <plugin>
206                 <groupId>org.apache.maven.plugins</groupId>
207                 <artifactId>maven-surefire-plugin</artifactId>
208                 <configuration>
209                     <skipTests>false</skipTests>
210                 </configuration>
211             </plugin>
212             <plugin>
213                 <artifactId>maven-failsafe-plugin</artifactId>
214             </plugin>
215             <plugin>
216                 <groupId>org.codehaus.mojo</groupId>
217                 <artifactId>build-helper-maven-plugin</artifactId>
218                 <executions>
219                     <execution>
220                         <id>add-source</id>
221                         <phase>generate-sources</phase>
222                         <goals>
223                             <goal>add-source</goal>
224                         </goals>
225                         <configuration>
226                             <sources>
227                                 <source>${project.build.directory}/generated-sources/annotations/</source>
228                             </sources>
229                         </configuration>
230                     </execution>
231                 </executions>
232             </plugin>
233             <plugin>
234                 <groupId>io.fabric8</groupId>
235                 <artifactId>docker-maven-plugin</artifactId>
236                 <version>${docker-maven-plugin}</version>
237                 <inherited>false</inherited>
238                 <executions>
239                     <execution>
240                         <id>generate-policy-agent-image</id>
241                         <phase>package</phase>
242                         <goals>
243                             <goal>build</goal>
244                         </goals>
245                         <configuration>
246                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
247                             <images>
248                                 <image>
249                                     <name>o-ran-sc/policy-agent:${project.version}</name>
250                                     <build>
251                                         <cleanup>try</cleanup>
252                                         <contextDir>${basedir}</contextDir>
253                                         <dockerFile>Dockerfile</dockerFile>
254                                         <tags>
255                                             <tag>${project.version}</tag>
256                                         </tags>
257                                     </build>
258                                 </image>
259                             </images>
260                         </configuration>
261                     </execution>
262                     <execution>
263                         <id>push-policy-agent-image</id>
264                         <goals>
265                             <goal>build</goal>
266                             <goal>push</goal>
267                         </goals>
268                         <configuration>
269                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
270                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
271                             <images>
272                                 <image>
273                                     <name>o-ran-sc/policy-agent:${project.version}</name>
274                                     <build>
275                                         <contextDir>${basedir}</contextDir>
276                                         <dockerFile>Dockerfile</dockerFile>
277                                         <tags>
278                                             <tag>${project.version}</tag>
279                                         </tags>
280                                     </build>
281                                 </image>
282                             </images>
283                         </configuration>
284                     </execution>
285                 </executions>
286             </plugin>
287         </plugins>
288     </build>
289     <issueManagement>
290         <system>JIRA</system>
291         <url>https://jira.o-ran-sc.org/</url>
292     </issueManagement>
293 </project>