3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
4 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
5 <modelVersion>4.0.0</modelVersion>
6 <groupId>org.acumos.federation</groupId>
7 <artifactId>gateway</artifactId>
8 <version>1.0.0-SNAPSHOT</version>
9 <name>Federation Gateway</name>
10 <description>Federated Acumos Interface for inter-acumos and ONAP communication</description>
13 <groupId>org.springframework.boot</groupId>
14 <artifactId>spring-boot-starter-parent</artifactId>
15 <version>1.5.4.RELEASE</version>
16 <!-- silence warning about parent relative path -->
21 <encoding>UTF-8</encoding>
22 <!-- Stand-alone RESTFul application -->
23 <start-class>org.acumos.federation.gateway.Application</start-class>
24 <!-- Jenkins invokes mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
25 <build.number>0</build.number>
26 <eelf.version>1.0.0</eelf.version>
27 <!-- tests require database to be running -->
28 <skipTests>false</skipTests>
29 <!-- Docker daemon -->
30 <docker.host.url>unix:/var/run/docker.sock</docker.host.url>
31 <!-- Docker image registry -->
32 <docker.registry.url>Set by Jenkins</docker.registry.url>
33 <docker.registry.login>Registry userId - supplied by jenkins</docker.registry.login>
34 <docker.registry.password>Registry password - supplied by jenkins</docker.registry.password>
36 <docker.registry.url>registry.hub.docker.io</docker.registry.url>
38 <!-- dependencies versions -->
39 <slf4j.version>1.7.25</slf4j.version>
40 <logback.version>1.2.3</logback.version>
41 <spring.boot.devtools.version>1.5.8.RELEASE</spring.boot.devtools.version>
42 <spring.boot.starter.web.version>1.5.8.RELEASE</spring.boot.starter.web.version>
43 <spring.boot.starter.security.version>1.5.8.RELEASE</spring.boot.starter.security.version>
44 <spring.boot.starter.test.version>1.5.8.RELEASE</spring.boot.starter.test.version>
45 <spring.boot.configuration.processor.version>1.5.8.RELEASE</spring.boot.configuration.processor.version>
46 <!-- All acumos.nexus.* are overridden by Jenkins settings -->
47 <acumos.nexus.url>http://cognita-nexus01.eastus.cloudapp.azure.com:8081</acumos.nexus.url>
48 <acumos.nexus.snapshot.path>repository/repo_cognita_platform_maven_snapshots</acumos.nexus.snapshot.path>
49 <acumos.nexus.release.path>repository/repo_cognita_platform_maven</acumos.nexus.release.path>
50 <maven.build.timestamp.format>yyyy.MM.dd_HH.mm</maven.build.timestamp.format>
55 <id>acumos-snapshots</id>
56 <name>acumos-repository-snapshots</name>
57 <url>${acumos.nexus.url}/${acumos.nexus.snapshot.path}</url>
60 <id>acumos-releases</id>
61 <name>acumos-repository-releases</name>
62 <url>${acumos.nexus.url}/${acumos.nexus.release.path}</url>
65 <id>onap-snapshots</id>
66 <name>ONAP Snapshot Repository</name>
67 <url>${onap.nexus.url}/${onap.nexus.snapshot.path}</url>
70 <id>onap-releases</id>
71 <name>ONAP Release Repository</name>
72 <url>${onap.nexus.url}/${onap.nexus.release.path}</url>
78 <groupId>org.acumos</groupId>
79 <artifactId>acumos-nexus-client</artifactId>
80 <version>1.0.0-SNAPSHOT</version>
83 <groupId>org.acumos.common-dataservice</groupId>
84 <artifactId>cmn-data-svc-client</artifactId>
85 <version>1.10.1-SNAPSHOT</version>
86 <!-- <version>1.12.0-SNAPSHOT</version> -->
89 <groupId>org.json</groupId>
90 <artifactId>json</artifactId>
91 <version>20160212</version>
94 <groupId>org.slf4j</groupId>
95 <artifactId>slf4j-api</artifactId>
96 <version>${slf4j.version}</version>
99 <groupId>ch.qos.logback</groupId>
100 <artifactId>logback-classic</artifactId>
101 <version>${logback.version}</version>
104 <groupId>ch.qos.logback</groupId>
105 <artifactId>logback-core</artifactId>
106 <version>${logback.version}</version>
109 <groupId>org.springframework.boot</groupId>
110 <artifactId>spring-boot-starter-security</artifactId>
111 <version>${spring.boot.starter.security.version}</version>
114 <groupId>org.springframework.boot</groupId>
115 <artifactId>spring-boot-starter-web</artifactId>
116 <version>${spring.boot.starter.web.version}</version>
119 <groupId>org.springframework.boot</groupId>
120 <artifactId>spring-boot-configuration-processor</artifactId>
121 <version>${spring.boot.configuration.processor.version}</version>
122 <optional>true</optional>
125 <groupId>org.apache.httpcomponents</groupId>
126 <artifactId>httpclient</artifactId>
127 <version>4.5</version>
130 <groupId>org.springframework.shell</groupId>
131 <artifactId>spring-shell</artifactId>
132 <version>1.2.0.RELEASE</version>
135 <groupId>io.springfox</groupId>
136 <artifactId>springfox-swagger2</artifactId>
137 <version>2.6.1</version>
140 <groupId>io.springfox</groupId>
141 <artifactId>springfox-swagger-ui</artifactId>
142 <version>2.6.1</version>
145 <groupId>com.att.eelf</groupId>
146 <artifactId>eelf-core</artifactId>
147 <version>${eelf.version}</version>
150 <groupId>javax.inject</groupId>
151 <artifactId>javax.inject</artifactId>
155 <groupId>io.jsonwebtoken</groupId>
156 <artifactId>jjwt</artifactId>
157 <version>0.6.0</version>
160 <groupId>org.python</groupId>
161 <artifactId>jython-standalone</artifactId>
162 <version>2.7.1-rc3</version>
165 <groupId>junit</groupId>
166 <artifactId>junit</artifactId>
167 <version>3.8.1</version>
171 <groupId>commons-cli</groupId>
172 <artifactId>commons-cli</artifactId>
173 <version>1.2</version>
176 <groupId>org.apache.commons</groupId>
177 <artifactId>commons-lang3</artifactId>
178 <version>3.6</version>
182 <groupId>junit</groupId>
183 <artifactId>junit</artifactId>
184 <version>4.12</version>
188 <groupId>org.assertj</groupId>
189 <artifactId>assertj-core</artifactId>
190 <version>3.8.0</version>
194 <groupId>org.springframework.boot</groupId>
195 <artifactId>spring-boot-starter-test</artifactId>
196 <version>${spring.boot.starter.test.version}</version>
200 <groupId>org.aspectj</groupId>
201 <artifactId>aspectjweaver</artifactId>
202 <version>1.8.13</version>
211 <groupId>org.apache.maven.plugins</groupId>
212 <artifactId>maven-compiler-plugin</artifactId>
213 <version>3.0</version>
220 <groupId>org.apache.maven.plugins</groupId>
221 <artifactId>maven-jar-plugin</artifactId>
225 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
228 <Build-Number>${project.version}.${build.number}</Build-Number>
229 <Build-Time>${maven.build.timestamp}</Build-Time>
236 <goal>test-jar</goal>
242 <groupId>org.springframework.boot</groupId>
243 <artifactId>spring-boot-maven-plugin</artifactId>
247 <goal>repackage</goal>
253 <groupId>org.apache.maven.plugins</groupId>
254 <artifactId>maven-dependency-plugin</artifactId>
255 <version>2.10</version>
258 <id>copy-dependencies</id>
259 <phase>package</phase>
261 <goal>copy-dependencies</goal>
264 <outputDirectory>${project.build.directory}/deps</outputDirectory>
265 <overWriteReleases>false</overWriteReleases>
266 <overWriteSnapshots>false</overWriteSnapshots>
267 <overWriteIfNewer>true</overWriteIfNewer>
273 <groupId>io.fabric8</groupId>
274 <artifactId>docker-maven-plugin</artifactId>
275 <version>0.21.0</version>
277 <verbose>true</verbose>
278 <dockerHost>${docker.host.url}</dockerHost>
279 <registry>${docker.registry.url}</registry>
281 <username>${docker.registry.login}</username>
282 <password>${docker.registry.password}</password>
286 <name>federation-gateway:${project.version}</name>
288 <!-- This is the same FROM used in a Dockerfile -->
289 <!-- <from>openjdk:8-jdk</from> -->
290 <from>frolvlad/alpine-oraclejdk8:slim</from>
293 <tag>${project.version}</tag>
294 <tag>${maven.build.timestamp}</tag>
300 <source>application.properties.template</source>
302 <destName>application.properties</destName>
305 <source>src/test/resources/ist-acumosa.pkcs12</source>
307 <destName>ist-acumosa.pkcs12</destName>
310 <source>src/test/resources/ist-acumosb.pkcs12</source>
312 <destName>ist-acumosb.pkcs12</destName>
315 <source>src/test/resources/acumosTrustStore.jks</source>
317 <destName>acumosTrustStore.jks</destName>
320 <source>target/${project.artifactId}-${project.version}.${project.packaging}</source>
326 <!-- This is the same CMD used in a Dockerfile -->
328 <shell><![CDATA[ cd /maven; java -Djava.security.egd=file:/dev/./urandom -jar ${project.artifactId}-${project.version}.${project.packaging}]]></shell>
333 <name>federation-gateway-test:${project.version}</name>
335 <!-- This is the same FROM used in a Dockerfile -->
336 <!-- <from>openjdk:8-jdk</from> -->
337 <from>frolvlad/alpine-oraclejdk8:slim</from>
340 <tag>${project.version}</tag>
341 <tag>${maven.build.timestamp}</tag>
347 <source>application.properties.template</source>
349 <destName>application.properties</destName>
352 need the following two for server config
355 <source>src/test/resources/acumosa.pkcs12</source>
357 <destName>acumosa.pkcs12</destName>
360 <source>src/test/resources/acumosb.pkcs12</source>
362 <destName>acumosb.pkcs12</destName>
365 <source>src/test/resources/acumosTrustStore.jks</source>
367 <destName>acumosTrustStore.jks</destName>
370 <source>target/${project.artifactId}-${project.version}.${project.packaging}</source>
374 <source>target/${project.artifactId}-${project.version}-tests.${project.packaging}</source>
380 <directory>${basedir}/target/deps/</directory>
381 <outputDirectory>/libs/</outputDirectory>
385 <fileMode>0755</fileMode>
390 <!-- This is the same CMD used in a Dockerfile -->
392 <shell><![CDATA[ cd /maven; java -cp ${project.artifactId}-${project.version}.${project.packaging}:${project.artifactId}-${project.version}-tests.${project.packaging}:/libs/* -Djavax.net.ssl.trustStore=/app/certs/acumosTrustStore.jks -Djavax.net.ssl.trustStorePassword=acumos -Djava.security.egd=file:/dev/./urandom org.springframework.boot.loader.PropertiesLauncher]]></shell>
395 <shell><![CDATA[ cd /maven; java -cp ${project.artifactId}-${project.version}.${project.packaging}:${project.artifactId}-${project.version}-tests.${project.packaging}:/libs/* -Djavax.net.ssl.trustStore=acumosTrustStore.jks -Djavax.net.ssl.trustStorePassword=acumos -Djava.security.egd=file:/dev/./urandom org.springframework.boot.loader.PropertiesLauncher]]></shell>
405 <!-- build is bound to install phase -->
407 <!-- push is bound to deploy phase -->
414 <groupId>org.codehaus.mojo</groupId>
415 <artifactId>license-maven-plugin</artifactId>
416 <version>1.14</version>
418 <licenseName>acumos</licenseName>
419 <licenseResolver>${project.baseUri}/src/license</licenseResolver>
420 <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
421 <processStartTag>===============LICENSE_START=======================================================</processStartTag>
422 <processEndTag>===============LICENSE_END=========================================================</processEndTag>
423 <sectionDelimiter>===================================================================================</sectionDelimiter>
424 <inceptionYear>2017</inceptionYear>
425 <organizationName>AT&T Intellectual Property & Tech Mahindra. All rights reserved.</organizationName>
426 <projectName>Acumos</projectName>
427 <canUpdateCopyright>true</canUpdateCopyright>
428 <canUpdateDescription>true</canUpdateDescription>
429 <canUpdateLicense>true</canUpdateLicense>
430 <emptyLineAfterHeader>true</emptyLineAfterHeader>
432 <include>**/*.java</include>
440 <goal>update-file-header</goal>
442 <phase>process-sources</phase>
448 <groupId>org.jacoco</groupId>
449 <artifactId>jacoco-maven-plugin</artifactId>
450 <version>0.7.6.201602180812</version>
453 <id>default-prepare-agent</id>
455 <goal>prepare-agent</goal>
459 <id>default-report</id>
460 <phase>prepare-package</phase>
470 <distributionManagement>
472 <!-- must match ID in Jenkins settings -->
473 <id>acumos-nexus</id>
474 <name>acumos-repository-snapshots</name>
475 <url>${acumos.nexus.url}/${acumos.nexus.snapshot.path}</url>
476 </snapshotRepository>
478 <!-- must match ID in Jenkins settings -->
479 <id>acumos-nexus</id>
480 <name>acumos-repository-releases</name>
481 <url>${acumos.nexus.url}/${acumos.nexus.release.path}</url>
483 </distributionManagement>