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