3 ===============LICENSE_START=======================================================
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
13 http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
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.4-SNAPSHOT</version>
28 <name>Federation Gateway</name>
29 <description>Federated Acumos Interface for inter-acumos and ONAP communication</description>
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 -->
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>
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/ -->
70 <groupId>org.acumos.acumos-nexus-client</groupId>
71 <artifactId>acumos-nexus-client</artifactId>
72 <version>2.2.0</version>
75 <groupId>org.acumos.common-dataservice</groupId>
76 <artifactId>cmn-data-svc-client</artifactId>
77 <version>1.14.4</version>
80 <groupId>org.json</groupId>
81 <artifactId>json</artifactId>
82 <version>20160212</version>
85 <groupId>org.slf4j</groupId>
86 <artifactId>slf4j-api</artifactId>
87 <!-- spring sets the <version>${slf4j.version}</version> -->
90 <groupId>ch.qos.logback</groupId>
91 <artifactId>logback-classic</artifactId>
92 <!-- spring sets the <version>${logback.version}</version> -->
95 <groupId>ch.qos.logback</groupId>
96 <artifactId>logback-core</artifactId>
97 <!-- spring sets the <version>${logback.version}</version> -->
100 <groupId>org.springframework.boot</groupId>
101 <artifactId>spring-boot-starter-security</artifactId>
102 <!-- spring sets the ${spring.boot.starter.security.version}</version> -->
105 <groupId>org.springframework.boot</groupId>
106 <artifactId>spring-boot-starter-web</artifactId>
107 <!-- spring sets the <version>${spring.boot.starter.web.version}</version> -->
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>
116 <groupId>com.google.guava</groupId>
117 <artifactId>guava</artifactId>
118 <version>19.0</version>
121 <groupId>org.apache.httpcomponents</groupId>
122 <artifactId>httpclient</artifactId>
123 <!-- spring sets the <version>4.5</version> -->
126 <groupId>org.springframework.shell</groupId>
127 <artifactId>spring-shell</artifactId>
128 <version>1.2.0.RELEASE</version>
131 <groupId>io.springfox</groupId>
132 <artifactId>springfox-swagger2</artifactId>
133 <version>2.6.1</version>
136 <groupId>io.springfox</groupId>
137 <artifactId>springfox-swagger-ui</artifactId>
138 <version>2.6.1</version>
141 <groupId>com.att.eelf</groupId>
142 <artifactId>eelf-core</artifactId>
143 <version>1.0.0</version>
146 <groupId>javax.inject</groupId>
147 <artifactId>javax.inject</artifactId>
151 <groupId>io.jsonwebtoken</groupId>
152 <artifactId>jjwt</artifactId>
153 <version>0.6.0</version>
156 <groupId>org.python</groupId>
157 <artifactId>jython-standalone</artifactId>
158 <version>2.7.1-rc3</version>
161 <groupId>junit</groupId>
162 <artifactId>junit</artifactId>
163 <!-- spring sets the <version>3.8.1</version> -->
167 <groupId>commons-cli</groupId>
168 <artifactId>commons-cli</artifactId>
169 <version>1.2</version>
172 <groupId>org.apache.commons</groupId>
173 <artifactId>commons-lang3</artifactId>
174 <version>3.6</version>
177 <groupId>com.github.docker-java</groupId>
178 <artifactId>docker-java</artifactId>
179 <version>3.0.14</version>
182 <groupId>org.aspectj</groupId>
183 <artifactId>aspectjweaver</artifactId>
184 <version>1.8.13</version>
187 <groupId>org.assertj</groupId>
188 <artifactId>assertj-core</artifactId>
189 <!-- spring sets the <version>3.8.0</version> -->
193 <groupId>org.springframework.boot</groupId>
194 <artifactId>spring-boot-starter-test</artifactId>
195 <!-- spring sets the <version>1.5.3.RELEASE</version> -->
203 <groupId>org.apache.maven.plugins</groupId>
204 <artifactId>maven-compiler-plugin</artifactId>
205 <!-- spring sets the <version>3.0</version> -->
211 <!-- Add the build number to the jar manifest. Spring-Boot uses a complex
212 packaging process that makes access to the original Manifest.MF very difficult.
213 However, Java provides access to the implementation version for a package,
214 so cram the build number into there. -->
216 <groupId>org.apache.maven.plugins</groupId>
217 <artifactId>maven-jar-plugin</artifactId>
221 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
224 <Implementation-Version>${project.version}-b${build.number}</Implementation-Version>
231 <goal>test-jar</goal>
237 <groupId>org.springframework.boot</groupId>
238 <artifactId>spring-boot-maven-plugin</artifactId>
242 <goal>repackage</goal>
248 <groupId>org.apache.maven.plugins</groupId>
249 <artifactId>maven-dependency-plugin</artifactId>
250 <version>2.10</version>
253 <id>copy-dependencies</id>
254 <phase>package</phase>
256 <goal>copy-dependencies</goal>
259 <outputDirectory>${project.build.directory}/deps</outputDirectory>
260 <overWriteReleases>true</overWriteReleases>
261 <overWriteSnapshots>true</overWriteSnapshots>
262 <overWriteIfNewer>true</overWriteIfNewer>
267 <!-- No need to deploy Spring super-boot -->
269 <groupId>org.apache.maven.plugins</groupId>
270 <artifactId>maven-deploy-plugin</artifactId>
271 <!-- Spring sets the <version>2.8</version> -->
277 <groupId>io.fabric8</groupId>
278 <artifactId>docker-maven-plugin</artifactId>
279 <version>0.23.0</version>
281 <verbose>true</verbose>
282 <dockerHost>${docker.host.url}</dockerHost>
283 <registry>${docker.registry.url}</registry>
285 <username>${docker.registry.login}</username>
286 <password>${docker.registry.password}</password>
290 <!-- Specify a tag to avoid default tag "latest" -->
291 <name>federation-gateway:${project.version}</name>
293 <from>frolvlad/alpine-oraclejdk8:slim</from>
295 <!-- Add tag with build number -->
296 <tag>${project.version}-b${build.number}</tag>
302 <source>target/${project.artifactId}-${project.version}.${project.packaging}</source>
308 <!-- This is the same CMD used in a Dockerfile -->
310 <!-- CDATA prevents Eclipse formatter from breaking line -->
311 <shell><![CDATA[cd /maven; java -Xms128m -Xmx512m -Djava.security.egd=file:/dev/./urandom -jar ${project.artifactId}-${project.version}.${project.packaging}]]></shell>
316 <name>federation-gateway-test:${project.version}</name>
318 <from>frolvlad/alpine-oraclejdk8:slim</from>
320 <tag>${project.version}-b${build.number}</tag>
326 <source>target/${project.artifactId}-${project.version}.${project.packaging}.original</source>
328 <!-- <destName>target/${project.artifactId}-${project.version}.${project.packaging}</destName> -->
331 <source>target/${project.artifactId}-${project.version}-tests.${project.packaging}</source>
337 <!-- <directory>${project.build.directory}/deps/</directory> -->
338 <directory>target/deps/</directory>
339 <outputDirectory>/libs/</outputDirectory>
343 <fileMode>0755</fileMode>
349 <!-- CDATA prevents Eclipse formatter from breaking line -->
350 <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>
359 <!-- build is bound to install phase -->
361 <!-- push is bound to deploy phase -->
368 <groupId>org.codehaus.mojo</groupId>
369 <artifactId>license-maven-plugin</artifactId>
370 <version>1.14</version>
372 <licenseName>acumos</licenseName>
373 <licenseResolver>${project.baseUri}/src/license</licenseResolver>
374 <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
375 <processStartTag>===============LICENSE_START=======================================================</processStartTag>
376 <processEndTag>===============LICENSE_END=========================================================</processEndTag>
377 <sectionDelimiter>===================================================================================</sectionDelimiter>
378 <inceptionYear>2017</inceptionYear>
379 <organizationName>AT&T Intellectual Property & Tech
380 Mahindra. All rights reserved.</organizationName>
381 <projectName>Acumos</projectName>
382 <canUpdateCopyright>true</canUpdateCopyright>
383 <canUpdateDescription>true</canUpdateDescription>
384 <canUpdateLicense>true</canUpdateLicense>
385 <emptyLineAfterHeader>true</emptyLineAfterHeader>
387 <include>**/*.java</include>
390 <!-- <executions> <execution> <id>first</id> <goals> <goal>update-file-header</goal>
391 </goals> <phase>process-sources</phase> </execution> </executions> -->
394 <groupId>org.jacoco</groupId>
395 <artifactId>jacoco-maven-plugin</artifactId>
396 <version>0.7.9</version>
399 <id>default-prepare-agent</id>
401 <goal>prepare-agent</goal>
405 <id>default-report</id>
406 <phase>prepare-package</phase>