Add second control loop name, Change restclient to support SSL
[dcaegen2/services/son-handler.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- 
3 /*******************************************************************************
4  *  ============LICENSE_START=======================================================
5  *  son-handler
6  *  ================================================================================
7  *   Copyright (C) 2019 Wipro Limited.
8  *   ==============================================================================
9  *     Licensed under the Apache License, Version 2.0 (the "License");
10  *     you may not use this file except in compliance with the License.
11  *     You may obtain a copy of the License at
12  *  
13  *          http://www.apache.org/licenses/LICENSE-2.0
14  *  
15  *     Unless required by applicable law or agreed to in writing, software
16  *     distributed under the License is distributed on an "AS IS" BASIS,
17  *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  *     See the License for the specific language governing permissions and
19  *     limitations under the License.
20  *     ============LICENSE_END=========================================================
21  *  
22  *******************************************************************************/
23   -->
24 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
26         <modelVersion>4.0.0</modelVersion>
27         <groupId>org.onap.dcaegen2.services.son-handler</groupId>
28         <artifactId>son-handler</artifactId>
29         <name>dcaegen2-services-son-handler</name>
30         <version>1.0.3-SNAPSHOT</version>
31
32         <!--parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> 
33                 <version>2.0.4.RELEASE</version> </parent -->
34
35         <parent>
36                 <groupId>org.onap.oparent</groupId>
37                 <artifactId>oparent</artifactId>
38                 <version>1.2.1</version>
39                 <relativePath />
40         </parent>
41
42
43         <properties>
44                 <sdk.version>1.1.4</sdk.version>
45                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
46                 <maven.compiler.source>1.8</maven.compiler.source>
47                 <maven.compiler.target>1.8</maven.compiler.target>
48                 <docker.image.name>onap/org.onap.dcaegen2.services.son-handler</docker.image.name>
49                 <!-- NEXUS RELATED SETTINGS -->
50                 <nexusproxy>https://nexus.onap.org</nexusproxy>
51                 <snapshots.path>content/repositories/snapshots/</snapshots.path>
52                 <releases.path>content/repositories/releases/</releases.path>
53                 <site.path>content/sites/site/org/onap/dcaegen2/services/son-handler/${project.artifactId}/${project.version}</site.path>
54                 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
55         </properties>
56
57         <dependencies>
58                 <!-- cbs client -->
59                 <dependency>
60                         <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
61                         <artifactId>cbs-client</artifactId>
62                         <version>${sdk.version}</version>
63                 </dependency>
64
65                 <dependency>
66                         <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId>
67                         <artifactId>crypt-password</artifactId>
68                         <version>${sdk.version}</version>
69                 </dependency>
70                 <dependency>
71                         <!-- Import dependency management from Spring Boot -->
72                         <groupId>org.springframework.boot</groupId>
73                         <artifactId>spring-boot-dependencies</artifactId>
74                         <version>2.0.4.RELEASE</version>
75                         <type>pom</type>
76                         <scope>import</scope>
77                 </dependency>
78                 <dependency>
79                         <groupId>com.att.nsa</groupId>
80                         <artifactId>cambriaClient</artifactId>
81                         <version>0.0.1</version>
82                 </dependency>
83                 <dependency>
84                         <groupId>junit</groupId>
85                         <artifactId>junit</artifactId>
86                         <scope>test</scope>
87                 </dependency>
88                 <dependency>
89                         <groupId>com.fasterxml.jackson.core</groupId>
90                         <artifactId>jackson-core</artifactId>
91                         <version>2.9.8</version>
92                 </dependency>
93                 <dependency>
94                         <groupId>com.fasterxml.jackson.core</groupId>
95                         <artifactId>jackson-databind</artifactId>
96                         <version>2.9.8</version>
97                 </dependency>
98                 <!-- https://mvnrepository.com/artifact/javax.json/javax.json-api -->
99                 <dependency>
100                         <groupId>javax.json</groupId>
101                         <artifactId>javax.json-api</artifactId>
102                         <version>1.1.2</version>
103                 </dependency>
104                 <dependency>
105                         <groupId>org.springframework.boot</groupId>
106                         <artifactId>spring-boot-starter-web</artifactId>
107                         <version>2.0.4.RELEASE</version>
108                 </dependency>
109                 <dependency>
110                         <groupId>org.postgresql</groupId>
111                         <artifactId>postgresql</artifactId>
112                         <version>42.2.5</version>
113                 </dependency>
114                 <dependency>
115                         <groupId>org.springframework.boot</groupId>
116                         <artifactId>spring-boot-starter-data-jpa</artifactId>
117                         <version>2.0.9.RELEASE</version>
118                 </dependency>
119                 <dependency>
120                         <groupId>org.springframework.data</groupId>
121                         <artifactId>spring-data-commons-core</artifactId>
122                         <version>1.4.0.RELEASE</version>
123                 </dependency>
124
125                 <dependency>
126                         <groupId>org.hibernate.javax.persistence</groupId>
127                         <artifactId>hibernate-jpa-2.0-api</artifactId>
128                         <version>1.0.1.Final</version>
129                 </dependency>
130                 <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
131                 <dependency>
132                         <groupId>org.springframework</groupId>
133                         <artifactId>spring-beans</artifactId>
134                         <version>5.0.10.RELEASE</version>
135                 </dependency>
136
137                 <dependency>
138                         <groupId>org.springframework.boot</groupId>
139                         <artifactId>spring-boot-starter-test</artifactId>
140                         <version>2.0.4.RELEASE</version>
141                         <scope>test</scope>
142                         <!-- exclusions> <exclusion> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> 
143                                 </exclusion> </exclusions -->
144                 </dependency>
145                 <!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
146
147                 <dependency>
148                         <groupId>org.mockito</groupId>
149                         <artifactId>mockito-core</artifactId>
150                         <version>1.10.16</version>
151                         <scope>test</scope>
152                 </dependency>
153
154
155                 <dependency>
156                         <groupId>junit</groupId>
157                         <artifactId>junit</artifactId>
158                         <version>4.12</version>
159                         <scope>test</scope>
160                 </dependency>
161                 <!-- https://mvnrepository.com/artifact/org.powermock/powermock-module-junit4 -->
162                 <!-- https://mvnrepository.com/artifact/org.powermock/powermock-api-mockito -->
163                 <dependency>
164                         <groupId>org.powermock</groupId>
165                         <artifactId>powermock-api-mockito</artifactId>
166                         <version>1.6.4</version>
167                         <scope>test</scope>
168                 </dependency>
169                 <!-- https://mvnrepository.com/artifact/org.powermock/powermock-module-junit4 -->
170                 <dependency>
171                         <groupId>org.powermock</groupId>
172                         <artifactId>powermock-module-junit4</artifactId>
173                         <version>1.6.4</version>
174                         <scope>test</scope>
175                 </dependency>
176
177                 <dependency>
178                         <groupId>org.functionaljava</groupId>
179                         <artifactId>functionaljava</artifactId>
180                         <version>3.0</version>
181                 </dependency>
182
183
184         </dependencies>
185
186         <build>
187                 <plugins>
188                         <plugin>
189                                 <artifactId>maven-checkstyle-plugin</artifactId>
190                                 <executions>
191                                         <execution>
192                                                 <id>onap-java-style</id>
193                                                 <goals>
194                                                         <goal>check</goal>
195                                                 </goals>
196                                                 <phase>process-sources</phase>
197                                                 <configuration>
198                                                         <!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml 
199                                                                 with minor changes -->
200                                                         <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
201                                                         <!-- <sourceDirectory> is needed so that checkstyle ignores the generated 
202                                                                 sources directory -->
203                                                         <sourceDirectories>
204                                                                 <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
205                                                         </sourceDirectories>
206                                                         <includeResources>true</includeResources>
207                                                         <includeTestSourceDirectory>false</includeTestSourceDirectory>
208                                                         <includeTestResources>false</includeTestResources>
209                                                         <excludes>
210                                                         </excludes>
211                                                         <consoleOutput>true</consoleOutput>
212                                                         <failsOnViolation>false</failsOnViolation>
213                                                         <violationSeverity>warning</violationSeverity>
214                                                 </configuration>
215                                         </execution>
216                                 </executions>
217                                 <dependencies>
218                                         <dependency>
219                                                 <groupId>org.onap.oparent</groupId>
220                                                 <artifactId>checkstyle</artifactId>
221                                                 <version>1.2.3</version>
222                                                 <scope>compile</scope>
223                                         </dependency>
224                                 </dependencies>
225                         </plugin>
226                         <!--plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> 
227                                 <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> 
228                                 <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> 
229                                 <versionRange>2.17,)</versionRange> <goals> <goal>check</goal> </goals> </pluginExecutionFilter> 
230                                 <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> 
231                                 </configuration> </plugin -->
232                         <plugin>
233                                 <groupId>org.springframework.boot</groupId>
234                                 <artifactId>spring-boot-maven-plugin</artifactId>
235                                 <version>2.0.4.RELEASE</version>
236                                 <executions>
237                                         <execution>
238                                                 <goals>
239                                                         <goal>repackage</goal>
240                                                 </goals>
241                                         </execution>
242                                 </executions>
243                         </plugin>
244                         <plugin>
245                                 <groupId>com.spotify</groupId>
246                                 <artifactId>docker-maven-plugin</artifactId>
247                                 <configuration>
248                                         <serverId>${onap.nexus.dockerregistry.daily}</serverId>
249
250                                         <imageName>${docker.image.name}</imageName>
251                                         <imageTags>
252                                                 <tag>latest</tag>
253                                         </imageTags>
254                                         <baseImage>java:openjdk-8</baseImage>
255                                         <user>sonhms</user>
256                                         <resources>
257                                                 <resource>
258                                                         <targetPath>/bin</targetPath>
259                                                         <directory>${project.build.directory}</directory>
260                                                         <include>${project.artifactId}-${project.version}.jar</include>
261                                                 </resource>
262                                                 <resource>
263                                                         <targetPath>/bin</targetPath>
264                                                         <directory>${project.basedir}</directory>
265                                                         <include>entrypoint.sh</include>
266                                                 </resource>
267                                         </resources>
268                                         <runs>
269                                                 <!-- Maven is loosing file permissions during artifacts copy -->
270                                             <run>adduser --disabled-password sonhms </run>
271                                                 <run>chmod +x /bin/entrypoint.sh</run>
272                                                 <run>mv /bin/*.jar /bin/application.jar</run>
273                                                 <run>chmod -R 777 /bin</run>
274                                         </runs>
275                                         <exposes>
276                                                 <expose>8080</expose>
277                                         </exposes>
278                                         <entryPoint>/bin/entrypoint.sh</entryPoint>
279                                 </configuration>
280                                 <executions>
281                                         <execution>
282                                                 <id>build-image</id>
283                                                 <phase>package</phase>
284                                                 <goals>
285                                                         <goal>build</goal>
286                                                 </goals>
287                                         </execution>
288                                         <execution>
289                                                 <id>tag-and-push-image-latest</id>
290                                                 <phase>deploy</phase>
291                                                 <goals>
292                                                         <goal>tag</goal>
293                                                 </goals>
294                                                 <configuration>
295                                                         <image>${docker.image.name}:latest</image>
296                                                         <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:latest</newName>
297                                                         <pushImage>true</pushImage>
298                                                 </configuration>
299                                         </execution>
300                                         <execution>
301                                                 <id>tag-and-push-image-with-version</id>
302                                                 <phase>deploy</phase>
303                                                 <goals>
304                                                         <goal>tag</goal>
305                                                 </goals>
306                                                 <configuration>
307                                                         <image>${docker.image.name}:latest</image>
308                                                         <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}</newName>
309                                                         <pushImage>true</pushImage>
310                                                 </configuration>
311                                         </execution>
312                                         <execution>
313                                                 <id>tag-and-push-image-with-version-and-date</id>
314                                                 <phase>deploy</phase>
315                                                 <goals>
316                                                         <goal>tag</goal>
317                                                 </goals>
318                                                 <configuration>
319                                                         <image>${docker.image.name}:latest</image>
320                                                         <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}-${maven.build.timestamp}Z</newName>
321                                                         <pushImage>true</pushImage>
322                                                 </configuration>
323                                         </execution>
324                                 </executions>
325                         </plugin>
326                 </plugins>
327         </build>
328 </project>
329
330