Merge "Patches to known issues"
[federation.git] / gateway / pom.xml
1 <?xml version="1.0"?>
2 <!--
3 ===============LICENSE_START=======================================================
4 Acumos Apache-2.0
5 ===================================================================================
6 Copyright (C) 2017 AT&T Intellectual Property & Tech Mahindra. All rights reserved.
7 ===================================================================================
8 This Acumos software file is distributed by AT&T and Tech Mahindra
9 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 This file 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         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
23         xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
24         <modelVersion>4.0.0</modelVersion>
25         <groupId>org.acumos.federation</groupId>
26         <artifactId>gateway</artifactId>
27         <version>1.1.3-SNAPSHOT</version>
28         <name>Federation Gateway</name>
29         <description>Federated Acumos Interface for inter-acumos and ONAP communication</description>
30
31         <parent>
32                 <groupId>org.springframework.boot</groupId>
33                 <artifactId>spring-boot-starter-parent</artifactId>
34                 <version>1.5.10.RELEASE</version>
35                 <!-- silence warning about parent relative path -->
36                 <relativePath />
37         </parent>
38
39         <properties>
40                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
41                 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
42                 <!-- Stand-alone RESTFul application -->
43                 <start-class>org.acumos.federation.gateway.Application</start-class>
44                 <!-- Jenkins invokes mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
45                 <build.number>0</build.number>
46                 <skipTests>false</skipTests>
47                 <!-- dependencies versions -->
48                 <slf4j.version>1.7.25</slf4j.version>
49                 <logback.version>1.2.3</logback.version>
50                 <spring.boot.devtools.version>1.5.8.RELEASE</spring.boot.devtools.version>
51                 <spring.boot.starter.web.version>1.5.8.RELEASE</spring.boot.starter.web.version>
52                 <spring.boot.starter.security.version>1.5.8.RELEASE</spring.boot.starter.security.version>
53                 <spring.boot.starter.test.version>1.5.8.RELEASE</spring.boot.starter.test.version>
54                 <spring.boot.configuration.processor.version>1.5.8.RELEASE</spring.boot.configuration.processor.version>
55                 <!-- Not supplied to all jobs; e.g., Javadoc -->
56                 <docker.pull.registry>nexus3.acumos.org:10001</docker.pull.registry>
57                 <!-- Supplied by Jenkins -->
58                 <docker.push.registry>${env.NEXUS3_PUSH_REGISTRY}</docker.push.registry>
59                 <maven.build.timestamp.format>yyyy.MM.dd_HH.mm</maven.build.timestamp.format>
60         </properties>
61
62         <!-- Some dependencies are specific to Acumos, but this POM defines no repositories 
63                 section. The Jenkins server specifies Acumos repositories. Developers should 
64                 ensure their ~/.m2/settings.xml file has the following URLs in both the repositories 
65                 and pluginRepositories sections or in a profile: https://nexus.acumos.org/content/repositories/snapshots/ 
66                 https://nexus.acumos.org/content/repositories/releases/ -->
67
68         <dependencies>
69                 <dependency>
70                         <groupId>org.acumos.acumos-nexus-client</groupId>
71                         <artifactId>acumos-nexus-client</artifactId>
72                         <version>2.0.0</version>
73                 </dependency>
74                 <dependency>
75                         <groupId>org.acumos.common-dataservice</groupId>
76                         <artifactId>cmn-data-svc-client</artifactId>
77                         <version>1.14.4</version>
78                 </dependency>
79                 <dependency>
80                         <groupId>org.json</groupId>
81                         <artifactId>json</artifactId>
82                         <version>20160212</version>
83                 </dependency>
84                 <dependency>
85                         <groupId>org.slf4j</groupId>
86                         <artifactId>slf4j-api</artifactId>
87                         <!-- spring sets the <version>${slf4j.version}</version> -->
88                 </dependency>
89                 <dependency>
90                         <groupId>ch.qos.logback</groupId>
91                         <artifactId>logback-classic</artifactId>
92                         <!-- spring sets the <version>${logback.version}</version> -->
93                 </dependency>
94                 <dependency>
95                         <groupId>ch.qos.logback</groupId>
96                         <artifactId>logback-core</artifactId>
97                         <!-- spring sets the <version>${logback.version}</version> -->
98                 </dependency>
99                 <dependency>
100                         <groupId>org.springframework.boot</groupId>
101                         <artifactId>spring-boot-starter-security</artifactId>
102                         <!-- spring sets the ${spring.boot.starter.security.version}</version> -->
103                 </dependency>
104                 <dependency>
105                         <groupId>org.springframework.boot</groupId>
106                         <artifactId>spring-boot-starter-web</artifactId>
107                         <!-- spring sets the <version>${spring.boot.starter.web.version}</version> -->
108                 </dependency>
109                 <dependency>
110                         <groupId>org.springframework.boot</groupId>
111                         <artifactId>spring-boot-configuration-processor</artifactId>
112                         <!-- spring sets the <version>${spring.boot.configuration.processor.version}</version> -->
113                         <optional>true</optional>
114                 </dependency>
115                 <dependency>
116                         <groupId>org.apache.httpcomponents</groupId>
117                         <artifactId>httpclient</artifactId>
118                         <!-- spring sets the <version>4.5</version> -->
119                 </dependency>
120                 <dependency>
121                         <groupId>org.springframework.shell</groupId>
122                         <artifactId>spring-shell</artifactId>
123                         <version>1.2.0.RELEASE</version>
124                 </dependency>
125                 <dependency>
126                         <groupId>io.springfox</groupId>
127                         <artifactId>springfox-swagger2</artifactId>
128                         <version>2.6.1</version>
129                 </dependency>
130                 <dependency>
131                         <groupId>io.springfox</groupId>
132                         <artifactId>springfox-swagger-ui</artifactId>
133                         <version>2.6.1</version>
134                 </dependency>
135                 <dependency>
136                         <groupId>com.att.eelf</groupId>
137                         <artifactId>eelf-core</artifactId>
138                         <version>1.0.0</version>
139                 </dependency>
140                 <dependency>
141                         <groupId>javax.inject</groupId>
142                         <artifactId>javax.inject</artifactId>
143                         <version>1</version>
144                 </dependency>
145                 <dependency>
146                         <groupId>io.jsonwebtoken</groupId>
147                         <artifactId>jjwt</artifactId>
148                         <version>0.6.0</version>
149                 </dependency>
150                 <dependency>
151                         <groupId>org.python</groupId>
152                         <artifactId>jython-standalone</artifactId>
153                         <version>2.7.1-rc3</version>
154                 </dependency>
155                 <dependency>
156                         <groupId>junit</groupId>
157                         <artifactId>junit</artifactId>
158                         <!-- spring sets the <version>3.8.1</version> -->
159                         <scope>test</scope>
160                 </dependency>
161                 <dependency>
162                         <groupId>commons-cli</groupId>
163                         <artifactId>commons-cli</artifactId>
164                         <version>1.2</version>
165                 </dependency>
166                 <dependency>
167                         <groupId>org.apache.commons</groupId>
168                         <artifactId>commons-lang3</artifactId>
169                         <version>3.6</version>
170                 </dependency>
171                 <dependency>
172                         <groupId>com.github.docker-java</groupId>
173                         <artifactId>docker-java</artifactId>
174                         <version>3.0.14</version>
175                 </dependency>
176                 <dependency>
177                         <groupId>org.aspectj</groupId>
178                         <artifactId>aspectjweaver</artifactId>
179                         <version>1.8.13</version>
180                 </dependency>
181                 <dependency>
182                         <groupId>org.assertj</groupId>
183                         <artifactId>assertj-core</artifactId>
184                         <!-- spring sets the <version>3.8.0</version> -->
185                         <scope>test</scope>
186                 </dependency>
187                 <dependency>
188                         <groupId>org.springframework.boot</groupId>
189                         <artifactId>spring-boot-starter-test</artifactId>
190                         <!-- spring sets the <version>1.5.3.RELEASE</version> -->
191                         <scope>test</scope>
192                 </dependency>
193         </dependencies>
194
195         <build>
196                 <plugins>
197                         <plugin>
198                                 <groupId>org.apache.maven.plugins</groupId>
199                                 <artifactId>maven-compiler-plugin</artifactId>
200                                 <!-- spring sets the <version>3.0</version> -->
201                                 <configuration>
202                                         <source>1.8</source>
203                                         <target>1.8</target>
204                                 </configuration>
205                         </plugin>
206                         <!-- Add the build number to the jar manifest. Spring-Boot uses a complex 
207                                 packaging process that makes access to the original Manifest.MF very difficult. 
208                                 However, Java provides access to the implementation version for a package, 
209                                 so cram the build number into there. -->
210                         <plugin>
211                                 <groupId>org.apache.maven.plugins</groupId>
212                                 <artifactId>maven-jar-plugin</artifactId>
213                                 <configuration>
214                                         <archive>
215                                                 <manifest>
216                                                         <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
217                                                 </manifest>
218                                                 <manifestEntries>
219                                                         <Implementation-Version>${project.version}-b${build.number}</Implementation-Version>
220                                                 </manifestEntries>
221                                         </archive>
222                                 </configuration>
223                                 <executions>
224                                         <execution>
225                                                 <goals>
226                                                         <goal>test-jar</goal>
227                                                 </goals>
228                                         </execution>
229                                 </executions>
230                         </plugin>
231                         <plugin>
232                                 <groupId>org.springframework.boot</groupId>
233                                 <artifactId>spring-boot-maven-plugin</artifactId>
234                                 <executions>
235                                         <execution>
236                                                 <goals>
237                                                         <goal>repackage</goal>
238                                                 </goals>
239                                         </execution>
240                                 </executions>
241                         </plugin>
242                         <plugin>
243                                 <groupId>org.apache.maven.plugins</groupId>
244                                 <artifactId>maven-dependency-plugin</artifactId>
245                                 <version>2.10</version>
246                                 <executions>
247                                         <execution>
248                                                 <id>copy-dependencies</id>
249                                                 <phase>package</phase>
250                                                 <goals>
251                                                         <goal>copy-dependencies</goal>
252                                                 </goals>
253                                                 <configuration>
254                                                         <outputDirectory>${project.build.directory}/deps</outputDirectory>
255                                                         <overWriteReleases>true</overWriteReleases>
256                                                         <overWriteSnapshots>true</overWriteSnapshots>
257                                                         <overWriteIfNewer>true</overWriteIfNewer>
258                                                 </configuration>
259                                         </execution>
260                                 </executions>
261                         </plugin>
262                         <!-- No need to deploy Spring super-boot -->
263                         <plugin>
264                                 <groupId>org.apache.maven.plugins</groupId>
265                                 <artifactId>maven-deploy-plugin</artifactId>
266                                 <!-- Spring sets the <version>2.8</version> -->
267                                 <configuration>
268                                         <skip>true</skip>
269                                 </configuration>
270                         </plugin>
271                         <plugin>
272                                 <groupId>io.fabric8</groupId>
273                                 <artifactId>docker-maven-plugin</artifactId>
274                                 <version>0.23.0</version>
275                                 <configuration>
276                                         <verbose>true</verbose>
277                                         <dockerHost>${docker.host.url}</dockerHost>
278                                         <registry>${docker.registry.url}</registry>
279                                         <authConfig>
280                                                 <username>${docker.registry.login}</username>
281                                                 <password>${docker.registry.password}</password>
282                                         </authConfig>
283                                         <images>
284                                                 <image>
285                                                         <!-- Specify a tag to avoid default tag "latest" -->
286                                                         <name>federation-gateway:${project.version}</name>
287                                                         <build>
288                                                                 <from>frolvlad/alpine-oraclejdk8:slim</from>
289                                                                 <tags>
290                                                                         <!-- Add tag with build number -->
291                                                                         <tag>${project.version}-b${build.number}</tag>
292                                                                 </tags>
293                                                                 <assembly>
294                                                                         <inline>
295                                                                                 <files>
296                                                                                         <file>
297                                                                                                 <source>target/${project.artifactId}-${project.version}.${project.packaging}</source>
298                                                                                                 <outputDirectory />
299                                                                                         </file>
300                                                                                 </files>
301                                                                         </inline>
302                                                                 </assembly>
303                                                                 <!-- This is the same CMD used in a Dockerfile -->
304                                                                 <cmd>
305                                                                         <!-- CDATA prevents Eclipse formatter from breaking line -->
306                                                                         <shell><![CDATA[cd /maven; java -Xms128m -Xmx512m -Djava.security.egd=file:/dev/./urandom -jar ${project.artifactId}-${project.version}.${project.packaging}]]></shell>
307                                                                 </cmd>
308                                                         </build>
309                                                 </image>
310                                                 <image>
311                                                         <name>federation-gateway-test:${project.version}</name>
312                                                         <build>
313                                                                 <from>frolvlad/alpine-oraclejdk8:slim</from>
314                                                                 <tags>
315                                                                         <tag>${project.version}-b${build.number}</tag>
316                                                                 </tags>
317                                                                 <assembly>
318                                                                         <inline>
319                                                                                 <files>
320                                                                                         <file>
321                                                                                                 <source>target/${project.artifactId}-${project.version}.${project.packaging}.original</source>
322                                                                                                 <outputDirectory />
323                                                                                                 <!-- <destName>target/${project.artifactId}-${project.version}.${project.packaging}</destName> -->
324                                                                                         </file>
325                                                                                         <file>
326                                                                                                 <source>target/${project.artifactId}-${project.version}-tests.${project.packaging}</source>
327                                                                                                 <outputDirectory />
328                                                                                         </file>
329                                                                                 </files>
330                                                                                 <fileSets>
331                                                                                         <fileSet>
332                                                                                                 <!-- <directory>${project.build.directory}/deps/</directory> -->
333                                                                                                 <directory>target/deps/</directory>
334                                                                                                 <outputDirectory>/libs/</outputDirectory>
335                                                                                                 <includes>
336                                                                                                         <include>*</include>
337                                                                                                 </includes>
338                                                                                                 <fileMode>0755</fileMode>
339                                                                                         </fileSet>
340                                                                                 </fileSets>
341                                                                         </inline>
342                                                                 </assembly>
343                                                                 <cmd>
344                                                                         <!-- CDATA prevents Eclipse formatter from breaking line -->
345                                                                         <shell><![CDATA[cd /maven; java -Xms128m -Xmx512m -cp ${project.artifactId}-${project.version}.${project.packaging}.original:${project.artifactId}-${project.version}-tests.${project.packaging}:/libs/* -Djava.security.egd=file:/dev/./urandom org.springframework.boot.loader.PropertiesLauncher]]></shell>
346                                                                 </cmd>
347                                                         </build>
348                                                 </image>
349                                         </images>
350                                 </configuration>
351                                 <executions>
352                                         <execution>
353                                                 <goals>
354                                                         <!-- build is bound to install phase -->
355                                                         <goal>build</goal>
356                                                         <!-- push is bound to deploy phase -->
357                                                         <goal>push</goal>
358                                                 </goals>
359                                         </execution>
360                                 </executions>
361                         </plugin>
362                         <plugin>
363                                 <groupId>org.codehaus.mojo</groupId>
364                                 <artifactId>license-maven-plugin</artifactId>
365                                 <version>1.14</version>
366                                 <configuration>
367                                         <licenseName>acumos</licenseName>
368                                         <licenseResolver>${project.baseUri}/src/license</licenseResolver>
369                                         <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
370                                         <processStartTag>===============LICENSE_START=======================================================</processStartTag>
371                                         <processEndTag>===============LICENSE_END=========================================================</processEndTag>
372                                         <sectionDelimiter>===================================================================================</sectionDelimiter>
373                                         <inceptionYear>2017</inceptionYear>
374                                         <organizationName>AT&amp;T Intellectual Property &amp; Tech
375                                                 Mahindra. All rights reserved.</organizationName>
376                                         <projectName>Acumos</projectName>
377                                         <canUpdateCopyright>true</canUpdateCopyright>
378                                         <canUpdateDescription>true</canUpdateDescription>
379                                         <canUpdateLicense>true</canUpdateLicense>
380                                         <emptyLineAfterHeader>true</emptyLineAfterHeader>
381                                         <includes>
382                                                 <include>**/*.java</include>
383                                         </includes>
384                                 </configuration>
385                                 <!-- <executions> <execution> <id>first</id> <goals> <goal>update-file-header</goal> 
386                                         </goals> <phase>process-sources</phase> </execution> </executions> -->
387                         </plugin>
388                         <plugin>
389                                 <groupId>org.jacoco</groupId>
390                                 <artifactId>jacoco-maven-plugin</artifactId>
391                                 <version>0.7.9</version>
392                                 <executions>
393                                         <execution>
394                                                 <id>default-prepare-agent</id>
395                                                 <goals>
396                                                         <goal>prepare-agent</goal>
397                                                 </goals>
398                                         </execution>
399                                         <execution>
400                                                 <id>default-report</id>
401                                                 <phase>prepare-package</phase>
402                                                 <goals>
403                                                         <goal>report</goal>
404                                                 </goals>
405                                         </execution>
406                                 </executions>
407                         </plugin>
408
409                 </plugins>
410         </build>
411 </project>