<?xml version="1.0"?> <!-- ================================================================================ Copyright (c) 2019 Huawei. All rights reserved. Copyright (c) 2019 AT&T. 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========================================================= --> <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.oparent</groupId> <artifactId>oparent</artifactId> <version>2.0.0</version> <relativePath/> </parent> <groupId>org.onap.dcaegen2.collectors.restconf</groupId> <artifactId>restconfcollector</artifactId> <version>1.2.1-SNAPSHOT</version> <name>dcaegen2-collectors-restconf</name> <description>RestConfCollector</description> <properties> <!-- PROJECT SETTINGS --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>8</java.version> <docker.image.name>onap/org.onap.dcaegen2.collectors.restconfcollector</docker.image.name> <docker.user.name>restconf</docker.user.name> <docker.user.dir>/opt/app/restconfcollector</docker.user.dir> <!-- TEST SETTINGS --> <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile> <!-- PLUGIN SETTINGS --> <dependency.locations.enabled>false</dependency.locations.enabled> <!-- NEXUS RELATED SETTINGS --> <nexusproxy>https://nexus.onap.org</nexusproxy> <snapshots.path>content/repositories/snapshots/</snapshots.path> <releases.path>content/repositories/releases/</releases.path> <site.path>content/sites/site/org/onap/dcaegen2/collectors/restconf/${project.artifactId}/${project.version}</site.path> <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format> <sonar.coverage.jacoco.xmlReportPaths> ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml </sonar.coverage.jacoco.xmlReportPaths> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.0.2.RELEASE</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>3.0.1</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.1.0</version> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>3.0.1</version> </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.9</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M1</version> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java.version}</source> <target>${java.version}</target> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> </configuration> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <configuration> <excludeResources>true</excludeResources> </configuration> <executions> <execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> <manifestEntries> <Implementation-Build-Version>${project.version}</Implementation-Build-Version> </manifestEntries> </archive> </configuration> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptors> <descriptor>src/assembly/dep.xml</descriptor> </descriptors> <attach>false</attach> <appendAssemblyId>false</appendAssemblyId> <updateOnly>true</updateOnly> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <!-- minimize console output messages --> <quiet>true</quiet> <verbose>false</verbose> <useStandardDocletOptions>false</useStandardDocletOptions> </configuration> <executions> <execution> <id>aggregate</id> <phase>site</phase> <goals> <goal>aggregate</goal> </goals> </execution> <execution> <id>attach-javadoc</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <configuration> <serverId>${onap.nexus.dockerregistry.daily}</serverId> <imageName>${onap.nexus.dockerregistry.daily}/${docker.image.name}</imageName> <imageTags> <imageTag>${project.version}-${maven.build.timestamp}Z</imageTag> <imageTag>${project.version}</imageTag> <imageTag>latest</imageTag> </imageTags> <baseImage>openjdk:8-jre-alpine</baseImage> <env> <HOSTALIASES>/etc/host.aliases</HOSTALIASES> </env> <workdir>${docker.user.dir}</workdir> <resources> <resource> <targetPath>.</targetPath> <directory>${project.build.directory}/${project.artifactId}-${project.version}</directory> </resource> </resources> <runs> <run>adduser -h ${docker.user.dir} -D ${docker.user.name}; chown -R ${docker.user.name}: ${docker.user.dir}; chmod +x ${docker.user.dir}/bin/*.sh</run> </runs> <cmd>${docker.user.dir}/bin/docker_entry.sh</cmd> <exposes> <expose>8080</expose> <expose>8687</expose> </exposes> <user>${docker.user.name}</user> </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>false</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}Z</newName> <pushImage>false</pushImage> </configuration> </execution> </executions> --> </plugin> </plugins> </build> <profiles> <profile> <id>with-system-proxy</id> <build> <plugins> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <configuration> <buildArgs> <http_proxy>${env.http_proxy}</http_proxy> </buildArgs> </configuration> </plugin> </plugins> </build> </profile> </profiles> <reporting> <plugins> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <reportSets> <reportSet> <reports> <report>dependencies</report> <report>license</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <failOnError>false</failOnError> <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet> <docletArtifact> <groupId>org.umlgraph</groupId> <artifactId>umlgraph</artifactId> <version>5.6</version> </docletArtifact> <additionalparam>-views</additionalparam> <useStandardDocletOptions>true</useStandardDocletOptions> </configuration> </plugin> </plugins> </reporting> <dependencyManagement> <dependencies> <dependency> <!-- Import dependency management from Spring Boot --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.2.0.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- JSON RELATED --> <dependency> <groupId>com.googlecode.json-simple</groupId> <artifactId>json-simple</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>com.github.fge</groupId> <artifactId>json-schema-validator</artifactId> <version>2.2.6</version> </dependency> <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>libphonenumber</artifactId> <version>8.10.22</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.0</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> <version>5.2.1.RELEASE</version> </dependency> <dependency> <groupId>com.github.fge</groupId> <artifactId>json-schema-core</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20160810</version> </dependency> <!-- REST API RELATED --> <dependency> <groupId>com.att.nsa</groupId> <artifactId>cambriaClient</artifactId> <version>0.0.1</version> </dependency> <dependency> <groupId>com.mashape.unirest</groupId> <artifactId>unirest-java</artifactId> <version>1.4.9</version> </dependency> <!-- MISCELLANEOUS --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.2</version> </dependency> <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.10</version> </dependency> <dependency> <groupId>io.vavr</groupId> <artifactId>vavr</artifactId> <version>0.9.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <version>2.2.0.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.2.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> <version>5.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> <version>2.1.5.RELEASE</version> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.10.5</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>2.27</version> </dependency> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-grizzly2-http</artifactId> <version>2.27</version> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>2.27</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-sse</artifactId> <version>2.27</version> </dependency> <dependency> <groupId>com.sun.jersey.contribs.jersey-oauth</groupId> <artifactId>oauth-client</artifactId> <version>1.19.1</version> </dependency> <dependency> <groupId>com.sun.jersey.contribs.jersey-oauth</groupId> <artifactId>oauth-signature</artifactId> <version>1.19.1</version> <exclusions> <exclusion> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.glassfish.jersey.security</groupId> <artifactId>oauth1-client</artifactId> <version>2.27</version> </dependency> <dependency> <groupId>org.glassfish.jersey.security</groupId> <artifactId>oauth1-signature</artifactId> <version>2.27</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version> </dependency> <dependency> <groupId>org.codehaus.jettison</groupId> <artifactId>jettison</artifactId> <version>1.3.7</version> </dependency> <!-- TESTING --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.3.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.3.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> <version>5.3.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> <version>2.23.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>3.8.0</version> <scope>test</scope> </dependency> <dependency> <groupId>com.google.jimfs</groupId> <artifactId>jimfs</artifactId> <version>1.1</version> <scope>test</scope> </dependency> <dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock-standalone</artifactId> <version>2.17.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <version>5.2.1.RELEASE</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>2.1.0.RELEASE</version> <scope>test</scope> </dependency> <dependency> <groupId>org.onap.dcaegen2.services.sdk.security.crypt</groupId> <artifactId>crypt-password</artifactId> <version>1.3.1</version> </dependency> </dependencies> <repositories> <repository> <id>external-repository</id> <url>https://oss.sonatype.org/content/repositories</url> </repository> </repositories> <pluginRepositories> <!-- Black Duck plugin dependencies --> <pluginRepository> <id>JCenter</id> <name>JCenter Repository</name> <url>http://jcenter.bintray.com</url> </pluginRepository> <pluginRepository> <id>Restlet</id> <name>Restlet Repository</name> <url>http://maven.restlet.com</url> </pluginRepository> </pluginRepositories> </project>