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"
24 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
25 <modelVersion>4.0.0</modelVersion>
26 <groupId>org.acumos.federation</groupId>
27 <artifactId>gateway</artifactId>
28 <version>2.0.1-SNAPSHOT</version>
29 <name>Federation Gateway</name>
30 <description>Federated Acumos Interface for inter-acumos and ONAP communication</description>
33 <groupId>org.springframework.boot</groupId>
34 <artifactId>spring-boot-starter-parent</artifactId>
35 <version>2.1.2.RELEASE</version>
36 <!-- silence warning about parent relative path -->
41 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
42 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
43 <!-- Stand-alone RESTFul application -->
44 <start-class>org.acumos.federation.gateway.Application</start-class>
45 <!-- Jenkins invokes mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
46 <build.number>0</build.number>
47 <skipTests>false</skipTests>
48 <!-- dependencies versions -->
49 <logback.version>1.2.3</logback.version>
50 <springfox.version>2.7.0</springfox.version>
51 <!-- Not supplied to all jobs; e.g., Javadoc -->
52 <docker.pull.registry>nexus3.acumos.org:10001</docker.pull.registry>
53 <!-- Supplied by Jenkins -->
54 <docker.push.registry>${env.NEXUS3_PUSH_REGISTRY}</docker.push.registry>
57 <!-- Some dependencies are specific to Acumos, but this POM defines no repositories
58 section. The Jenkins server specifies Acumos repositories. Developers should
59 ensure their ~/.m2/settings.xml file has the following URLs in both the repositories
60 and pluginRepositories sections or in a profile: https://nexus.acumos.org/content/repositories/snapshots/
61 https://nexus.acumos.org/content/repositories/releases/ -->
65 <groupId>org.acumos.acumos-nexus-client</groupId>
66 <artifactId>acumos-nexus-client</artifactId>
67 <version>2.2.1</version>
70 <groupId>org.acumos.common-dataservice</groupId>
71 <artifactId>cmn-data-svc-client</artifactId>
72 <version>2.0.7</version>
75 <groupId>org.json</groupId>
76 <artifactId>json</artifactId>
77 <!-- Override Spring-boot choice -->
78 <version>20160212</version><!--$NO-MVN-MAN-VER$ -->
81 <groupId>org.slf4j</groupId>
82 <artifactId>slf4j-api</artifactId>
83 <!-- spring sets the <version>${slf4j.version}</version> -->
86 <groupId>ch.qos.logback</groupId>
87 <artifactId>logback-classic</artifactId>
88 <!-- spring sets the <version>${logback.version}</version> -->
91 <groupId>ch.qos.logback</groupId>
92 <artifactId>logback-core</artifactId>
93 <!-- spring sets the <version>${logback.version}</version> -->
96 <groupId>org.springframework.boot</groupId>
97 <artifactId>spring-boot-starter-security</artifactId>
98 <!-- spring sets the ${spring.boot.starter.security.version}</version> -->
101 <groupId>org.springframework.boot</groupId>
102 <artifactId>spring-boot-starter-web</artifactId>
103 <!-- spring sets the <version>${spring.boot.starter.web.version}</version> -->
106 <groupId>org.springframework.boot</groupId>
107 <artifactId>spring-boot-configuration-processor</artifactId>
108 <!-- spring sets the <version>${spring.boot.configuration.processor.version}</version> -->
109 <optional>true</optional>
112 <groupId>com.google.guava</groupId>
113 <artifactId>guava</artifactId>
114 <version>19.0</version>
117 <groupId>org.apache.httpcomponents</groupId>
118 <artifactId>httpclient</artifactId>
119 <!-- spring sets the <version>4.5</version> -->
122 <groupId>org.springframework.shell</groupId>
123 <artifactId>spring-shell</artifactId>
124 <version>1.2.0.RELEASE</version>
127 <groupId>io.springfox</groupId>
128 <artifactId>springfox-swagger2</artifactId>
129 <version>${springfox.version}</version>
132 <groupId>io.springfox</groupId>
133 <artifactId>springfox-swagger-ui</artifactId>
134 <version>${springfox.version}</version>
137 <groupId>javax.inject</groupId>
138 <artifactId>javax.inject</artifactId>
142 <groupId>io.jsonwebtoken</groupId>
143 <artifactId>jjwt</artifactId>
144 <version>0.6.0</version>
147 <groupId>org.python</groupId>
148 <artifactId>jython-standalone</artifactId>
149 <version>2.7.1-rc3</version>
152 <groupId>com.fasterxml.jackson.core</groupId>
153 <artifactId>jackson-core</artifactId>
154 <!-- spring sets the <version>2.9.7</version> -->
157 <groupId>com.fasterxml.jackson.datatype</groupId>
158 <artifactId>jackson-datatype-jsr310</artifactId>
162 <groupId>junit</groupId>
163 <artifactId>junit</artifactId>
164 <!-- spring sets the <version>3.8.1</version> -->
168 <groupId>commons-cli</groupId>
169 <artifactId>commons-cli</artifactId>
170 <version>1.2</version>
173 <groupId>org.apache.commons</groupId>
174 <artifactId>commons-lang3</artifactId>
175 <!-- spring sets the <version>3.6</version> -->
178 <groupId>org.apache.commons</groupId>
179 <artifactId>commons-compress</artifactId>
180 <version>1.5</version>
182 <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
184 <groupId>commons-beanutils</groupId>
185 <artifactId>commons-beanutils</artifactId>
186 <version>1.9.3</version>
189 <groupId>com.github.docker-java</groupId>
190 <artifactId>docker-java</artifactId>
191 <version>3.0.14</version>
194 <groupId>org.aspectj</groupId>
195 <artifactId>aspectjweaver</artifactId>
196 <!-- spring sets the <version>1.8.13</version> -->
199 <groupId>org.assertj</groupId>
200 <artifactId>assertj-core</artifactId>
201 <!-- spring sets the <version>3.8.0</version> -->
205 <groupId>org.mockito</groupId>
206 <artifactId>mockito-core</artifactId>
207 <!-- spring sets the <version>2.21.0</version> -->
211 <groupId>org.springframework.boot</groupId>
212 <artifactId>spring-boot-starter-test</artifactId>
213 <!-- spring sets the <version>2.1.2.RELEASE</version> -->
215 <!-- silence warning about duplicate JSON class -->
217 <groupId>com.vaadin.external.google</groupId>
218 <artifactId>android-json</artifactId>
228 <groupId>org.apache.maven.plugins</groupId>
229 <artifactId>maven-compiler-plugin</artifactId>
230 <!-- spring sets the <version>3.0</version> -->
236 <!-- Add the build number to the jar manifest. Spring-Boot uses a complex
237 packaging process that makes access to the original Manifest.MF very difficult.
238 However, Java provides access to the implementation version for a package,
239 so cram the build number into there. -->
241 <groupId>org.apache.maven.plugins</groupId>
242 <artifactId>maven-jar-plugin</artifactId>
246 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
249 <Implementation-Version>${project.version}-b${build.number}</Implementation-Version>
256 <goal>test-jar</goal>
262 <groupId>org.springframework.boot</groupId>
263 <artifactId>spring-boot-maven-plugin</artifactId>
267 <goal>repackage</goal>
273 <groupId>org.apache.maven.plugins</groupId>
274 <artifactId>maven-dependency-plugin</artifactId>
275 <!-- spring sets the <version>2.10</version> -->
278 <id>copy-dependencies</id>
279 <phase>package</phase>
281 <goal>copy-dependencies</goal>
284 <outputDirectory>${project.build.directory}/deps</outputDirectory>
285 <overWriteReleases>true</overWriteReleases>
286 <overWriteSnapshots>true</overWriteSnapshots>
287 <overWriteIfNewer>true</overWriteIfNewer>
292 <!-- No need to deploy Spring super-jar -->
294 <groupId>org.apache.maven.plugins</groupId>
295 <artifactId>maven-deploy-plugin</artifactId>
296 <!-- Spring sets the <version>2.8</version> -->
302 <groupId>io.fabric8</groupId>
303 <artifactId>docker-maven-plugin</artifactId>
304 <version>0.23.0</version>
306 <verbose>true</verbose>
307 <dockerHost>${docker.host.url}</dockerHost>
308 <registry>${docker.registry.url}</registry>
310 <username>${docker.registry.login}</username>
311 <password>${docker.registry.password}</password>
315 <!-- Specify a tag to avoid default tag "latest" -->
316 <name>federation-gateway:${project.version}</name>
318 <from>openjdk:8-jre-slim</from>
320 <!-- Add tag with build number -->
321 <tag>${project.version}-b${build.number}</tag>
327 <source>target/${project.artifactId}-${project.version}.${project.packaging}</source>
334 <!-- Ensure logs dir exists and is world writable -->
335 <runCmd>mkdir /maven/logs</runCmd>
336 <runCmd>chmod -R 777 /maven</runCmd>
338 <!-- This is the same CMD used in a Dockerfile -->
340 <!-- CDATA prevents Eclipse formatter from breaking line -->
341 <shell><![CDATA[cd /maven; java -Xms256m -Xmx2g -Djava.security.egd=file:/dev/./urandom -jar ${project.artifactId}-${project.version}.${project.packaging}]]></shell>
346 <name>federation-gateway-test:${project.version}</name>
348 <from>openjdk:8-jre-slim</from>
350 <tag>${project.version}-b${build.number}</tag>
356 <source>target/${project.artifactId}-${project.version}.${project.packaging}.original</source>
358 <!-- <destName>target/${project.artifactId}-${project.version}.${project.packaging}</destName> -->
361 <source>target/${project.artifactId}-${project.version}-tests.${project.packaging}</source>
367 <!-- <directory>${project.build.directory}/deps/</directory> -->
368 <directory>target/deps/</directory>
369 <outputDirectory>/libs/</outputDirectory>
373 <fileMode>0755</fileMode>
379 <!-- Ensure logs dir exists and is world writable -->
380 <runCmd>mkdir /maven/logs</runCmd>
381 <runCmd>chmod -R 777 /maven</runCmd>
384 <!-- CDATA prevents Eclipse formatter from breaking line -->
385 <shell><![CDATA[cd /maven; java -Xms256m -Xmx2g -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>
394 <!-- build is bound to install phase -->
396 <!-- push is bound to deploy phase -->
404 <groupId>org.codehaus.mojo</groupId>
405 <artifactId>license-maven-plugin</artifactId>
406 <version>1.14</version>
408 <licenseName>acumos</licenseName>
409 <licenseResolver>${project.baseUri}/src/license</licenseResolver>
410 <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
411 <processStartTag>===============LICENSE_START=======================================================</processStartTag>
412 <processEndTag>===============LICENSE_END=========================================================</processEndTag>
413 <sectionDelimiter>===================================================================================</sectionDelimiter>
414 <inceptionYear>2017</inceptionYear>
415 <organizationName>AT&T Intellectual Property & Tech
416 Mahindra. All rights reserved.</organizationName>
417 <projectName>Acumos</projectName>
418 <canUpdateCopyright>true</canUpdateCopyright>
419 <canUpdateDescription>true</canUpdateDescription>
420 <canUpdateLicense>true</canUpdateLicense>
421 <emptyLineAfterHeader>true</emptyLineAfterHeader>
423 <include>**/*.java</include>
430 <goal>update-file-header</goal>
432 <phase>process-sources</phase>
438 <groupId>org.jacoco</groupId>
439 <artifactId>jacoco-maven-plugin</artifactId>
440 <version>0.7.9</version>
443 <id>default-prepare-agent</id>
445 <goal>prepare-agent</goal>
449 <id>default-report</id>
450 <phase>prepare-package</phase>