00f574855f8d5ee8d575896121e41ce080f09c2b
[portal/nonrtric-controlpanel.git] / nonrtric-gateway / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 * ========================LICENSE_START=================================
4 * O-RAN-SC
5 * %%
6 * Copyright (C) 2021 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 xmlns="http://maven.apache.org/POM/4.0.0"
22  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
24  <modelVersion>4.0.0</modelVersion>
25  <parent>
26   <groupId>org.springframework.boot</groupId>
27   <artifactId>spring-boot-starter-parent</artifactId>
28   <version>2.4.1</version>
29   <relativePath /> <!-- lookup parent from repository -->
30  </parent>
31  <groupId>org.o-ran-sc.nonrtric</groupId>
32  <artifactId>nonrtric-gateway</artifactId>
33  <version>1.0.0-SNAPSHOT</version>
34  <name>Nonrtric Gateway</name>
35  <description>Nonrtric Gateway</description>
36
37  <properties>
38   <java.version>11</java.version>
39   <spring-cloud.version>2020.0.0</spring-cloud.version>
40   <formatter-maven-plugin.version>2.13.0</formatter-maven-plugin.version>
41   <spotless-maven-plugin.version>2.5.0</spotless-maven-plugin.version>
42   <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
43  </properties>
44
45  <dependencies>
46   <dependency>
47    <groupId>org.springframework.cloud</groupId>
48    <artifactId>spring-cloud-starter-gateway</artifactId>
49   </dependency>
50
51   <dependency>
52    <groupId>org.springframework.boot</groupId>
53    <artifactId>spring-boot-starter-test</artifactId>
54    <scope>test</scope>
55   </dependency>
56   <dependency>
57    <groupId>org.springframework.boot</groupId>
58    <artifactId>spring-boot-starter-actuator</artifactId>
59    <scope>runtime</scope>
60   </dependency>
61  </dependencies>
62
63  <dependencyManagement>
64   <dependencies>
65    <dependency>
66     <groupId>org.springframework.cloud</groupId>
67     <artifactId>spring-cloud-dependencies</artifactId>
68     <version>${spring-cloud.version}</version>
69     <type>pom</type>
70     <scope>import</scope>
71    </dependency>
72   </dependencies>
73  </dependencyManagement>
74
75  <build>
76   <plugins>
77    <plugin>
78     <groupId>org.springframework.boot</groupId>
79     <artifactId>spring-boot-maven-plugin</artifactId>
80    </plugin>
81    <plugin>
82     <groupId>net.revelc.code.formatter</groupId>
83     <artifactId>formatter-maven-plugin</artifactId>
84     <version>${formatter-maven-plugin.version}</version>
85     <configuration>
86      <lineEnding>LF</lineEnding>
87      <configFile>${project.basedir}/eclipse-formatter.xml</configFile>
88     </configuration>
89     <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format 
90      spotless:apply process-sources -->
91    </plugin>
92    <plugin>
93     <groupId>com.diffplug.spotless</groupId>
94     <artifactId>spotless-maven-plugin</artifactId>
95     <version>${spotless-maven-plugin.version}</version>
96     <configuration>
97      <lineEndings>UNIX</lineEndings>
98      <java>
99       <removeUnusedImports />
100       <importOrder>
101        <order>com,java,javax,org</order>
102       </importOrder>
103      </java>
104     </configuration>
105     <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use 
106      mvn spotless:apply to rewrite source files use mvn spotless:check to validate 
107      source files -->
108    </plugin>
109   </plugins>
110  </build>
111  <profiles>
112   <profile>
113    <id>docker</id>
114    <build>
115     <plugins>
116      <plugin>
117       <groupId>io.fabric8</groupId>
118       <artifactId>docker-maven-plugin</artifactId>
119       <version>${docker-maven-plugin.version}</version>
120       <inherited>false</inherited>
121       <executions>
122        <execution>
123         <id>generate-nonrtric-gateway-image</id>
124         <phase>package</phase>
125         <goals>
126          <goal>build</goal>
127         </goals>
128         <configuration>
129          <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
130          <images>
131           <image>
132            <name>o-ran-sc/nonrtric-gateway:${project.version}</name>
133            <build>
134             <cleanup>try</cleanup>
135             <contextDir>${basedir}</contextDir>
136             <dockerFile>Dockerfile</dockerFile>
137             <args>
138              <JAR>${project.build.finalName}.jar</JAR>
139             </args>
140             <tags>
141              <tag>${project.version}</tag>
142             </tags>
143            </build>
144           </image>
145          </images>
146         </configuration>
147        </execution>
148        <execution>
149         <id>push-nonrtric-gateway-image</id>
150         <goals>
151          <goal>build</goal>
152          <goal>push</goal>
153         </goals>
154         <configuration>
155          <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
156          <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
157          <images>
158           <image>
159            <name>o-ran-sc/nonrtric-gateway:${project.version}</name>
160            <build>
161             <contextDir>${basedir}</contextDir>
162             <dockerFile>Dockerfile</dockerFile>
163             <args>
164              <JAR>${project.build.finalName}.jar</JAR>
165             </args>
166             <tags>
167              <tag>${project.version}</tag>
168              <tag>latest</tag>
169             </tags>
170            </build>
171           </image>
172          </images>
173         </configuration>
174        </execution>
175       </executions>
176      </plugin>
177     </plugins>
178    </build>
179   </profile>
180  </profiles>
181 </project>