| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Copyright (C) 2019 Bell Canada |
| Modification Copyright © 2018-2019 AT&T Intellectual Property. |
| |
| Unless otherwise specified, all software contained herein is licensed |
| under the Apache License, Version 2.0 (the License); |
| you may not use this software 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.parent</groupId> |
| <artifactId>spring-boot-starter-parent</artifactId> |
| <version>2.1.0-SNAPSHOT</version> |
| <relativePath/> |
| </parent> |
| |
| <groupId>org.onap.ccsdk.cds</groupId> |
| <artifactId>cds-aggregator</artifactId> |
| <version>1.1.0-SNAPSHOT</version> |
| <packaging>pom</packaging> |
| |
| <name>Aggregator</name> |
| <description>CCSDK Controller Design Studio</description> |
| <url>https://wiki.onap.org</url> |
| <organization> |
| <name>ONAP</name> |
| </organization> |
| |
| <modules> |
| <module>ms</module> |
| <module>cds-ui</module> |
| <module>components</module> |
| </modules> |
| |
| <properties> |
| <!--Don't set any language to let sonar enable multi-language support--> |
| <sonar.language/> |
| <!--Provide src/main as source path so both src/main/java and src/main/kotlin are scanned--> |
| <sonar.sources>src/main</sonar.sources> |
| <!--Provide src/test as source path for test so both src/test/java and src/test/kotlin are scanned--> |
| <sonar.tests>src/test</sonar.tests> |
| <!--Only include java and kt files to the scan--> |
| <sonar.inclusions>**/*.java,**/*.kt</sonar.inclusions> |
| <!--Specify path to load jacoco XLM report, as Sonar can't load Kotlin coverage from binary report--> |
| <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml |
| </sonar.coverage.jacoco.xmlReportPaths> |
| <jacoco.version>0.8.3</jacoco.version> |
| |
| <!-- Properties for POM Format --> |
| <format.skipValidate>false</format.skipValidate> |
| <format.skipExecute>true</format.skipExecute> |
| <java.version>11</java.version> |
| <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version> |
| <maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version> |
| |
| <!-- docker related properties --> |
| <docker.verbose>true</docker.verbose> |
| <docker.skip.push>false</docker.skip.push> |
| <docker.push.phase>deploy</docker.push.phase> |
| <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp> |
| <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format> |
| |
| <ccsdk.cds.version>${project.version}</ccsdk.cds.version> |
| </properties> |
| |
| <build> |
| <pluginManagement> |
| <plugins> |
| <!--TODO: This plugin is broken. Find replacement--> |
| <!-- Plugin to Format/Validate POM Files --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>tidy-maven-plugin</artifactId> |
| <version>1.1.0</version> |
| <executions> |
| <execution> |
| <id>format-pom</id> |
| <phase>process-sources</phase> |
| <goals> |
| <goal>pom</goal> |
| </goals> |
| <configuration> |
| <skip>${format.skipExecute}</skip> |
| </configuration> |
| </execution> |
| <execution> |
| <id>validate-pom</id> |
| <phase>validate</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| <configuration> |
| <skip>${format.skipValidate}</skip> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Plugin to Format/Validate Kotlin Files --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <version>${maven-antrun-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>validate-kotlin</id> |
| <phase>validate</phase> |
| <configuration> |
| <target name="ktlint"> |
| <java taskname="ktlint" dir="${project.basedir}" fork="true" failonerror="true" classname="com.pinterest.ktlint.Main" classpathref="maven.plugin.classpath"> |
| <arg value="src/**/*.kt"/> |
| <arg value="Scripts/**/*.kt"/> |
| </java> |
| </target> |
| <skip>${format.skipValidate}</skip> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>format-kotlin</id> |
| <phase>process-sources</phase> |
| <configuration> |
| <target name="ktlint"> |
| <java taskname="ktlint" dir="${project.basedir}" fork="true" failonerror="true" classname="com.pinterest.ktlint.Main" classpathref="maven.plugin.classpath"> |
| <arg value="-F"/> |
| <arg value="src/**/*.kt"/> |
| <arg value="Scripts/**/*.kt"/> |
| </java> |
| </target> |
| <skip>${format.skipExecute}</skip> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>com.pinterest</groupId> |
| <artifactId>ktlint</artifactId> |
| <version>0.39.0</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <!-- Plugin to identify root path of the project --> |
| <plugin> |
| <groupId>org.commonjava.maven.plugins</groupId> |
| <artifactId>directory-maven-plugin</artifactId> |
| <version>0.3</version> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <id>directories</id> |
| <goals> |
| <goal>highest-basedir</goal> |
| </goals> |
| <configuration> |
| <property>baseDirPath</property> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <!-- Plugin to Format/Validate Java Classes --> |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| <version>2.12.0</version> |
| <executions> |
| <execution> |
| <id>format-java</id> |
| <goals> |
| <goal>format</goal> |
| </goals> |
| <phase>process-sources</phase> |
| <configuration> |
| <lineEnding>LF</lineEnding> |
| <skip>${format.skipExecute}</skip> |
| <sourceDirectory>${project.basedir}</sourceDirectory> |
| <configFile>${baseDirPath}/ONAP-Java-Code-Style.xml</configFile> |
| <includes> |
| <include>src/**/*.java</include> |
| </includes> |
| </configuration> |
| </execution> |
| <execution> |
| <id>validate-java</id> |
| <goals> |
| <goal>validate</goal> |
| </goals> |
| <phase>validate</phase> |
| <configuration> |
| <lineEnding>LF</lineEnding> |
| <skip>${format.skipValidate}</skip> |
| <sourceDirectory>${project.basedir}</sourceDirectory> |
| <configFile>${baseDirPath}/ONAP-Java-Code-Style.xml</configFile> |
| <includes> |
| <include>src/**/*.java</include> |
| </includes> |
| </configuration> |
| </execution> |
| </executions> |
| <dependencies> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>${jackson-bom.version}</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| |
| <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>${surefireArgLine}</argLine> |
| <!-- Excludes integration tests when unit tests are run. --> |
| <excludes> |
| <exclude>**/IT*.java</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <version>${maven-failsafe-plugin.version}</version> |
| <executions> |
| <!-- Ensures that both integration-test and verify goals of the Failsafe Maven plugin are executed. --> |
| <execution> |
| <id>integration-tests</id> |
| <goals> |
| <goal>integration-test</goal> |
| <goal>verify</goal> |
| </goals> |
| <configuration> |
| <!-- Sets the VM argument line used when integration tests are run. --> |
| <argLine>${failsafeArgLine}</argLine> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.jetbrains.kotlin</groupId> |
| <artifactId>kotlin-maven-plugin</artifactId> |
| <version>${kotlin.maven.version}</version> |
| <configuration> |
| <jvmTarget>${java.version}</jvmTarget> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <configuration> |
| <release>${java.version}</release> |
| <!--explicitly remove source and target--> |
| <source combine.self="override"/> |
| <target combine.self="override"/> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.jacoco</groupId> |
| <artifactId>jacoco-maven-plugin</artifactId> |
| <version>${jacoco.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>tidy-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.commonjava.maven.plugins</groupId> |
| <artifactId>directory-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>net.revelc.code.formatter</groupId> |
| <artifactId>formatter-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>blackduck</id> |
| <activation> |
| <property> |
| <name>blackduck-scan</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.blackducksoftware.integration</groupId> |
| <artifactId>hub-maven-plugin</artifactId> |
| <version>1.4.0</version> |
| <inherited>false</inherited> |
| <configuration> |
| <hubProjectName>${project.name}</hubProjectName> |
| <outputDirectory>${project.basedir}</outputDirectory> |
| </configuration> |
| <executions> |
| <execution> |
| <id>create-bdio-file</id> |
| <phase>package</phase> |
| <goals> |
| <goal>createHubOutput</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| |
| <!-- Profile to format skip validate or execute --> |
| <profile> |
| <id>format</id> |
| <properties> |
| <format.skipValidate>true</format.skipValidate> |
| <format.skipExecute>false</format.skipExecute> |
| </properties> |
| </profile> |
| <profile> |
| <id>dependency-list</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.github.ferstl</groupId> |
| <artifactId>depgraph-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>validate</phase> |
| <inherited>false</inherited> |
| <goals> |
| <goal>aggregate</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>attach-artifacts</id> |
| <phase>package</phase> |
| <inherited>false</inherited> |
| <goals> |
| <goal>attach-artifact</goal> |
| </goals> |
| <configuration> |
| <artifacts> |
| <artifact> |
| <file>${dependency-list.file}</file> |
| <type>txt</type> |
| <classifier>dependencies</classifier> |
| </artifact> |
| </artifacts> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |