blob: 2d150805773b6be74b03156039108a6df1ce022d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<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.ccsdk.parent</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.onap.ccsdk.apps</groupId>
<artifactId>sliboot</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ccsdk-apps :: sliboot :: ${project.artifactId}</name>
<properties>
<start-class>org.onap.ccsdk.apps.ms.sliboot.App</start-class>
<shiro.version>1.5.0</shiro.version>
<aaf-shiro-bundle.version>2.1.13</aaf-shiro-bundle.version>
<base.image.name>onap/ccsdk-alpine-image</base.image.name>
<image.name>onap/ccsdk-sliboot-alpine-image</image.name>
<ccsdk.project.version>${project.version}</ccsdk.project.version>
<ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
<maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
<ccsdk.sliboot.jar>${project.artifactId}-${project.version}.jar</ccsdk.sliboot.jar>
<docker.push.phase>deploy</docker.push.phase>
<docker.verbose>true</docker.verbose>
</properties>
<dependencies>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring-boot-web-starter</artifactId>
<version>${shiro.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>aaf-cadi-shiro</artifactId>
<version>${aaf-shiro-bundle.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>services</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>dblib-provider</artifactId>
<version>${ccsdk.sli.core.version}</version>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sli-common</artifactId>
<version>${ccsdk.sli.core.version}</version>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sli-provider-base</artifactId>
<version>${ccsdk.sli.core.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-filter-spring</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sliPluginUtils-provider</artifactId>
<version>${ccsdk.sli.core.version}</version>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.plugins</groupId>
<artifactId>restapi-call-node-provider</artifactId>
<version>${ccsdk.sli.plugins.version}</version>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.plugins</groupId>
<artifactId>properties-node-provider</artifactId>
<version>${ccsdk.sli.plugins.version}</version>
</dependency>
<!-- this jersey jar is needed for rest api call node to function properly -->
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>${basedir}/TagVersion.groovy</source>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>get-sliapi-yaml</id>
<phase>initialize</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sliapi-model-swagger</artifactId>
<version>${ccsdk.sli.core.version}</version>
<type>yaml</type>
<outputDirectory>${project.build.directory}/yaml</outputDirectory>
<destFileName>sliapi.yaml</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<output>target/generated-sources</output>
<inputSpec>${project.build.directory}/yaml/sliapi.yaml</inputSpec>
<language>spring</language>
<apiPackage>org.onap.ccsdk.apps.ms.sliboot.swagger</apiPackage>
<modelPackage>org.onap.ccsdk.apps.ms.sliboot.swagger.model</modelPackage>
<invokerPackage>org.onap.ccsdk.apps.ms.sliboot.swagger</invokerPackage>
<generateApis>true</generateApis>
<generateApiTests>true</generateApiTests>
<ignoreFileOverride>${project.basedir}/.swagger-codegen-ignore</ignoreFileOverride>
<withXml>true</withXml>
<configOptions>
<java8>true</java8>
<springBootVersion>2.2.4-RELEASE</springBootVersion>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>docker</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<goals>
<goal>copy-dependencies</goal>
</goals>
<phase>prepare-package</phase>
<configuration>
<excludeTransitive>true</excludeTransitive>
<outputDirectory>${project.build.directory}/docker-stage/opt/onap/ccsdk/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<useRepositoryLayout>false</useRepositoryLayout>
<addParentPoms>false</addParentPoms>
<copyPom>false</copyPom>
</configuration>
</execution>
<execution>
<id>unpack dgs</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>org.onap.ccsdk.distribution</groupId>
<artifactId>platform-logic-installer</artifactId>
<version>${project.version}</version>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-dockerfile</id>
<goals>
<goal>copy-resources</goal>
</goals><!-- here the phase you need -->
<phase>initialize</phase>
<configuration>
<outputDirectory>${basedir}/target/docker-stage</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<includes>
<include>Dockerfile</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-config</id>
<goals>
<goal>copy-resources</goal>
</goals><!-- here the phase you need -->
<phase>generate-resources</phase>
<configuration>
<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/config</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*.properties</include>
<include>*.props</include>
<include>*.sql</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*.keyfile</include>
<include>*.jks</include>
<include>*.p12</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-script</id>
<goals>
<goal>copy-resources</goal>
</goals><!-- here the phase you need -->
<phase>generate-resources</phase>
<configuration>
<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*.sh</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-jar</id>
<goals>
<goal>copy-resources</goal>
</goals><!-- here the phase you need -->
<phase>package</phase>
<configuration>
<outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/lib</outputDirectory>
<resources>
<resource>
<directory>${basedir}/target</directory>
<includes>
<include>${ccsdk.sliboot.jar}</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.28.0</version>
<inherited>false</inherited>
<configuration>
<images>
<image>
<name>${image.name}</name>
<build>
<cleanup>try</cleanup>
<dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
<dockerFile>Dockerfile</dockerFile>
<tags>
<tag>${project.docker.latestminortag.version}</tag>
<tag>${project.docker.latestfulltag.version}</tag>
<tag>${project.docker.latesttagtimestamp.version}</tag>
</tags>
</build>
</image>
</images>
</configuration>
<executions>
<execution>
<id>generate-images</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
<execution>
<id>push-images</id>
<phase>${docker.push.phase}</phase>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>