<?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-25-starter-parent</artifactId> <version>2.2.1</version> <relativePath/> </parent> <groupId>org.onap.ccsdk.apps</groupId> <artifactId>sliboot</artifactId> <version>1.2.0-SNAPSHOT</version> <packaging>jar</packaging> <name>ccsdk-apps :: sliboot :: ${project.artifactId}</name> <properties> <start-class>org.onap.ccsdk.apps.ms.sliboot.SlibootApp</start-class> <aaf.cadi.version>2.1.21</aaf.cadi.version> <base.image.name>onap/ccsdk-alpine-j11-image</base.image.name> <base.image.version>1.1.1</base.image.version> <image.name>onap/ccsdk-sliboot-alpine-image</image.name> <ccsdk.project.version>${project.version}</ccsdk.project.version> <ccsdk.distribution.version>1.1.0</ccsdk.distribution.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}-exec.jar</ccsdk.sliboot.jar> <docker.push.phase>deploy</docker.push.phase> <docker.verbose>true</docker.verbose> <docker.autoCreateCustomNetworks>true</docker.autoCreateCustomNetworks> <java.home>/opt/java/openjdk</java.home> <java.security.dir>${java.home}/lib/security</java.security.dir> </properties> <dependencies> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <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.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </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-boot-starter</artifactId> <version>${springfox.version}</version> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-cadi-client</artifactId> <version>${aaf.cadi.version}</version> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-cadi-core</artifactId> <version>${aaf.cadi.version}</version> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-auth-client</artifactId> <version>${aaf.cadi.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-misc-env</artifactId> <version>${aaf.cadi.version}</version> <scope>runtime</scope> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-misc-rosetta</artifactId> <version>${aaf.cadi.version}</version> <scope>runtime</scope> </dependency> <!-- Needed by logging-analytics payload logging filter --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxrs</artifactId> <version>3.4.4</version> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-cadi-client</artifactId> <version>${aaf.cadi.version}</version> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-cadi-core</artifactId> <version>${aaf.cadi.version}</version> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-auth-client</artifactId> <version>${aaf.cadi.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-misc-env</artifactId> <version>${aaf.cadi.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.onap.aaf.authz</groupId> <artifactId>aaf-misc-rosetta</artifactId> <version>${aaf.cadi.version}</version> <scope>runtime</scope> </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>org.onap.ccsdk.sli.core</groupId> <artifactId>sliapi-model-swagger</artifactId> <version>${ccsdk.sli.core.version}</version> <type>yaml</type> </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> <dependency> <groupId>org.onap.logging-analytics</groupId> <artifactId>logging-filter-spring</artifactId> <version>1.6.6</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>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> </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>copy-sliapi-model-swagger</id> <phase>initialize</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/yaml</outputDirectory> <useRepositoryLayout>false</useRepositoryLayout> <includeTypes>yaml</includeTypes> <stripVersion>true</stripVersion> </configuration> </execution> <execution> <id>copy-dependencies</id> <goals> <goal>copy-dependencies</goal> </goals> <phase>prepare-package</phase> <configuration> <excludeTransitive>true</excludeTransitive> <excludeTypes>yaml</excludeTypes> <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>${ccsdk.distribution.version}</version> <type>zip</type> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <groupId>io.swagger</groupId> <artifactId>swagger-codegen-maven-plugin</artifactId> <version>2.3.1</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>generate</goal> </goals> <configuration> <output>target/generated-sources</output> <inputSpec>${project.build.directory}/yaml/sliapi-model-swagger.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> <templateDirectory>${project.basedir}/src/main/templates</templateDirectory> <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> <configuration> <classifier>exec</classifier> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> <configuration> <environmentVariables> <SDNC_CONFIG_DIR>${basedir}/src/test/resources</SDNC_CONFIG_DIR> <SVCLOGIC_PROPERTIES>${basedir}/src/test/resources/svclogic.properties</SVCLOGIC_PROPERTIES> </environmentVariables> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> <configuration> <skipITs>true</skipITs> </configuration> </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> </plugins> </build> <profiles> <profile> <id>docker</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> <configuration> <skipITs>false</skipITs> <environmentVariables> <SLIBOOT_PORT>${sliboot.port}</SLIBOOT_PORT> </environmentVariables> </configuration> </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.34.0</version> <inherited>false</inherited> <configuration> <images> <image> <name>${image.name}</name> <build> <cleanup>try</cleanup> <noCache>true</noCache> <contextDir>${basedir}/target/docker-stage</contextDir> <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>start-it-instance</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> <configuration> <images> <image> <name>mariadb:10.5</name> <alias>slibootdb</alias> <run> <env> <MYSQL_ROOT_PASSWORD>itsASecret</MYSQL_ROOT_PASSWORD> <MYSQL_USER>sli</MYSQL_USER> <MYSQL_PASSWORD>abc123</MYSQL_PASSWORD> <MYSQL_DATABASE>sdnctl</MYSQL_DATABASE> </env> <network> <mode>custom</mode> <name>onap</name> <alias>dbhost</alias> </network> <ports> <port>slibootdb.port:3306</port> </ports> <log> <enabled>true</enabled> </log> </run> </image> <image> <name>${image.name}:${project.docker.latesttagtimestamp.version}</name> <alias>sliboot-container</alias> <run> <env> <MYSQL_USER>sli</MYSQL_USER> <MYSQL_PASSWORD>abc123</MYSQL_PASSWORD> <MYSQL_DATABASE>sdnctl</MYSQL_DATABASE> <MYSQL_HOST>dbhost</MYSQL_HOST> <SDNC_CONFIG_DIR>/opt/onap/ccsdk/config</SDNC_CONFIG_DIR> </env> <dependsOn> <container>slibootdb</container> </dependsOn> <network> <mode>custom</mode> <name>onap</name> <alias>sliboot</alias> </network> <ports> <port>sliboot.port:8080</port> </ports> <wait> <log>Started SlibootApp</log> <time>120000</time> </wait> <log> <enabled>true</enabled> </log> </run> </image> </images> </configuration> </execution> <execution> <id>stop-it-instance</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> </execution> <execution> <id>push-images</id> <goals> <goal>push</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>