| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| ============LICENSE_START======================================================= |
| ONAP CLAMP |
| ================================================================================ |
| Copyright (C) 2017-2018 AT&T 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============================================ |
| =================================================================== |
| ECOMP is a trademark and service mark of AT&T Intellectual Property. |
| --> |
| |
| <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> |
| <groupId>org.onap.clamp</groupId> |
| <artifactId>clds</artifactId> |
| <version>2.0.0-SNAPSHOT</version> |
| <name>clamp</name> |
| |
| <parent> |
| <groupId>org.onap.oparent</groupId> |
| <artifactId>oparent</artifactId> |
| <version>1.1.0</version> |
| </parent> |
| |
| <description> |
| This project build the ONAP CLAMP JAR that contains CLAMP back-end code and its UI part. |
| |
| By Default "mvn clean install" command will execute also the unit tests |
| and the integration tests. The integration tests require a docker engine running. |
| |
| If you want to skip the integration test you can by doing: |
| "mvn clean install -DskipITs=true" |
| |
| For Spring it's possible to specify the application.properties location |
| "mvn clean install -Dspring.config.location=classpath:application-test.properties" |
| |
| The application.properties contains the location of the CLAMP parameters files: |
| - org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties |
| - org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties |
| - org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json |
| - org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties |
| |
| </description> |
| |
| <properties> |
| <maven.build.timestamp.format>yyyy.MM.dd'T'hh.mm.ss'Z'</maven.build.timestamp.format> |
| <clamp.project.version>${project.version}</clamp.project.version> |
| <clamp.build.timestamp>${maven.build.timestamp}</clamp.build.timestamp> |
| <maven.compiler.source>1.8</maven.compiler.source> |
| <maven.compiler.target>1.8</maven.compiler.target> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> |
| |
| <docker.mariadb.port.host>3306</docker.mariadb.port.host> |
| <docker.http-cache.port.host>8085</docker.http-cache.port.host> |
| <project.scm.id>git-server</project.scm.id> |
| <java.version>1.8</java.version> |
| |
| <swagger.jaxrs2.version>2.0.0-rc4</swagger.jaxrs2.version> |
| <guava.version>20.0</guava.version> |
| <eelf.core.version>1.0.0</eelf.core.version> |
| <camel.version>2.20.1</camel.version> |
| <springboot.version>1.5.10.RELEASE</springboot.version> |
| |
| <sonar.language>java</sonar.language> |
| <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> |
| <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath> |
| <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath> |
| <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath> |
| <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero> |
| <sonar.projectVersion>${project.version}</sonar.projectVersion> |
| |
| <docker.push.registry>localhost:5000</docker.push.registry> |
| <skip.docker.build>true</skip.docker.build> |
| <skip.docker.push>true</skip.docker.push> |
| <skip.staging.artifacts>false</skip.staging.artifacts> |
| <http.proxy></http.proxy> |
| </properties> |
| |
| <distributionManagement> |
| <repository> |
| <id>ecomp-releases</id> |
| <name>Clamp Release Repository</name> |
| <url>https://nexus.onap.org/content/repositories/releases/</url> |
| </repository> |
| <snapshotRepository> |
| <id>ecomp-snapshots</id> |
| <name>Clamp Snapshot Repository</name> |
| <url>https://nexus.onap.org/content/repositories/snapshots/</url> |
| </snapshotRepository> |
| <site> |
| <id>ecomp-site</id> |
| <url>dav:https://nexus.onap.org/content/sites/site/org/onap/clamp/${project.version}</url> |
| </site> |
| </distributionManagement> |
| |
| <repositories> |
| <repository> |
| <id>central</id> |
| <name>Maven 2 repository 2</name> |
| <url>http://repo2.maven.org/maven2/</url> |
| </repository> |
| <repository> |
| <id>ecomp-releases</id> |
| <name>ONAP Release Repository</name> |
| <url>https://nexus.onap.org/content/repositories/releases/</url> |
| </repository> |
| <repository> |
| <id>ecomp-staging</id> |
| <name>ONAP Staging Repository</name> |
| <url>https://nexus.onap.org/content/repositories/staging/</url> |
| </repository> |
| <repository> |
| <id>ecomp-snapshots</id> |
| <name>ONAP Snapshot Repository</name> |
| <url>https://nexus.onap.org/content/repositories/snapshots/</url> |
| <snapshots> |
| <enabled>true</enabled> |
| </snapshots> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| </repository> |
| <repository> |
| <id>spring-repo</id> |
| <name>Spring repo</name> |
| <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url> |
| </repository> |
| <repository> |
| <id>repository.jboss.org-public</id> |
| <name>JBoss.org Maven repository</name> |
| <url>https://repository.jboss.org/nexus/content/groups/public</url> |
| </repository> |
| </repositories> |
| |
| <dependencyManagement> |
| <dependencies> |
| <!-- Spring Boot BOM --> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-dependencies</artifactId> |
| <version>${springboot.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| <!-- Camel BOM --> |
| <dependency> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>camel-spring-boot-dependencies</artifactId> |
| <version>${camel.version}</version> |
| <type>pom</type> |
| <scope>import</scope> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <!-- Swagger requires at least v20 and policy is bringing version 14 --> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>io.swagger.core.v3</groupId> |
| <artifactId>swagger-jaxrs2</artifactId> |
| <version>${swagger.jaxrs2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.att.eelf</groupId> |
| <artifactId>eelf-core</artifactId> |
| <version>${eelf.core.version}</version> |
| </dependency> |
| <!-- For CAMEL --> |
| <dependency> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>camel-spring-boot-starter</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>camel-jaxb-starter</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>camel-servlet-starter</artifactId> |
| </dependency> |
| <!-- Spring famework --> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-web</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-tomcat</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.paypal.springboot</groupId> |
| <artifactId>resteasy-spring-boot-starter</artifactId> |
| <version>2.3.4-RELEASE</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-jdbc</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-security</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-actuator</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-test</artifactId> |
| <scope>test</scope> |
| <exclusions> |
| <exclusion> |
| <groupId>com.vaadin.external.google</groupId> |
| <artifactId>android-json</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <!-- Others dependencies --> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| <version>1.2.3</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>1.2.3</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-dbcp</groupId> |
| <artifactId>commons-dbcp</artifactId> |
| <version>1.4</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.6</version> |
| </dependency> |
| <dependency> |
| <groupId>com.googlecode.json-simple</groupId> |
| <artifactId>json-simple</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-vfs2</artifactId> |
| <version>2.2</version> |
| </dependency> |
| <dependency> |
| <groupId>joda-time</groupId> |
| <artifactId>joda-time</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>javax.ws.rs</groupId> |
| <artifactId>javax.ws.rs-api</artifactId> |
| <version>2.0</version> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>javax.transaction</groupId> |
| <artifactId>jta</artifactId> |
| <version>1.1</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.persistence</groupId> |
| <artifactId>persistence-api</artifactId> |
| <version>1.0.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.hibernate</groupId> |
| <artifactId>hibernate-annotations</artifactId> |
| <version>3.5.6-Final</version> |
| </dependency> |
| <dependency> |
| <groupId>dom4j</groupId> |
| <artifactId>dom4j</artifactId> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.onap.policy.engine</groupId> |
| <artifactId>PolicyEngineAPI</artifactId> |
| <version>1.1.0</version> |
| <exclusions> |
| <exclusion> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>apache-log4j-extras</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>mysql</groupId> |
| <artifactId>mysql-connector-java</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>grizzly-http</artifactId> |
| <groupId>org.glassfish.grizzly</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.policy.common</groupId> |
| <artifactId>ONAP-Logging</artifactId> |
| <version>1.1.0</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>apache-log4j-extras</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.policy.engine</groupId> |
| <artifactId>PolicyEngineUtils</artifactId> |
| <version>1.1.0</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>apache-log4j-extras</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>mysql</groupId> |
| <artifactId>mysql-connector-java</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mariadb.jdbc</groupId> |
| <artifactId>mariadb-java-client</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>com.att.nsa</groupId> |
| <artifactId>dmaapClient</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.policy.drools-applications</groupId> |
| <artifactId>policy-yaml</artifactId> |
| <version>1.1.0</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>apache-log4j-extras</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.policy.drools-applications</groupId> |
| <artifactId>sdc</artifactId> |
| <version>1.1.0</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>apache-log4j-extras</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.policy.drools-applications</groupId> |
| <artifactId>aai</artifactId> |
| <version>1.1.0</version> |
| <exclusions> |
| <exclusion> |
| <artifactId>log4j</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| <exclusion> |
| <artifactId>apache-log4j-extras</artifactId> |
| <groupId>log4j</groupId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-csv</artifactId> |
| <version>1.3</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.faces</groupId> |
| <artifactId>jsf-api</artifactId> |
| <version>2.1.7</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.faces</groupId> |
| <artifactId>jsf-impl</artifactId> |
| <version>2.1.7</version> |
| </dependency> |
| <!-- Other dependencies to fix nexus IQ reported vulnerabilities --> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-utils</artifactId> |
| <version>3.0.24</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-fileupload</groupId> |
| <artifactId>commons-fileupload</artifactId> |
| <version>1.3.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jboss.spec.javax.ws.rs</groupId> |
| <artifactId>jboss-jaxrs-api_2.0_spec</artifactId> |
| <version>1.0.1.Final</version> |
| </dependency> |
| <!-- Remove the MYSQL connector and replace it by Mariadb --> |
| <dependency> |
| <groupId>org.mariadb.jdbc</groupId> |
| <artifactId>mariadb-java-client</artifactId> |
| <version>2.2.1</version> |
| </dependency> |
| <!-- For SDC Controller --> |
| <dependency> |
| <groupId>org.onap.sdc.sdc-distribution-client</groupId> |
| <artifactId>sdc-distribution-client</artifactId> |
| <version>1.3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.onap.sdc.sdc-tosca</groupId> |
| <artifactId>sdc-tosca</artifactId> |
| <version>1.3.3</version> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <finalName>clamp</finalName> |
| |
| <testResources> |
| <testResource> |
| <directory>src/test/resources</directory> |
| <excludes> |
| <exclude>**/*.jks</exclude> |
| <exclude>**/*.csar</exclude> |
| </excludes> |
| <filtering>true</filtering> |
| </testResource> |
| <testResource> |
| <directory>src/test/resources/https</directory> |
| <includes> |
| <include>**.jks</include> |
| </includes> |
| <filtering>false</filtering> |
| <targetPath>https</targetPath> |
| </testResource> |
| <testResource> |
| <directory>src/test/resources/example/sdc</directory> |
| <includes> |
| <include>**.csar</include> |
| </includes> |
| <filtering>false</filtering> |
| <targetPath>example/sdc</targetPath> |
| </testResource> |
| </testResources> |
| <resources> |
| <resource> |
| <directory>src/main/resources</directory> |
| <filtering>true</filtering> |
| </resource> |
| <resource> |
| <directory>src/main/docker</directory> |
| <includes> |
| <include>**/*</include> |
| </includes> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| |
| <plugins> |
| <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>${project.basedir}/src/main/script/TagVersion.groovy</source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>3.0.2</version> |
| <executions> |
| <execution> |
| <id>jar-with-only-classes</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <configuration> |
| <classifier>classes</classifier> |
| <includes> |
| <include>org/**</include> |
| </includes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.0.0</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>attach-artifact</goal> |
| </goals> |
| <phase>package</phase> |
| <configuration> |
| <artifacts> |
| <artifact> |
| <file>${project.build.directory}/clamp-classes.jar</file> |
| <type>jar</type> |
| <classifier>classes</classifier> |
| </artifact> |
| </artifacts> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-maven-plugin</artifactId> |
| <version>${springboot.version}</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>repackage</goal> |
| </goals> |
| <phase>package</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>nexus-staging-maven-plugin</artifactId> |
| <version>1.6.7</version> |
| <extensions>true</extensions> |
| <configuration> |
| <nexusUrl>https://nexus.onap.org</nexusUrl> |
| <stagingProfileId>176c31dfe190a</stagingProfileId> |
| <serverId>ecomp-staging</serverId> |
| <skipNexusStagingDeployMojo>${skip.staging.artifacts}</skipNexusStagingDeployMojo> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>com.spotify</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <version>1.0.0</version> |
| <configuration> |
| <imageName>onap/clamp</imageName> |
| <dockerDirectory>src/main/docker</dockerDirectory> |
| <serverId>docker-hub</serverId> |
| <imageTags> |
| <imageTag>latest</imageTag> |
| <imageTag>${project.docker.latesttagtimestamp.version}</imageTag> |
| <imageTag>${project.docker.latesttag.version}</imageTag> |
| </imageTags> |
| <forceTags>true</forceTags> |
| <resources> |
| <resource> |
| <targetPath>/</targetPath> |
| <directory>${project.build.directory}</directory> |
| <include>${project.build.finalName}.jar</include> |
| </resource> |
| <resource> |
| <targetPath>/</targetPath> |
| <directory>${project.build.directory}</directory> |
| <include>etc/config/**</include> |
| </resource> |
| <resource> |
| <targetPath>/</targetPath> |
| <directory>${project.build.directory}</directory> |
| <include>etc/keystore/**</include> |
| </resource> |
| </resources> |
| </configuration> |
| <executions> |
| <execution> |
| <id>build-image</id> |
| <phase>package</phase> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| <configuration> |
| <skipDockerBuild>${skip.docker.build}</skipDockerBuild> |
| <buildArgs> |
| <http_proxy>${env.HTTP_PROXY}</http_proxy> |
| <https_proxy>${env.HTTPS_PROXY}</https_proxy> |
| </buildArgs> |
| </configuration> |
| </execution> |
| |
| <execution> |
| <id>tag-image-latest-timestamp</id> |
| <phase>package</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>onap/clamp</image> |
| <newName>${docker.push.registry}/onap/clamp:${project.docker.latesttagtimestamp.version}</newName> |
| <skipDockerTag>${skip.docker.push}</skipDockerTag> |
| </configuration> |
| </execution> |
| <execution> |
| <id>push-image-latest-timestamp</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>push</goal> |
| </goals> |
| <configuration> |
| <imageName>${docker.push.registry}/onap/clamp:${project.docker.latesttagtimestamp.version}</imageName> |
| <skipDockerPush>${skip.docker.push}</skipDockerPush> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tag-image-latest</id> |
| <phase>package</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>onap/clamp</image> |
| <newName>${docker.push.registry}/onap/clamp:${project.docker.latesttag.version}</newName> |
| <skipDockerTag>${skip.docker.push}</skipDockerTag> |
| </configuration> |
| </execution> |
| <execution> |
| <id>push-image-latest</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>push</goal> |
| </goals> |
| <configuration> |
| <imageName>${docker.push.registry}/onap/clamp:${project.docker.latesttag.version}</imageName> |
| <skipDockerPush>${skip.docker.push}</skipDockerPush> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tag-image</id> |
| <phase>package</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>onap/clamp</image> |
| <newName>${docker.push.registry}/onap/clamp:latest</newName> |
| <skipDockerTag>${skip.docker.push}</skipDockerTag> |
| </configuration> |
| </execution> |
| <execution> |
| <id>push-image</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>push</goal> |
| </goals> |
| <configuration> |
| <imageName>${docker.push.registry}/onap/clamp:latest</imageName> |
| <skipDockerPush>${skip.docker.push}</skipDockerPush> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.19.1</version> |
| <configuration> |
| <forkCount>1</forkCount> |
| <reuseForks>false</reuseForks> |
| </configuration> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>2.16</version> |
| |
| <executions> |
| <execution> |
| <id>integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <includes> |
| <include>**/*ItCase.java</include> |
| </includes> |
| <forkCount>1</forkCount> |
| <reuseForks>false</reuseForks> |
| </configuration> |
| </execution> |
| </executions> |
| |
| </plugin> |
| <plugin> |
| <groupId>io.fabric8</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <version>0.16.5</version> |
| <configuration> |
| <verbose>true</verbose> |
| <apiVersion>1.23</apiVersion> |
| <images> |
| <image> |
| <name>mariadb:10.1.11</name> |
| <alias>mariadb</alias> |
| <run> |
| <env> |
| <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD> |
| </env> |
| <hostname>mariadb</hostname> |
| <volumes> |
| <bind> |
| <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d</volume> |
| <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume> |
| </bind> |
| </volumes> |
| <wait> |
| <log>socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution</log> |
| <time>600000</time> |
| </wait> |
| <ports> |
| <port>${docker.mariadb.port.host}:3306</port> |
| </ports> |
| </run> |
| </image> |
| <image> |
| <name>python:2-slim</name> |
| <alias>python</alias> |
| <run> |
| <hostname>python</hostname> |
| <volumes> |
| <bind> |
| <volume>${project.basedir}/src/test/resources/http-cache/:/usr/src/http-cache-app</volume> |
| <volume>${project.basedir}/src/test/resources/http-cache/example/:/usr/src/http-cache-app/data-cache</volume> |
| </bind> |
| </volumes> |
| <wait> |
| <tcp> |
| <ports> |
| <port>8080</port> |
| </ports> |
| <mode>direct</mode> |
| </tcp> |
| <time>120000</time> |
| </wait> |
| <ports> |
| <port>${docker.http-cache.port.host}:8080</port> |
| </ports> |
| <workingDir>/usr/src/http-cache-app</workingDir> |
| <cmd> |
| <shell>./start_http_cache.sh ${http.proxy} --python_proxyaddress localhost:${docker.http-cache.port.host}</shell> |
| </cmd> |
| </run> |
| </image> |
| </images> |
| <skip>${skipITs}</skip> |
| </configuration> |
| |
| <executions> |
| <execution> |
| <id>docker-start-for-it</id> |
| <phase>pre-integration-test</phase> |
| <goals> |
| <goal>start</goal> |
| </goals> |
| <configuration> |
| <skip>${skipITs}</skip> |
| </configuration> |
| </execution> |
| <execution> |
| <id>docker-stop-for-it</id> |
| <phase>post-integration-test</phase> |
| <goals> |
| <goal>stop</goal> |
| </goals> |
| <configuration> |
| <skip>${skipITs}</skip> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>0.7.7.201606060606</version> |
| <configuration> |
| <dumpOnExit>true</dumpOnExit> |
| <includes> |
| <include>org.onap.clamp.*</include> |
| </includes> |
| </configuration> |
| <executions> |
| <execution> |
| <id>pre-unit-test</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| <configuration> |
| <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile> |
| <!-- <append>true</append> --> |
| </configuration> |
| </execution> |
| <execution> |
| <id>pre-integration-test</id> |
| <phase>pre-integration-test</phase> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| <configuration> |
| <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile> |
| <!-- <append>true</append> --> |
| </configuration> |
| </execution> |
| <execution> |
| <goals> |
| <goal>merge</goal> |
| </goals> |
| <phase>post-integration-test</phase> |
| <configuration> |
| <fileSets> |
| <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet"> |
| <directory>${project.build.directory}/coverage-reports</directory> |
| <includes> |
| <include>*.exec</include> |
| </includes> |
| </fileSet> |
| </fileSets> |
| <destFile>${project.build.directory}/jacoco-dev.exec</destFile> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- This plugin will be useful when we will have multi-modules project --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>versions-maven-plugin</artifactId> |
| <version>1.3.1</version> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <id>docker</id> |
| <properties> |
| <skip.staging.artifacts>true</skip.staging.artifacts> |
| <skip.docker.build>false</skip.docker.build> |
| <skip.docker.tag>false</skip.docker.tag> |
| <skip.docker.push>false</skip.docker.push> |
| </properties> |
| </profile> |
| </profiles> |
| </project> |