<?xml version="1.0" encoding="UTF-8"?> <!-- ============LICENSE_START======================================================= org.onap.aai ================================================================================ Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved. Copyright (c) 2017-2019 European Software Marketing Ltd. ================================================================================ 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.aai</groupId> <artifactId>babel</artifactId> <version>1.5.1-SNAPSHOT</version> <packaging>jar</packaging> <name>aai-babel</name> <description>ONAP AAI Babel Microservice</description> <properties> <!-- Spring boot version --> <spring.boot.version>2.1.6.RELEASE</spring.boot.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <aai.schema.source.folder>onap/aai_schema</aai.schema.source.folder> <aai.schema.target.folder>${project.build.directory}/aai-schema</aai.schema.target.folder> <!-- docker related properties --> <docker.fabric.version>0.28.0</docker.fabric.version> <aai.docker.version>1.0.0</aai.docker.version> <aai.build.directory>${project.build.directory}/${project.artifactId}-${project.version}-build/ </aai.build.directory> <aai.docker.namespace>onap</aai.docker.namespace> <aai.base.image>alpine</aai.base.image> <aai.base.image.version>1.6.0</aai.base.image.version> <!-- Dependency Versions --> <common.logging.version>1.2.2</common.logging.version> <sdc.tosca.version>1.5.1</sdc.tosca.version> <commons.compress.version>1.18</commons.compress.version> <javax.ws.rs.version>2.1</javax.ws.rs.version> <mvn.jaxb2.version>0.13.2</mvn.jaxb2.version> <aai-schema.group.id>org.onap.aai.schema-service</aai-schema.group.id> <aai-schema.version>1.5.0</aai-schema.version> <apache.lang3.version>3.7</apache.lang3.version> <aai.rest.client.version>1.2.1</aai.rest.client.version> <sdc.distribution.client.version>1.3.0</sdc.distribution.client.version> <xmlunit.version>1.6</xmlunit.version> <logback.version>1.2.3</logback.version> <antrun.version>1.8</antrun.version> <!-- This will be used for the docker images as the default format of maven build has issues --> <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> </properties> <dependencyManagement> <dependencies> <dependency> <!-- Import dependency management from Spring Boot --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring.boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <profiles> <!-- Docker profile to be used for building docker image and pushing to nexus --> <profile> <id>docker</id> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.0.0</version> <executions> <execution> <phase>pre-clean</phase> <id>parse-version</id> <goals> <goal>parse-version</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.groovy.maven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.0</version> <executions> <execution> <phase>pre-clean</phase> <goals> <goal>execute</goal> </goals> <configuration> <source> def userAaiBaseImage = session.userProperties['aai.base.image']; def userAaiCommonVersion = session.userProperties['aai.base.image.version']; if (userAaiCommonVersion != null) { project.properties['aai.base.image.version'] = userAaiCommonVersion; } if (userAaiBaseImage != null) { project.properties['aai.base.image'] = userAaiBaseImage; } log.info 'Base image flavour: ' + project.properties['aai.base.image']; log.info 'Base image version: ' + project.properties['aai.base.image.version']; </source> </configuration> </execution> </executions> </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker.fabric.version}</version> <configuration> <verbose>true</verbose> <apiVersion>1.23</apiVersion> <images> <image> <name>${docker.push.registry}/${aai.docker.namespace}/${project.artifactId}:%l </name> <build> <filter>@</filter> <tags> <tag>latest</tag> <tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest</tag> <tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-${maven.build.timestamp}</tag> </tags> <cleanup>try</cleanup> <dockerFileDir>${project.basedir}/src/main/docker</dockerFileDir> <assembly> <inline> <fileSets> <fileSet> <directory>${aai.build.directory}</directory> <outputDirectory>/${project.artifactId}</outputDirectory> </fileSet> </fileSets> </inline> </assembly> </build> </image> </images> </configuration> <executions> <execution> <id>clean-images</id> <phase>pre-clean</phase> <goals> <goal>remove</goal> </goals> <configuration> <removeAll>true</removeAll> </configuration> </execution> <execution> <id>generate-images</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>push-images</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.onap.aai.logging-service</groupId> <artifactId>common-logging</artifactId> <version>${common.logging.version}</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version><!--$NO-MVN-MAN-VER$--> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${logback.version}</version><!--$NO-MVN-MAN-VER$--> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>${commons.compress.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>${javax.ws.rs.version}</version> </dependency> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> </dependency> <dependency> <groupId>org.onap.sdc.sdc-tosca</groupId> <artifactId>sdc-tosca</artifactId> <version>${sdc.tosca.version}</version> </dependency> <dependency> <groupId>org.onap.aai</groupId> <artifactId>rest-client</artifactId> <version>${aai.rest.client.version}</version> </dependency> <!-- Testing --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.onap.sdc.sdc-distribution-client</groupId> <artifactId>sdc-distribution-client</artifactId> <version>${sdc.distribution.client.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>xmlunit</groupId> <artifactId>xmlunit</artifactId> <version>${xmlunit.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring.boot.version}</version> <configuration> <jvmArguments> -DCONFIG_HOME=./appconfig-local -DAPP_HOME=. -Dtosca.mappings.config=./appconfig-local/tosca-mappings.json -DKEY_STORE_PASSWORD=${KEY_STORE_PASSWORD} </jvmArguments> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack</id> <phase>initialize</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>${aai-schema.group.id}</groupId> <artifactId>aai-schema</artifactId> <version>${aai-schema.version}</version> <type>jar</type> <includes>${aai.schema.source.folder}/aai_schema_v**.xsd</includes> <outputDirectory>${project.build.directory}/tmp</outputDirectory> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>${antrun.version}</version> <executions> <execution> <id>Flatten XSDs</id> <phase>initialize</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <copy todir="${aai.schema.target.folder}" flatten="true"> <fileset dir="${project.build.directory}/tmp"> <include name="**/*.xsd"/> </fileset> </copy> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> <version>${mvn.jaxb2.version}</version> <executions> <execution> <phase>process-sources</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <schemaDirectory>${aai.schema.target.folder}</schemaDirectory> <generatePackage>org.onap.aai.babel.xml.generator.xsd</generatePackage> <generateDirectory>${project.build.directory}/generated-sources</generateDirectory> <schemaIncludes> <include>aai_schema_latest.xsd</include> </schemaIncludes> <extension>true</extension> <args> <arg>-Xannotate</arg> </args> <plugins> <plugin> <groupId>org.jvnet.jaxb2_commons</groupId> <artifactId>jaxb2-basics-annotate</artifactId> <version>0.6.4</version> </plugin> <!-- Add the dependencies with your annotations as 'plugins' below --> <plugin> <groupId>org.jvnet.jaxb2_commons</groupId> <artifactId>jaxb2-annotate-plugin-test-annox-annotations</artifactId> <version>1.0.0</version> </plugin> </plugins> </configuration> </plugin> <plugin> <artifactId>exec-maven-plugin</artifactId> <groupId>org.codehaus.mojo</groupId> <version>1.5.0</version> <executions> <execution><!-- Run our script to get latest xsd version --> <id>Get latest xsd version</id> <phase>generate-sources</phase> <goals> <goal>exec</goal> </goals> <configuration> <workingDirectory>${basedir}/scripts</workingDirectory> <executable>bash</executable> <commandlineArgs>get-latest-xsd-version.sh ${basedir}</commandlineArgs> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptors> <descriptor>src/main/assembly/descriptor.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.mycila</groupId> <artifactId>license-maven-plugin</artifactId> <version>3.0</version> <configuration> <header>License.txt</header> <includes> <include>src/main/java/**</include> <include>src/test/java/**</include> <include>pom.xml</include> </includes> <skipExistingHeaders>true</skipExistingHeaders> </configuration> <executions> <execution> <goals> <!-- Set goal from "check" to "format" to auto update license headers --> <goal>check</goal> </goals> <phase>validate</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <reuseForks>false</reuseForks> <forkCount>1</forkCount> <environmentVariables> <APP_HOME>.</APP_HOME> <CONFIG_HOME>src/test/resources</CONFIG_HOME> </environmentVariables> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <executions> <execution> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <classifier>client</classifier> <includes> <include>**/babel/service/data/*</include> </includes> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <configuration> <classifier>client</classifier> </configuration> </plugin> </plugins> </build> </project>