<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright © 2017-2018 AT&T Intellectual Property. ~ ~ Modifications Copyright © 2018 IBM. ~ Modifications Copyright © 2019 Bell Canada. ~ ~ 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. --> <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.cds.blueprintsprocessor</groupId> <artifactId>blueprintsprocessor-parent</artifactId> <version>1.1.3-SNAPSHOT</version> <relativePath>../parent</relativePath> </parent> <artifactId>blueprintsprocessor-application</artifactId> <packaging>jar</packaging> <name>MS Blueprints Processor Application</name> <properties> <serviceArtifactName>blueprintsprocessor</serviceArtifactName> <image.name>onap/ccsdk-blueprintsprocessor</image.name> </properties> <dependencies> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId> <artifactId>blueprint-core</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-security</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- Error Catalog Services --> <dependency> <groupId>org.onap.ccsdk.cds.error.catalog</groupId> <artifactId>error-catalog-services</artifactId> </dependency> <!-- North Bound - Modules --> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId> <artifactId>designer-api</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId> <artifactId>resource-api</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId> <artifactId>selfservice-api</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId> <artifactId>configs-api</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId> <artifactId>health-api</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId> <artifactId>health-api-common</artifactId> </dependency> <!-- Functions --> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>python-executor</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>restful-executor</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>ansible-awx-executor</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>netconf-executor</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>restconf-executor</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>cli-executor</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>config-snapshots</artifactId> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>k8s-connection-plugin</artifactId> </dependency> <!-- Test Dependencies --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.projectreactor</groupId> <artifactId>reactor-test</artifactId> <scope>test</scope> </dependency> <!-- BEGIN UAT --> <dependency> <groupId>org.skyscreamer</groupId> <artifactId>jsonassert</artifactId> </dependency> <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> </dependency> <dependency> <groupId>com.nhaarman.mockitokotlin2</groupId> <artifactId>mockito-kotlin</artifactId> <!-- It's unusual but 'compile' here is the right scope since mockito is being used at runtime by the UatServices (/api/v1/uat/spy and /api/v1/uat/verify endpoints) --> <scope>compile</scope> </dependency> <dependency> <groupId>com.schibsted.spt.data</groupId> <artifactId>jslt</artifactId> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${apache.httpcomponents.client.version}</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>${apache.httpcomponents.client.version}</version> </dependency> <dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock-jre8</artifactId> <version>2.25.0</version> <scope>test</scope> </dependency> <!-- END UAT --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> </dependencies> <build> <resources> <resource> <!--config and resource files --> <directory>${basedir}/etc</directory> <targetPath>${basedir}/target/etc</targetPath> <filtering>true</filtering> <includes> <include>**/*</include> </includes> </resource> <resource> <!--config and resource files --> <directory>${basedir}/src/main/resources</directory> <targetPath>${basedir}/target/src/main/resources</targetPath> <filtering>true</filtering> <includes> <include>**/*</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <!-- Sets the VM argument line used when unit tests are run. --> <argLine>-Xmx1024m -XX:MaxPermSize=256m ${surefireArgLine}</argLine> <!-- Excludes integration tests when unit tests are run. --> <excludes> <exclude>**/IT*.java</exclude> </excludes> <reuseForks>false</reuseForks> <forkCount>1</forkCount> </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>validate</phase> <configuration> <outputDirectory>${basedir}/target/docker-stage</outputDirectory> <resources> <resource> <directory>src/main/docker</directory> <includes> <include>*</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>ant-test</id> <phase>package</phase> <configuration> <tasks> <fixcrlf srcdir="${basedir}" eol="unix" includes="**/*.sh, **/*.source"/> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin><!--build the final artifact for docker deployment --> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> <configuration> <!-- <skipAssembly>${skip.assembly}</skipAssembly> --> <outputDirectory>${basedir}/target/docker-stage</outputDirectory> <descriptors> <descriptor>src/main/docker/distribution.xml</descriptor> </descriptors> <tarLongFileMode>posix</tarLongFileMode> </configuration> <executions> <execution> <id>${assembly.id}</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.0</version> <executions> <execution> <phase>validate</phase> <goals> <goal>execute</goal> </goals> <configuration> <source>${basedir}/../../../TagVersion.groovy</source> </configuration> </execution> </executions> </plugin> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> </plugin> <plugin> <groupId>com.github.kongchen</groupId> <artifactId>swagger-maven-plugin</artifactId> <version>3.1.8</version> <configuration> <apiSources> <apiSource> <springmvc>true</springmvc> <locations> <location>org.onap.ccsdk.cds.blueprintsprocessor.designer.api.BlueprintModelController</location> <location>org.onap.ccsdk.cds.blueprintsprocessor.designer.api.ResourceDictionaryController</location> <location>org.onap.ccsdk.cds.blueprintsprocessor.designer.api.ModelTypeController</location> <location>org.onap.ccsdk.cds.blueprintsprocessor.resource.api</location> <location>org.onap.ccsdk.cds.blueprintsprocessor.configs.api</location> <!-- This location is not implemented yet <location>org.onap.ccsdk.cds.blueprintsprocessor.healthapi</location> --> </locations> <schemes> <scheme>http</scheme> </schemes> <host>localhost:8080</host> <info> <title>CDS Blueprint Processor API Reference</title> <version>v1</version> <description> Shows all resources and endpoints which CDS BP processor currently provides with sample requests/responses, parameter description and other information. </description> <termsOfService> https://www.onap.org/ </termsOfService> <contact> <email>onap-discuss@lists.onap.org</email> <name>ONAP Community</name> <url>https://www.onap.org/</url> </contact> <license> <url>http://www.apache.org/licenses/LICENSE-2.0.html</url> <name>Apache 2.0</name> </license> </info> <securityDefinitions> <securityDefinition> <name>Basic Auth</name> <type>basic</type> </securityDefinition> </securityDefinitions> <outputFormats>json</outputFormats> <swaggerDirectory>${basedir}/../../../docs/api-reference/media</swaggerDirectory> <swaggerFileName>cds-bp-processor-api-swagger</swaggerFileName> <jsonExampleValues>true</jsonExampleValues> <operationIdFormat>{{className}}_{{methodName}}_{{httpMethod}}.{{packageName}}</operationIdFormat> </apiSource> </apiSources> </configuration> <executions> <execution> <phase>compile</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>docker</id> <build> <plugins> <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> <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir> <tags> <tag>${project.docker.latestminortag.version}</tag> <tag>${project.docker.latestfulltag.version}</tag> <tag>${project.docker.latesttagtimestamp.version}</tag> </tags> </build> </image> </images> <verbose>${docker.verbose}</verbose> <skipPush>${docker.skip.push}</skipPush> </configuration> <executions> <execution> <id>build-push-images</id> <goals> <goal>build</goal> <goal>push</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>