| <?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.apps</groupId> |
| <artifactId>ccsdk-apps-ms</artifactId> |
| <version>1.4.1-SNAPSHOT</version> |
| </parent> |
| |
| <groupId>org.onap.ccsdk.apps</groupId> |
| <artifactId>sliboot</artifactId> |
| <version>1.4.1-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.2.2</base.image.version> |
| <image.name>onap/ccsdk-sliboot-alpine-image</image.name> |
| <ccsdk.project.version>${project.version}</ccsdk.project.version> |
| <ccsdk.distribution.version>1.2.2</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> |
| <version>${gson.version}</version> |
| </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:latest</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> |