| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" |
| 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.pnfsimulator</groupId> |
| <artifactId>pnf-simulator</artifactId> |
| <version>2.0.0-SNAPSHOT</version> |
| |
| <name>pnf-simulator</name> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <maven.compiler.source>1.8</maven.compiler.source> |
| <maven.compiler.target>1.8</maven.compiler.target> |
| <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format> |
| |
| <simulator.main.class>org.onap.pnfsimulator.Main</simulator.main.class> |
| <docker.image.tag>latest</docker.image.tag> |
| <junit.jupiter.version>5.1.0</junit.jupiter.version> |
| <junit.vintage.version>5.1.0</junit.vintage.version> |
| <docker.image.name>onap/${project.artifactId}</docker.image.name> |
| |
| <dependency.directory.name>libs</dependency.directory.name> |
| <dependency.directory.location>${project.build.directory}/${dependency.directory.name} |
| </dependency.directory.location> |
| |
| <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter</artifactId> |
| <version>2.0.2.RELEASE</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-web</artifactId> |
| <version>2.0.2.RELEASE</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>1.2.3</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| <version>1.2.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>1.7.25</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.6</version> |
| </dependency> |
| <dependency> |
| <groupId>org.json</groupId> |
| <artifactId>json</artifactId> |
| <version>20180130</version> |
| </dependency> |
| <dependency> |
| <groupId>org.everit.json</groupId> |
| <artifactId>org.everit.json.schema</artifactId> |
| <version>1.3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.fge</groupId> |
| <artifactId>json-schema-validator</artifactId> |
| <version>2.2.6</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.gson</groupId> |
| <artifactId>gson</artifactId> |
| <version>2.8.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient</artifactId> |
| <version>4.5.5</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>21.0</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-cli</groupId> |
| <artifactId>commons-cli</artifactId> |
| <version>1.4</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>3.7</version> |
| </dependency> |
| <dependency> |
| <groupId>org.onosproject</groupId> |
| <artifactId>jnc</artifactId> |
| <version>1.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.onosproject</groupId> |
| <artifactId>jnc</artifactId> |
| <version>1.0</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-api</artifactId> |
| <version>${junit.jupiter.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <version>5.1.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-migrationsupport</artifactId> |
| <version>${junit.jupiter.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.vintage</groupId> |
| <artifactId>junit-vintage-engine</artifactId> |
| <version>${junit.vintage.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.assertj</groupId> |
| <artifactId>assertj-core</artifactId> |
| <version>3.9.1</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.sshd</groupId> |
| <artifactId>sshd-core</artifactId> |
| <version>0.9.0</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>2.18.3</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-test</artifactId> |
| <version>5.0.4.RELEASE</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework.boot</groupId> |
| <artifactId>spring-boot-starter-test</artifactId> |
| <version>2.0.1.RELEASE</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <source>${maven.compiler.source}</source> |
| <target>${maven.compiler.target}</target> |
| <showWarnings>true</showWarnings> |
| <showDeprecation>true</showDeprecation> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <archive> |
| <manifestEntries> |
| <Main-Class>${simulator.main.class}</Main-Class> |
| <Build-Time>${maven.build.timestamp}</Build-Time> |
| </manifestEntries> |
| </archive> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>pl.project13.maven</groupId> |
| <artifactId>git-commit-id-plugin</artifactId> |
| <version>2.2.4</version> |
| <executions> |
| <execution> |
| <id>get-commit-info</id> |
| <goals> |
| <goal>revision</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <dotGitDirectory>${project.basedir}/.git</dotGitDirectory> |
| <generateGitPropertiesFile>true</generateGitPropertiesFile> |
| <includeOnlyProperties>git.commit.id.abbrev</includeOnlyProperties> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.19</version> |
| <dependencies> |
| <dependency> |
| <groupId>org.junit.platform</groupId> |
| <artifactId>junit-platform-surefire-provider</artifactId> |
| <version>1.1.1</version> |
| </dependency> |
| </dependencies> |
| <configuration> |
| <detail>true</detail> |
| <printSummary>true</printSummary> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <configuration> |
| <outputDirectory>${dependency.directory.location}</outputDirectory> |
| <includeScope>runtime</includeScope> |
| <silent>true</silent> |
| </configuration> |
| <executions> |
| <execution> |
| <id>copy-external-dependencies</id> |
| <phase>package</phase> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>com.spotify</groupId> |
| <artifactId>docker-maven-plugin</artifactId> |
| <version>1.0.0</version> |
| <configuration> |
| <serverId>${onap.nexus.dockerregistry.daily}</serverId> |
| <imageName>${docker.image.name}</imageName> |
| <imageTags> |
| <tag>latest</tag> |
| </imageTags> |
| <baseImage>openjdk:8-jre-alpine</baseImage> |
| <cmd>java -cp ${dependency.directory.name}/*:${project.build.finalName}.jar ${simulator.main.class}</cmd> |
| <resources> |
| <resource> |
| <targetPath>${dependency.directory.name}</targetPath> |
| <directory>${dependency.directory.location}</directory> |
| </resource> |
| <resource> |
| <targetPath>/</targetPath> |
| <directory>${project.build.directory}</directory> |
| <include>${project.build.finalName}.jar</include> |
| </resource> |
| </resources> |
| </configuration> |
| <executions> |
| <execution> |
| <id>build-image</id> |
| <phase>package</phase> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>tag-and-push-image-latest</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>${docker.image.name}:latest</image> |
| <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:latest</newName> |
| <pushImage>true</pushImage> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tag-and-push-image-with-version</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>${docker.image.name}:latest</image> |
| <newName>${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}</newName> |
| <pushImage>true</pushImage> |
| </configuration> |
| </execution> |
| <execution> |
| <id>tag-and-push-image-with-version-and-date</id> |
| <phase>deploy</phase> |
| <goals> |
| <goal>tag</goal> |
| </goals> |
| <configuration> |
| <image>${docker.image.name}:latest</image> |
| <newName> |
| ${onap.nexus.dockerregistry.daily}/${docker.image.name}:${project.version}-${maven.build.timestamp} |
| </newName> |
| <pushImage>true</pushImage> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>org/onap/pnfsimulator/Main.class</exclude> |
| </excludes> |
| </configuration> |
| <executions> |
| <execution> |
| <id>default-prepare-agent</id> |
| <goals> |
| <goal>prepare-agent</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>report</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>report</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>check</id> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <rules> |
| <rule> |
| <element>CLASS</element> |
| <limits> |
| <limit> |
| <value>COVEREDRATIO</value> |
| <minimum>0.70</minimum> |
| </limit> |
| <limit> |
| <counter>BRANCH</counter> |
| <value>COVEREDRATIO</value> |
| <minimum>0.75</minimum> |
| </limit> |
| </limits> |
| </rule> |
| </rules> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |