| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ~ ============LICENSE_START======================================================= |
| ~ PNF-REGISTRATION-HANDLER |
| ~ ================================================================================ |
| ~ Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. |
| ~ ================================================================================ |
| ~ Licensed under the Apache License, Version 2.0 (the "License"); |
| ~ you may not use this file except in compliance with the License. |
| ~ You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, software |
| ~ distributed under the License is distributed on an "AS IS" BASIS, |
| ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ~ See the License for the specific language governing permissions and |
| ~ limitations under the License. |
| ~ ============LICENSE_END========================================================= |
| --> |
| <project xmlns="http://maven.apache.org/POM/4.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.onap.dcaegen2.services</groupId> |
| <artifactId>prh</artifactId> |
| <version>1.2.0-SNAPSHOT</version> |
| </parent> |
| |
| <groupId>org.onap.dcaegen2.services.prh</groupId> |
| <artifactId>prh-app-server</artifactId> |
| <packaging>jar</packaging> |
| |
| <properties> |
| <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format> |
| |
| <prh.main.class>org.onap.dcaegen2.services.prh.MainApp</prh.main.class> |
| <dependency.dir.name>libs</dependency.dir.name> |
| <dependency.dir.location>${project.build.directory}/${dependency.dir.name}</dependency.dir.location> |
| <docker.artifact.dir>/opt</docker.artifact.dir> |
| <docker.image.name>onap/${project.groupId}.${project.artifactId}</docker.image.name> |
| </properties> |
| |
| <build> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| </resource> |
| </resources> |
| |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>3.0.2</version> |
| <configuration> |
| <archive> |
| <manifestEntries> |
| <Main-Class>${prh.main.class}</Main-Class> |
| <Build-Time>${maven.build.timestamp}</Build-Time> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <configuration> |
| <outputDirectory>${dependency.dir.location}</outputDirectory> |
| <includeScope>runtime</includeScope> |
| <silent>true</silent> |
| </configuration> |
| <executions> |
| <execution> |
| <id>copy-external-dependencies</id> |
| <phase>package</phase> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.spotify</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <configuration> |
| <serverId>${onap.nexus.dockerregistry.daily}</serverId> |
| <imageName>${docker.image.name}</imageName> |
| <imageTags> |
| <tag>latest</tag> |
| </imageTags> |
| <baseImage>openjdk:8-jre-alpine</baseImage> |
| <exposes> |
| <expose>8100</expose> |
| <expose>8433</expose> |
| </exposes> |
| <entryPoint>java -cp ${docker.artifact.dir}/${dependency.dir.name}/*:${docker.artifact.dir}/${project.build.finalName}.jar ${prh.main.class}</entryPoint> |
| <resources> |
| <resource> |
| <directory>${dependency.dir.location}</directory> |
| <targetPath>${docker.artifact.dir}/${dependency.dir.name}</targetPath> |
| </resource> |
| <resource> |
| <directory>${project.build.directory}</directory> |
| <include>${project.build.finalName}.jar</include> |
| <targetPath>${docker.artifact.dir}</targetPath> |
| </resource> |
| </resources> |
| </configuration> |
| <executions> |
| <execution> |
| <id>build-image</id> |
| <phase>package</phase> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>tag-and-push-image-latest</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>${docker.image.name}:latest</image> |
| <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:latest</newName> |
| <pushImage>true</pushImage> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tag-and-push-image-with-version</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>${docker.image.name}:latest</image> |
| <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}</newName> |
| <pushImage>true</pushImage> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tag-and-push-image-with-version-and-date</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>${docker.image.name}:latest</image> |
| <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}-${maven.build.timestamp}Z</newName> |
| <pushImage>true</pushImage> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| <dependencies> |
| <dependency> |
| <groupId>org.onap.dcaegen2.services.prh</groupId> |
| <artifactId>prh-commons</artifactId> |
| <version>1.2.0-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> |
| <artifactId>cbs-client</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> |
| <artifactId>aai-client</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> |
| <artifactId>dmaap-client</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId> |
| <artifactId>common-dependency</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-web</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-webflux</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.springfox</groupId> |
| <artifactId>springfox-swagger2</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.springfox</groupId> |
| <artifactId>springfox-swagger-ui</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>io.projectreactor</groupId> |
| <artifactId>reactor-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tomcat.embed</groupId> |
| <artifactId>tomcat-embed-core</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tomcat.embed</groupId> |
| <artifactId>tomcat-embed-el</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.tomcat.embed</groupId> |
| <artifactId>tomcat-embed-websocket</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.testng</groupId> |
| <artifactId>testng</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>io.projectreactor</groupId> |
| <artifactId>reactor-test</artifactId> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.connectors</groupId> |
| <artifactId>jersey-apache-connector</artifactId> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| </project> |