<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2012-2018 Red Hat, Inc.
    This program and the accompanying materials are made
    available under the terms of the Eclipse Public License 2.0
    which is available at https://www.eclipse.org/legal/epl-2.0/

    SPDX-License-Identifier: EPL-2.0

    Contributors:
      Red Hat, Inc. - initial API and implementation

-->
<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.eclipse.che.parent</groupId>
    <artifactId>maven-parent-pom</artifactId>
    <version>7.3.2</version>
    <packaging>pom</packaging>
    <name>Che parent POM</name>
    <description>Provides default project configuration for Che projects</description>
    <url>${site.url}</url>
    <inceptionYear>2012</inceptionYear>
    <organization>
        <name>Red Hat, Inc.</name>
        <url>http://www.redhat.com</url>
    </organization>
    <licenses>
        <license>
            <name>Eclipse Public License 2.0</name>
            <url>https://www.eclipse.org/legal/epl-2.0/</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <developers>
        <developer>
            <id>che-dev</id>
            <name>Eclipse CHE commiters</name>
            <email>che-dev@eclipse.org</email>
        </developer>
    </developers>
    <prerequisites>
        <maven>${maven.min.version}</maven>
    </prerequisites>
    <modules>
        <module>dependencies</module>
    </modules>
    <scm>
        <connection>scm:git:git@github.com:eclipse/che-parent.git</connection>
        <developerConnection>scm:git:git@github.com:eclipse/che-parent.git</developerConnection>
        <tag>7.3.2</tag>
        <url>https://fisheye.codenvy.com/browse/maven-parent-pom</url>
    </scm>
    <issueManagement>
        <system>jira</system>
        <url>${jira.base.url}/browse/${jira.project.key}/</url>
    </issueManagement>
    <ciManagement>
        <system>jenkins</system>
        <url>${jenkins.base.url}/job/${jenkins.job.name}/</url>
    </ciManagement>
    <distributionManagement>
        <repository>
            <id>ossrh</id>
            <url>${maven.releases.repo.url}</url>
        </repository>
        <snapshotRepository>
            <id>ossrh</id>
            <url>${maven.snapshots.repo.url}</url>
        </snapshotRepository>
        <site>
            <id>ossrh</id>
            <url>${site.deploy.url}</url>
        </site>
    </distributionManagement>
    <properties>
        <animal-sniffer.signature.artifactId>java17</animal-sniffer.signature.artifactId>
        <!-- To configure animal-sniffer to check API compat -->
        <animal-sniffer.signature.groupId>org.codehaus.mojo.signature</animal-sniffer.signature.groupId>
        <animal-sniffer.signature.version>1.0</animal-sniffer.signature.version>
        <archiveClasses>false</archiveClasses>
        <com.google.errorprone>2.1.1</com.google.errorprone>
        <currentYear>2018</currentYear>
        <!--  maven-javadoc-plugin -->
        <detectOfflineLinks>false</detectOfflineLinks>
        <!-- maven-idea-plugin & maven-eclipse-plugin -->
        <downloadSources>true</downloadSources>
        <!-- Extra enforcer rules -->
        <extra-enforcer-rules.version>1.0-beta-2</extra-enforcer-rules.version>
        <findbugs.excludeFilterFile />
        <findbugs.failonerror>false</findbugs.failonerror>
        <!-- gmaven-plugin -->
        <gmaven-plugin.providerSelection>2.0</gmaven-plugin.providerSelection>
        <!-- maven-gpg-plugin -->
        <gpg.useagent>true</gpg.useagent>
        <!-- gwt-maven-plugin -->
        <gwt.compiler.jvmArgs.Xmx>-Xmx2048m</gwt.compiler.jvmArgs.Xmx>
        <gwt.compiler.jvmArgs.Xss>-Xss512m</gwt.compiler.jvmArgs.Xss>
        <!-- The system property jacoco.outputDir needs to be override on the command line
         with an absolute path if you want to merge results from all modules.
         Example in a Jenkisn build where ${WORKSPACE} is defined and your project in the root directory of the workspace :
            mvn clean install -Prun-its,coverage -Djacoco.outputDir=${WORKSPACE}/target
         Note that unfortunately using the following does not work because of
         http://jira.codehaus.org/browse/SONAR-3427:
            <jacoco.outputDir>${session.executionRootDirectory}/target/</jacoco.outputDir>
        -->
        <jacoco.outputDir>${project.build.directory}</jacoco.outputDir>
        <jdk.min.version>1.8</jdk.min.version>
        <!-- **************************************** -->
        <!-- Jenkins Settings                         -->
        <!-- **************************************** -->
        <jenkins.base.url>http://ci.codenvy-dev.com</jenkins.base.url>
        <jenkins.job.name>maven-parent-pom-master-ci</jenkins.job.name>
        <!-- **************************************** -->
        <!-- Jira Settings                            -->
        <!-- **************************************** -->
        <jira.base.url>https://jira.codenvycorp.com</jira.base.url>
        <jira.project.key>PAR</jira.project.key>
        <license_contributor>${project.organization.name} - initial API and implementation</license_contributor>
        <license_contributor2 />
        <license_copyrightOwner>${project.organization.name}</license_copyrightOwner>
        <license_header>license-header.txt</license_header>
        <license_years>${project.inceptionYear}-${currentYear}</license_years>
        <maven-model.version>3.0.5</maven-model.version>
        <!-- Additional properties to activate the compression of already compressed archives - time expensive -->
        <maven.assembly.recompressZippedFiles>false</maven.assembly.recompressZippedFiles>
        <maven.build.timestamp.format>dd.MM.yy HH:mm</maven.build.timestamp.format>
        <maven.compiler.optimize>true</maven.compiler.optimize>
        <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
        <maven.compiler.showWarnings>true</maven.compiler.showWarnings>
        <maven.compiler.source>1.8</maven.compiler.source>
        <!-- maven-compiler-plugin -->
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.java.compat.skip>false</maven.java.compat.skip>
        <!-- maven-enforcer-plugin -->
        <maven.min.version>3.3.1</maven.min.version>
        <!-- **************************************** -->
        <!-- Sonar Settings                           -->
        <!-- **************************************** -->
        <!--sonar.host.url>https://sonar.codenvy.org/</sonar.host.url-->
        <!-- **************************************** -->
        <!-- Repositories URLs                        -->
        <!-- **************************************** -->
        <maven.releases.repo.url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</maven.releases.repo.url>
        <maven.snapshots.repo.url>https://oss.sonatype.org/content/repositories/snapshots/</maven.snapshots.repo.url>
        <maven.war.attachClasses>false</maven.war.attachClasses>
        <maven.war.recompressZippedFiles>false</maven.war.recompressZippedFiles>
        <!-- These properties are automatically computed during the build -->
        <!--parsedVersion.majorVersion>N/A</parsedVersion.majorVersion-->
        <product.name>${project.name}</product.name>
        <!-- ************** -->
        <!-- Build settings -->
        <!-- ************** -->
        <!-- Cross plugins settings -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <!-- too slow : http://jira.codehaus.org/browse/MJAVADOC-268 -->
        <quiet>true</quiet>
        <!-- maven-dependency-plugin -->
        <site.deploy.url>${site.url}</site.deploy.url>
        <!-- **************************************** -->
        <!-- Site URL                                 -->
        <!-- **************************************** -->
        <site.url>https://codenvy.com</site.url>
        <!-- The Sonar Jacoco Listener for JUnit to extract coverage details per test -->
        <sonar-jacoco-listeners.version>2.5</sonar-jacoco-listeners.version>
        <!-- **************************************** -->
        <!-- Sonar Settings                           -->
        <!-- **************************************** -->
        <sonar.host.url>http://sonar.codenvy-dev.com/</sonar.host.url>
        <!-- Tells Sonar where the Jacoco coverage result file is located for Integration Tests -->
        <sonar.jacoco.itReportPath>${jacoco.outputDir}/jacoco-it.exec</sonar.jacoco.itReportPath>
        <!-- Tells Sonar where the Jacoco coverage result file is located for Unit Tests -->
        <sonar.jacoco.reportPath>${jacoco.outputDir}/jacoco.exec</sonar.jacoco.reportPath>
        <!-- Sonar/Jacoco integration. Note that these properties need to be defined outside the "coverage" profile
         because we want to be to able to execute mvn sonar:sonar without passing a profile -->
        <!-- Tells Sonar to use jacoco for coverage results -->
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.java.source>${maven.compiler.source}</sonar.java.source>
        <!-- ************************ -->
        <!-- Sonar/Reporting settings -->
        <!-- ************************ -->
        <sonar.java.target>${maven.compiler.target}</sonar.java.target>
        <specification.version>${parsedVersion.majorVersion}.0</specification.version>
        <!-- maven-pmd-plugin -->
        <targetJdk>${maven.compiler.target}</targetJdk>
        <!-- maven-clirr-plugin -->
        <textOutputFile>${project.build.directory}/clirr-report.txt</textOutputFile>
        <!-- maven-war-plugin -->
        <useCache>true</useCache>
        <!-- **************** -->
        <!-- Plugins versions -->
        <!-- **************** -->
        <version.android.plugin>3.8.2</version.android.plugin>
        <!-- *************** -->
        <!-- Others versions -->
        <!-- *************** -->
        <version.animal-sniffer.enforcer-rule>1.11</version.animal-sniffer.enforcer-rule>
        <version.antrun.plugin>1.8</version.antrun.plugin>
        <!-- PAR-155 : Produce project sources package distribution -->
        <version.apache-source-release-assembly-descriptor>1.0.4</version.apache-source-release-assembly-descriptor>
        <version.archetype.plugin>3.0.1</version.archetype.plugin>
        <version.aspectj.plugin>1.7</version.aspectj.plugin>
        <version.assembly.plugin>3.1.0</version.assembly.plugin>
        <version.buildhelper.plugin>1.9.1</version.buildhelper.plugin>
        <version.buildnumber.plugin>1.3</version.buildnumber.plugin>
        <version.bundle.plugin>2.5.0</version.bundle.plugin>
        <version.cargo.plugin>1.4.10</version.cargo.plugin>
        <version.changes.plugin>2.12.1</version.changes.plugin>
        <version.checkstyle.plugin>2.17</version.checkstyle.plugin>
        <version.clean.plugin>3.0.0</version.clean.plugin>
        <version.clirr.plugin>2.6.1</version.clirr.plugin>
        <version.compiler.plugin>3.7.0</version.compiler.plugin>
        <version.copy.plugin>0.2.5</version.copy.plugin>
        <version.dependency.plugin>3.0.1</version.dependency.plugin>
        <version.deploy.plugin>2.8.2</version.deploy.plugin>
        <version.docbkx.plugin>2.0.17</version.docbkx.plugin>
        <version.docck.plugin>1.0</version.docck.plugin>
        <version.duplicate-finder.plugin>1.0.9</version.duplicate-finder.plugin>
        <version.ear.plugin>2.10.1</version.ear.plugin>
        <version.eclipse.plugin>2.9</version.eclipse.plugin>
        <version.ejb.plugin>3.0.0</version.ejb.plugin>
        <version.enforcer.plugin>3.0.0-M1</version.enforcer.plugin>
        <version.exec.plugin>1.6.0</version.exec.plugin>
        <version.fabric8io.docker.plugin>0.22.1</version.fabric8io.docker.plugin>
        <version.failsafe.plugin>${version.surefire.plugin}</version.failsafe.plugin>
        <version.findbugs.plugin>3.0.1</version.findbugs.plugin>
        <version.fmt.plugin>2.5.1</version.fmt.plugin>
        <version.gmaven.plugin>1.5</version.gmaven.plugin>
        <version.gmavenplus.plugin>1.2</version.gmavenplus.plugin>
        <version.gpg.plugin>1.6</version.gpg.plugin>
        <!-- Must be kept in sync with maven-depmgt-pom GWT version -->
        <version.gwt.plugin>1.0-rc-8</version.gwt.plugin>
        <version.idea.plugin>2.2.1</version.idea.plugin>
        <version.install.plugin>2.5.2</version.install.plugin>
        <version.invoker>2.2</version.invoker>
        <version.invoker.plugin>1.10</version.invoker.plugin>
        <version.jacoco.plugin>0.7.9</version.jacoco.plugin>
        <version.jar.plugin>3.0.2</version.jar.plugin>
        <version.javacc.plugin>2.6</version.javacc.plugin>
        <version.javadoc.plugin>2.10.2</version.javadoc.plugin>
        <version.javancss.plugin>2.1</version.javancss.plugin>
        <version.jaxb2.plugin>1.6</version.jaxb2.plugin>
        <version.jdepend.plugin>2.0</version.jdepend.plugin>
        <!-- PAR-222 : jdocbook 2.3.6+ has a perf issue. See MPJDOCBOOK-84 -->
        <version.jdocbook.plugin>2.3.8</version.jdocbook.plugin>
        <version.jibx.plugin>1.2.5</version.jibx.plugin>
        <version.jmeter.plugin>1.10.0</version.jmeter.plugin>
        <version.jodconverter.plugin>2.2.1</version.jodconverter.plugin>
        <version.jsr305.plugin>3.0.1</version.jsr305.plugin>
        <version.jstools.plugin>0.7</version.jstools.plugin>
        <version.jxr.plugin>2.5</version.jxr.plugin>
        <version.karaf.plugin>3.0.1</version.karaf.plugin>
        <version.lesscss.plugin>1.7.0.1.1</version.lesscss.plugin>
        <version.license.header.artifactid>che-eclipse-license-resource-bundle</version.license.header.artifactid>
        <version.license.header.groupid>org.eclipse.che.dev</version.license.header.groupid>
        <version.license.header.version>${version.resource-bundle}</version.license.header.version>
        <version.license.plugin>1.14</version.license.plugin>
        <version.m2e.plugin>1.0.0</version.m2e.plugin>
        <version.mycila-license.plugin>3.0</version.mycila-license.plugin>
        <version.plexus-utils>3.0.18</version.plexus-utils>
        <version.plexus.component.metadata.plugin>1.7.1</version.plexus.component.metadata.plugin>
        <version.plexus.plugin>1.3.8</version.plexus.plugin>
        <version.plugin.plugin>3.5</version.plugin.plugin>
        <version.pmd.plugin>3.8</version.pmd.plugin>
        <version.project-info-reports.plugin>2.9</version.project-info-reports.plugin>
        <version.rar.plugin>2.4</version.rar.plugin>
        <version.rat.plugin>0.10</version.rat.plugin>
        <version.release.plugin>2.5.3</version.release.plugin>
        <version.remote-resources.plugin.version>1.5</version.remote-resources.plugin.version>
        <version.replacer.plugin>1.5.3</version.replacer.plugin>
        <version.resource-bundle>19</version.resource-bundle>
        <version.resources.plugin>3.0.2</version.resources.plugin>
        <version.selenium.plugin>2.3</version.selenium.plugin>
        <version.shade.plugin>2.3</version.shade.plugin>
        <version.site.plugin>3.6</version.site.plugin>
        <version.sonar-maven-report.plugin>0.1</version.sonar-maven-report.plugin>
        <version.sortpom.plugin>2.3.0</version.sortpom.plugin>
        <version.source.plugin>3.0.1</version.source.plugin>
        <version.surefire.plugin>2.22.1</version.surefire.plugin>
        <version.taglist.plugin>2.4</version.taglist.plugin>
        <version.tomcat7.plugin>2.2</version.tomcat7.plugin>
        <version.versions.plugin>2.4</version.versions.plugin>
        <version.wagon>2.7</version.wagon>
        <version.war.plugin>3.1.0</version.war.plugin>
        <version.wikbook.plugin>0.9.45</version.wikbook.plugin>
        <version.xml.plugin>1.0</version.xml.plugin>
        <version.yuicompressor.plugin>0.7.1</version.yuicompressor.plugin>
    </properties>
    <build>
        <pluginManagement>
            <!-- All plugins ordered by shortname (antrun, assembly ...) -->
            <plugins>
                <plugin>
                    <groupId>org.codehaus.plexus</groupId>
                    <artifactId>plexus-component-metadata</artifactId>
                    <version>${version.plexus.component.metadata.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${version.compiler.plugin}</version>
                    <configuration>
                        <forceJavacCompilerUse>true</forceJavacCompilerUse>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                    <artifactId>android-maven-plugin</artifactId>
                    <version>${version.android.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.google.code.maven-replacer-plugin</groupId>
                    <artifactId>replacer</artifactId>
                    <version>${version.replacer.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-maven-plugin</artifactId>
                    <version>${version.karaf.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${version.bundle.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>${version.antrun.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-archetype-plugin</artifactId>
                    <version>${version.archetype.plugin}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.shared</groupId>
                            <artifactId>maven-invoker</artifactId>
                            <version>${version.invoker}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>aspectj-maven-plugin</artifactId>
                    <version>${version.aspectj.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${version.assembly.plugin}</version>
                    <configuration>
                        <!-- Use GNU Tar -->
                        <tarLongFileMode>gnu</tarLongFileMode>
                        <!-- Perfs improvements - PAR-191 -->
                        <useJvmChmod>true</useJvmChmod>
                        <!-- Allow to activate/deactivate the recompression of zip files -->
                        <recompressZippedFiles>${maven.assembly.recompressZippedFiles}</recompressZippedFiles>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${version.buildhelper.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>${version.buildnumber.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.cargo</groupId>
                    <artifactId>cargo-maven2-plugin</artifactId>
                    <version>${version.cargo.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-changes-plugin</artifactId>
                    <version>${version.changes.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>${version.checkstyle.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>${version.clean.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>clirr-maven-plugin</artifactId>
                    <version>${version.clirr.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.github.goldin</groupId>
                    <artifactId>copy-maven-plugin</artifactId>
                    <version>${version.copy.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>${version.dependency.plugin}</version>
                    <configuration>
                        <!-- Perfs improvements - PAR-191 -->
                        <useJvmChmod>true</useJvmChmod>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${version.deploy.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.agilejava.docbkx</groupId>
                    <artifactId>docbkx-maven-plugin</artifactId>
                    <version>${version.docbkx.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-docck-plugin</artifactId>
                    <version>${version.docck.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.ning.maven.plugins</groupId>
                    <artifactId>maven-duplicate-finder-plugin</artifactId>
                    <version>${version.duplicate-finder.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-ear-plugin</artifactId>
                    <version>${version.ear.plugin}</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Date>${maven.build.timestamp}</Date>
                                <Implementation-URL>${project.url}</Implementation-URL>
                                <SCM-URL>${project.scm.connection}</SCM-URL>
                                <SCM-Revision>${buildNumber}</SCM-Revision>
                                <Specification-Title>${product.name}</Specification-Title>
                                <Specification-Version>${specification.version}</Specification-Version>
                                <Specification-Vendor>${project.organization.name}</Specification-Vendor>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>${version.eclipse.plugin}</version>
                    <dependencies>
                        <!-- PAR-193 : To be removed when the plugin will have a version of plexus-utils >= 3.0.7 -->
                        <dependency>
                            <groupId>org.codehaus.plexus</groupId>
                            <artifactId>plexus-utils</artifactId>
                            <version>${version.plexus-utils}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-ejb-plugin</artifactId>
                    <version>${version.ejb.plugin}</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Date>${maven.build.timestamp}</Date>
                                <Implementation-URL>${project.url}</Implementation-URL>
                                <SCM-URL>${project.scm.connection}</SCM-URL>
                                <SCM-Revision>${buildNumber}</SCM-Revision>
                                <Specification-Title>${product.name}</Specification-Title>
                                <Specification-Version>${specification.version}</Specification-Version>
                                <Specification-Vendor>${project.organization.name}</Specification-Vendor>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${version.enforcer.plugin}</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.ceilfors.maven.plugin</groupId>
                            <artifactId>enforcer-rules</artifactId>
                            <version>1.2.0</version>
                        </dependency>
                        <dependency>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>animal-sniffer-enforcer-rule</artifactId>
                            <version>${version.animal-sniffer.enforcer-rule}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>extra-enforcer-rules</artifactId>
                            <version>${extra-enforcer-rules.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>${version.exec.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${version.failsafe.plugin}</version>
                    <configuration>
                        <systemPropertyVariables>
                            <!-- To avoid conflicts on CI server - PAR-192 -->
                            <!-- There is an incompatibility with Byteman - used in social -->
                            <!-- <java.io.tmpdir>${project.build.directory}</java.io.tmpdir> -->
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>findbugs-maven-plugin</artifactId>
                    <version>${version.findbugs.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>gmaven-plugin</artifactId>
                    <version>${version.gmaven.plugin}</version>
                    <configuration>
                        <providerSelection>${gmaven-plugin.providerSelection}</providerSelection>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.gmavenplus</groupId>
                    <artifactId>gmavenplus-plugin</artifactId>
                    <version>${version.gmavenplus.plugin}</version>
                    <configuration>
                        <targetBytecode>${maven.compiler.target}</targetBytecode>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>${version.gpg.plugin}</version>
                    <configuration>
                        <passphrase>${gpg.passphrase}</passphrase>
                        <useAgent>${gpg.useagent}</useAgent>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>net.ltgt.gwt.maven</groupId>
                    <artifactId>gwt-maven-plugin</artifactId>
                    <version>${version.gwt.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-idea-plugin</artifactId>
                    <version>${version.idea.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${version.install.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-invoker-plugin</artifactId>
                    <version>${version.invoker.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${version.jacoco.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${version.jar.plugin}</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Date>${maven.build.timestamp}</Date>
                                <Implementation-URL>${project.url}</Implementation-URL>
                                <SCM-URL>${project.scm.connection}</SCM-URL>
                                <SCM-Revision>${buildNumber}</SCM-Revision>
                                <Specification-Title>${product.name}</Specification-Title>
                                <Specification-Version>${specification.version}</Specification-Version>
                                <Specification-Vendor>${project.organization.name}</Specification-Vendor>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>javacc-maven-plugin</artifactId>
                    <version>${version.javacc.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${version.javadoc.plugin}</version>
                    <configuration>
                        <!-- Workaround for java 8 strict javadoc compiler TODO fix me -->
                        <additionalparam>-Xdoclint:none</additionalparam>
                        <archive>
                            <manifest>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Date>${maven.build.timestamp}</Date>
                                <Implementation-URL>${project.url}</Implementation-URL>
                                <SCM-URL>${project.scm.connection}</SCM-URL>
                                <SCM-Revision>${buildNumber}</SCM-Revision>
                                <Specification-Title>${product.name}</Specification-Title>
                                <Specification-Version>${parsedVersion.majorVersion}.0</Specification-Version>
                                <Specification-Vendor>${project.organization.name}</Specification-Vendor>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>javancss-maven-plugin</artifactId>
                    <version>${version.javancss.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>jaxb2-maven-plugin</artifactId>
                    <version>${version.jaxb2.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>jdepend-maven-plugin</artifactId>
                    <version>${version.jdepend.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.jboss.maven.plugins</groupId>
                    <artifactId>maven-jdocbook-plugin</artifactId>
                    <version>${version.jdocbook.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.jibx</groupId>
                    <artifactId>maven-jibx-plugin</artifactId>
                    <version>${version.jibx.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.lazerycode.jmeter</groupId>
                    <artifactId>jmeter-maven-plugin</artifactId>
                    <version>${version.jmeter.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.artofsolving</groupId>
                    <artifactId>jodconverter-maven-plugin</artifactId>
                    <version>${version.jodconverter.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>gr.abiss.mvn.plugins</groupId>
                    <artifactId>maven-jstools-plugin</artifactId>
                    <version>${version.jstools.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jxr-plugin</artifactId>
                    <version>${version.jxr.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.lesscss</groupId>
                    <artifactId>lesscss-maven-plugin</artifactId>
                    <version>${version.lesscss.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>${version.license.plugin}</version>
                </plugin>
                <!-- It should be merged in the mojo plugin -->
                <plugin>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>${version.mycila-license.plugin}</version>
                    <!-- Add a dependency since this is where the maven-license-plugin plugin will find the license-header.txt file -->
                    <dependencies>
                        <dependency>
                            <groupId>${version.license.header.groupid}</groupId>
                            <artifactId>${version.license.header.artifactid}</artifactId>
                            <version>${version.license.header.version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <header>${license_header}</header>
                        <properties>
                            <!-- Values to be substituted in template -->
                            <h_inceptionYear>${project.inceptionYear}</h_inceptionYear>
                            <h_currentYear>${currentYear}</h_currentYear>
                            <h_copyrightOwner>${license_copyrightOwner}</h_copyrightOwner>
                            <h_license_years>${license_years}</h_license_years>
                            <h_contributor>${license_contributor}</h_contributor>
                            <h_contributor2>${license_contributor2}</h_contributor2>
                        </properties>
                        <failIfMissing>true</failIfMissing>
                        <strictCheck>true</strictCheck>
                        <!-- We're only interested in checking our sources and our POMs -->
                        <includes>
                            <include>src/**</include>
                            <include>pom.xml</include>
                        </includes>
                        <!-- Default excludes are excluding POMs -->
                        <useDefaultExcludes>false</useDefaultExcludes>
                        <excludes>
                            <exclude>**/*~</exclude>
                            <exclude>**/#*#</exclude>
                            <exclude>**/.#*</exclude>
                            <exclude>**/%*%</exclude>
                            <exclude>**/._*</exclude>
                            <exclude>**/.repository/**</exclude>
                            <exclude>**/CVS</exclude>
                            <exclude>**/CVS/**</exclude>
                            <exclude>**/.cvsignore</exclude>
                            <exclude>**/RCS</exclude>
                            <exclude>**/RCS/**</exclude>
                            <exclude>**/SCCS</exclude>
                            <exclude>**/SCCS/**</exclude>
                            <exclude>**/vssver.scc</exclude>
                            <exclude>**/.svn</exclude>
                            <exclude>**/.svn/**</exclude>
                            <exclude>**/.arch-ids</exclude>
                            <exclude>**/.arch-ids/**</exclude>
                            <exclude>**/.bzr</exclude>
                            <exclude>**/.bzr/**</exclude>
                            <exclude>**/.MySCMServerInfo</exclude>
                            <exclude>**/.DS_Store</exclude>
                            <exclude>**/.metadata</exclude>
                            <exclude>**/.metadata/**</exclude>
                            <exclude>**/.hg</exclude>
                            <exclude>**/.hg/**</exclude>
                            <exclude>**/.git</exclude>
                            <exclude>**/.git/**</exclude>
                            <exclude>**/.gitignore</exclude>
                            <exclude>**/BitKeeper</exclude>
                            <exclude>**/BitKeeper/**</exclude>
                            <exclude>**/ChangeSet</exclude>
                            <exclude>**/ChangeSet/**</exclude>
                            <exclude>**/_darcs</exclude>
                            <exclude>**/_darcs/**</exclude>
                            <exclude>**/.darcsrepo</exclude>
                            <exclude>**/.darcsrepo/**</exclude>
                            <exclude>**/-darcs-backup*</exclude>
                            <exclude>**/.darcs-temp-mail</exclude>
                            <exclude>**/target/**</exclude>
                            <exclude>**/test-output/**</exclude>
                            <exclude>**/release.properties</exclude>
                            <exclude>**/dependency-reduced-pom.xml</exclude>
                            <exclude>**/cobertura.ser</exclude>
                            <exclude>**/.clover/**</exclude>
                            <exclude>**/.classpath</exclude>
                            <exclude>**/.project</exclude>
                            <exclude>**/.settings/**</exclude>
                            <exclude>**/*.iml</exclude>
                            <exclude>**/*.ipr</exclude>
                            <exclude>**/*.iws</exclude>
                            <exclude>**/.idea/**</exclude>
                            <exclude>**/MANIFEST.MF</exclude>
                            <exclude>**/*.jpg</exclude>
                            <exclude>**/*.png</exclude>
                            <exclude>**/*.gif</exclude>
                            <exclude>**/*.ico</exclude>
                            <exclude>**/*.bmp</exclude>
                            <exclude>**/*.tiff</exclude>
                            <exclude>**/*.tif</exclude>
                            <exclude>**/*.cr2</exclude>
                            <exclude>**/*.xcf</exclude>
                            <exclude>**/*.class</exclude>
                            <exclude>**/*.exe</exclude>
                            <exclude>**/*.md5</exclude>
                            <exclude>**/*.sha1</exclude>
                            <exclude>**/*.jar</exclude>
                            <exclude>**/*.zip</exclude>
                            <exclude>**/*.rar</exclude>
                            <exclude>**/*.tar</exclude>
                            <exclude>**/*.tar.gz</exclude>
                            <exclude>**/*.tar.bz2</exclude>
                            <exclude>**/*.gz</exclude>
                            <exclude>**/*.xls</exclude>
                            <exclude>**/META-INF/services/**</exclude>
                            <exclude>**/*.pem</exclude>
                            <exclude>**/*.txt</exclude>
                            <exclude>**/*.log</exclude>
                            <exclude>**/README</exclude>
                            <exclude>**/server.xml</exclude>
                            <exclude>**/*.json</exclude>
                            <exclude>**/catalina.properties</exclude>
                            <exclude>**/logging.properties</exclude>
                            <exclude>**/jaas.conf</exclude>
                            <exclude>**/jmxremote.access</exclude>
                            <exclude>**/jmxremote.password</exclude>
                            <exclude>**/tomcat-users.xml</exclude>
                            <exclude>**/rewrite.config</exclude>
                        </excludes>
                        <mapping>
                            <svg>XML_STYLE</svg>
                            <ts>SLASHSTAR_STYLE</ts>
                            <go>DOUBLESLASH_STYLE</go>
                            <java>SLASHSTAR_STYLE</java>
                        </mapping>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>${version.m2e.plugin}</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.mycila</groupId>
                                        <artifactId>license-maven-plugin</artifactId>
                                        <versionRange>[${version.license.plugin},)</versionRange>
                                        <goals>
                                            <goal>check</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-compiler-plugin</artifactId>
                                        <versionRange>[${version.compiler.plugin},)</versionRange>
                                        <goals>
                                            <goal>compile</goal>
                                            <goal>testCompile</goal>
                                        </goals>
                                        <parameters>
                                            <compilerId>javac-with-errorprone</compilerId>
                                        </parameters>
                                    </pluginExecutionFilter>
                                    <action>
                                        <configurator>
                                            <id>org.eclipse.m2e.jdt.javaConfigurator</id>
                                        </configurator>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[${version.dependency.plugin},)</versionRange>
                                        <goals>
                                            <goal>unpack-dependencies</goal>
                                            <goal>copy-dependencies</goal>
                                            <goal>copy</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>com.google.code.sortpom</groupId>
                                        <artifactId>maven-sortpom-plugin</artifactId>
                                        <versionRange>[${version.sortpom.plugin},)</versionRange>
                                        <goals>
                                            <goal>verify</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnConfiguration>true</runOnConfiguration>
                                            <runOnIncremental>false</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-antrun-plugin</artifactId>
                                        <versionRange>[${version.antrun.plugin},)</versionRange>
                                        <goals>
                                            <goal>run</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-patch-plugin</artifactId>
                                        <versionRange>[1.1.1,)</versionRange>
                                        <goals>
                                            <goal>apply</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>exec-maven-plugin</artifactId>
                                        <versionRange>[${version.exec.plugin},)</versionRange>
                                        <goals>
                                            <goal>java</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnConfiguration>true</runOnConfiguration>
                                            <runOnIncremental>false</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>wagon-maven-plugin</artifactId>
                                        <versionRange>[1.0-beta-4,)</versionRange>
                                        <goals>
                                            <goal>download-single</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.eclipse.che.core</groupId>
                                        <artifactId>che-core-api-dto-maven-plugin</artifactId>
                                        <versionRange>[4,)</versionRange>
                                        <goals>
                                            <goal>generate</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnConfiguration>true</runOnConfiguration>
                                            <runOnIncremental>false</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.plexus</groupId>
                    <artifactId>plexus-maven-plugin</artifactId>
                    <version>${version.plexus.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <version>${version.plugin.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>${version.pmd.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-rar-plugin</artifactId>
                    <version>${version.rar.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${version.release.plugin}</version>
                    <configuration>
                        <!-- maven-release-plugin -->
                        <goals>deploy</goals>
                        <useReleaseProfile>false</useReleaseProfile>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <arguments>-Pcodenvy-release ${arguments}</arguments>
                        <tagNameFormat>@{project.version}</tagNameFormat>
                        <preparationGoals>clean install</preparationGoals>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <version>${version.remote-resources.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${version.resources.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>selenium-maven-plugin</artifactId>
                    <version>${version.selenium.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>${version.site.plugin}</version>
                    <configuration>
                        <skip>true</skip>
                        <skipDeploy>true</skipDeploy>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>${version.shade.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.sonar-plugins</groupId>
                    <artifactId>maven-report</artifactId>
                    <version>${version.sonar-maven-report.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.google.code.sortpom</groupId>
                    <artifactId>maven-sortpom-plugin</artifactId>
                    <version>${version.sortpom.plugin}</version>
                    <configuration>
                        <expandEmptyElements>false</expandEmptyElements>
                        <nrOfIndentSpace>4</nrOfIndentSpace>
                        <createBackupFile>false</createBackupFile>
                        <sortProperties>true</sortProperties>
                        <sortDependencies>scope,groupId,artifactId</sortDependencies>
                        <verifyFail>Stop</verifyFail>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.coveo</groupId>
                    <artifactId>fmt-maven-plugin</artifactId>
                    <version>${version.fmt.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${version.source.plugin}</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Date>${maven.build.timestamp}</Date>
                                <Implementation-URL>${project.url}</Implementation-URL>
                                <SCM-URL>${project.scm.connection}</SCM-URL>
                                <SCM-Revision>${buildNumber}</SCM-Revision>
                                <Specification-Title>${product.name}</Specification-Title>
                                <Specification-Version>${parsedVersion.majorVersion}.0</Specification-Version>
                                <Specification-Vendor>${project.organization.name}</Specification-Vendor>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${version.surefire.plugin}</version>
                    <configuration>
                        <systemPropertyVariables>
                            <!-- To avoid conflicts on CI server - PAR-192 -->
                            <!-- There is an incompatibility with Byteman - used in social -->
                            <!-- <java.io.tmpdir>${project.build.directory}</java.io.tmpdir> -->
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>${version.surefire.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>${version.tomcat7.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>${version.versions.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${version.war.plugin}</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <Date>${maven.build.timestamp}</Date>
                                <Implementation-URL>${project.url}</Implementation-URL>
                                <SCM-URL>${project.scm.connection}</SCM-URL>
                                <SCM-Revision>${buildNumber}</SCM-Revision>
                                <Specification-Title>${product.name}</Specification-Title>
                                <Specification-Version>${parsedVersion.majorVersion}.0</Specification-Version>
                                <Specification-Vendor>${project.organization.name}</Specification-Vendor>
                                <Implementation-Title>${project.name}</Implementation-Title>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
                            </manifestEntries>
                        </archive>
                        <!-- PAR-145 : Be sure that all product package all their classes in JAR (No stand alone classes in WEB-INF/classes) -->
                        <archiveClasses>${archiveClasses}</archiveClasses>
                        <attachClasses>${maven.war.attachClasses}</attachClasses>
                        <useCache>${useCache}</useCache>
                        <!-- Allow to activate/deactivate the recompression of zip files -->
                        <recompressZippedFiles>${maven.war.recompressZippedFiles}</recompressZippedFiles>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.wikbook</groupId>
                    <artifactId>wikbook.maven</artifactId>
                    <version>${version.wikbook.plugin}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-simple</artifactId>
                            <version>1.5.8</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.wikbook</groupId>
                    <artifactId>wikbook.html2pdf</artifactId>
                    <version>${version.wikbook.plugin}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-simple</artifactId>
                            <version>1.5.8</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <version>${version.xml.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>net.sf.alchim</groupId>
                    <artifactId>yuicompressor-maven-plugin</artifactId>
                    <version>${version.yuicompressor.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>io.fabric8</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>${version.fabric8io.docker.plugin}</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>parse-version</id>
                        <goals>
                            <goal>parse-version</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <buildNumberPropertyName>buildNumber</buildNumberPropertyName>
                    <revisionOnScmFailure>no_revision</revisionOnScmFailure>
                    <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
                    <timestampFormat>{0, date,yyyyMMdd}</timestampFormat>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>${version.project-info-reports.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${version.dependency.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${version.javadoc.plugin}</version>
                <reportSets>
                    <reportSet>
                        <id>aggregate</id>
                        <reports>
                            <report>aggregate</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>${version.jxr.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>${version.findbugs.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>taglist-maven-plugin</artifactId>
                <version>${version.taglist.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>${version.versions.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>clirr-maven-plugin</artifactId>
                <version>${version.clirr.plugin}</version>
                <configuration>
                    <!-- There is a know incompatibility between clirr and jibx -->
                    <excludes>
                        <exclude>**/JiBX_*</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-changes-plugin</artifactId>
                <version>${version.changes.plugin}</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>jira-report</report>
                        </reports>
                    </reportSet>
                </reportSets>
                <configuration>
                    <useJql>true</useJql>
                    <maxEntries>1000</maxEntries>
                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                    <onlyCurrentVersion>true</onlyCurrentVersion>
                    <statusIds>Resolved,Closed,Done</statusIds>
                    <resolutionIds>Fixed,Won't Fix,Duplicate,Incomplete,Cannot Reproduce,Workaround,Normal Behavior,Done</resolutionIds>
                    <columnNames>Priority,Type,Key,Summary,Component,Status,Resolution,Fix Version</columnNames>
                    <sortColumnNames>Fix Version DESC,Type DESC,Priority DESC</sortColumnNames>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.sonar-plugins</groupId>
                <artifactId>maven-report</artifactId>
                <version>${version.sonar-maven-report.plugin}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>${version.surefire.plugin}</version>
            </plugin>
        </plugins>
    </reporting>
    <profiles>
        <profile>
            <id>sign-jars</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.eclipse.cbi.maven.plugins</groupId>
                        <artifactId>eclipse-jarsigner-plugin</artifactId>
                        <version>1.1.3</version>
                        <executions>
                            <execution>
                                <id>sign</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>enforce</id>
            <activation>
                <property>
                    <name>!skip-enforce</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>enforce-java-version</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireJavaVersion>
                                            <message>To build this project JDK ${jdk.min.version} (or upper) is required. Please install it.</message>
                                            <version>${jdk.min.version}</version>
                                        </requireJavaVersion>
                                    </rules>
                                </configuration>
                            </execution>
                            <execution>
                                <id>enforce-maven-version</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireMavenVersion>
                                            <message>To build this project Maven ${maven.min.version} (or upper) is required. Please install it.</message>
                                            <version>${maven.min.version}</version>
                                        </requireMavenVersion>
                                    </rules>
                                </configuration>
                            </execution>
                            <execution>
                                <id>distribution-management-used</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireDepMgt>
                                            <message>You are trying to use artifacts that are not in the list of allowed artifacts included in dependencyManagement in maven-depmgt-pom or have different version.</message>
                                            <checkVersion>true</checkVersion>
                                            <ignoreScopes>
                                                <ignoreScope>runtime</ignoreScope>
                                            </ignoreScopes>
                                        </requireDepMgt>
                                    </rules>
                                </configuration>
                            </execution>
                            <execution>
                                <id>no-distribution-management-at-all</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <banDistributionManagement>
                                            <allowRepository>true</allowRepository>
                                            <allowSnapshotRepository>true</allowSnapshotRepository>
                                            <allowSite>true</allowSite>
                                        </banDistributionManagement>
                                    </rules>
                                </configuration>
                            </execution>
                            <execution>
                                <id>dependency</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <DependencyConvergence />
                                    </rules>
                                </configuration>
                            </execution>
                            <execution>
                                <id>ban-bad-dependencies</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <bannedDependencies>
                                            <searchTransitive>true</searchTransitive>
                                            <excludes>
                                                <exclude>commons-logging:commons-logging-api</exclude>
                                                <exclude>concurrent:concurrent</exclude>
                                                <exclude>javax.annotation:jsr250-api</exclude>
                                                <exclude>javax.servlet:servlet-api</exclude>
                                                <exclude>javax.xml:jaxrpc-api</exclude>
                                                <exclude>javax.xml.soap:saaj-api</exclude>
                                                <exclude>javax.xml.stream:stax-api</exclude>
                                                <exclude>jboss:jboss-logging-spi</exclude>
                                                <exclude>org.apache.xalan:serializer</exclude>
                                                <exclude>org.apache.xalan:xalan</exclude>
                                                <exclude>org.slf4j:slf4j-nop</exclude>
                                                <exclude>org.slf4j:slf4j-jdk14</exclude>
                                                <exclude>org.slf4j:slf4j-log4j12</exclude>
                                                <exclude>org.slf4j:slf4j-log4j13</exclude>
                                                <exclude>stax:stax-api</exclude>
                                                <exclude>sun-jaxb:jaxb-api</exclude>
                                                <exclude>trove:trove</exclude>
                                                <exclude>woodstox:wstx-lgpl</exclude>
                                                <exclude>xml-apis:xml-apis</exclude>
                                            </excludes>
                                        </bannedDependencies>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>analyze</id>
                                <goals>
                                    <goal>analyze-only</goal>
                                </goals>
                                <configuration>
                                    <ignoredUsedUndeclaredDependencies>
                                        <ignoredUsedUndeclaredDependency>org.sonatype.sisu:sisu-guice</ignoredUsedUndeclaredDependency>
                                    </ignoredUsedUndeclaredDependencies>
                                    <failOnWarning>true</failOnWarning>
                                    <ignoreNonCompile>true</ignoreNonCompile>
                                    <outputXML>true</outputXML>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>sources</id>
            <activation>
                <property>
                    <name>!skip-sources</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                        <inherited>true</inherited>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!-- This profile is activated when a project is released. -->
        <profile>
            <id>codenvy-release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>enforce-plugin-versions</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requirePluginVersions>
                                            <message>Best practice is to always define plugin versions! Plugins must be released released (no SNAPSHOT) and without using keywords RELEASE or LATEST!</message>
                                            <banLatest>true</banLatest>
                                            <banRelease>true</banRelease>
                                            <banSnapshots>true</banSnapshots>
                                            <phases>deploy,site</phases>
                                        </requirePluginVersions>
                                    </rules>
                                </configuration>
                            </execution>
                            <execution>
                                <id>check-java-compat</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <skip>${maven.java.compat.skip}</skip>
                                    <rules>
                                        <checkSignatureRule implementation="org.codehaus.mojo.animal_sniffer.enforcer.CheckSignatureRule">
                                            <signature>
                                                <groupId>${animal-sniffer.signature.groupId}</groupId>
                                                <artifactId>${animal-sniffer.signature.artifactId}</artifactId>
                                                <version>${animal-sniffer.signature.version}</version>
                                            </signature>
                                        </checkSignatureRule>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- 
            Generates Javadoc
           -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs-single</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <skip>${maven.javadoc.jar.skip}</skip>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!--
            Checks backward compatibility is maintained
          -->
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>clirr-maven-plugin</artifactId>
                    </plugin>
                    <!-- Create a source-release artifact that contains the fully buildable
               project directory source structure. This is the artifact which is
               the official subject of any release vote. -->
                    <plugin>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>source-release-assembly</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <configuration>
                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                                    <descriptorRefs>
                                        <descriptorRef>source-release</descriptorRef>
                                    </descriptorRefs>
                                    <tarLongFileMode>gnu</tarLongFileMode>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>org.apache.apache.resources</groupId>
                                <artifactId>apache-source-release-assembly-descriptor</artifactId>
                                <version>${version.apache-source-release-assembly-descriptor}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Validate wellformedness of (almost) all XML files -->
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>validate-xml-files</id>
                                <goals>
                                    <goal>validate</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <validationSets>
                                <validationSet>
                                    <dir>src/main/resources</dir>
                                    <includes>
                                        <include>**/*.xml</include>
                                    </includes>
                                </validationSet>
                            </validationSets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
            <properties>
                <!-- Additional properties to activate the compression of already compressed archives - time expensive -->
                <maven.assembly.recompressZippedFiles>true</maven.assembly.recompressZippedFiles>
                <maven.war.recompressZippedFiles>true</maven.war.recompressZippedFiles>
            </properties>
        </profile>
        <profile>
            <id>validate-sources</id>
            <activation>
                <property>
                    <name>!skip-validate-sources</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <version>${version.compiler.plugin}</version>
                        <dependencies>
                            <!-- override plexus-compiler-javac-errorprone's dependency on
                             Error Prone with the latest version -->
                            <dependency>
                                <groupId>com.google.errorprone</groupId>
                                <artifactId>error_prone_core</artifactId>
                                <version>${com.google.errorprone}</version>
                            </dependency>
                            <dependency>
                                <groupId>org.codehaus.plexus</groupId>
                                <artifactId>plexus-compiler-javac-errorprone</artifactId>
                                <version>2.5</version>
                            </dependency>
                        </dependencies>
                        <configuration>
                            <compilerArgs>
                                <arg>-Xep:DepAnn:WARN</arg>
                            </compilerArgs>
                            <compilerId>javac-with-errorprone</compilerId>
                            <forceJavacCompilerUse>true</forceJavacCompilerUse>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>com.google.code.sortpom</groupId>
                        <artifactId>maven-sortpom-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>validate</phase>
                                <goals>
                                    <goal>verify</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>com.coveo</groupId>
                        <artifactId>fmt-maven-plugin</artifactId>
                        <version>${version.fmt.plugin}</version>
                        <executions>
                            <execution>
                                <phase>validate</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Adding header to file -->
                    <plugin>
                        <groupId>com.mycila</groupId>
                        <artifactId>license-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>check-headers</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!--
    This profile is used to launch integration tests with the failsafe plugin
    http://maven.apache.org/plugins/maven-failsafe-plugin/
     -->
        <profile>
            <id>run-its</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>integration-test</id>
                                <phase>integration-test</phase>
                                <goals>
                                    <goal>integration-test</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>verify</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>verify</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!--
    This profile executes tests coverage for UTs and ITs with Jacoco.
    -->
        <profile>
            <id>coverage</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <!-- Specific to generate mapping between tests and covered code -->
                            <properties>
                                <property>
                                    <name>listener</name>
                                    <value>org.sonar.java.jacoco.TestNGListener</value>
                                </property>
                            </properties>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <configuration>
                            <!-- Specific to generate mapping between tests and covered code -->
                            <properties>
                                <property>
                                    <name>listener</name>
                                    <value>org.sonar.java.jacoco.TestNGListener</value>
                                </property>
                            </properties>
                            <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
                            <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${version.jacoco.plugin}</version>
                        <executions>
                            <execution>
                                <id>prepare-ut-agent</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <destFile>${sonar.jacoco.reportPath}</destFile>
                                    <append>true</append>
                                </configuration>
                            </execution>
                            <execution>
                                <id>prepare-it-agent</id>
                                <goals>
                                    <goal>prepare-agent-integration</goal>
                                </goals>
                                <configuration>
                                    <destFile>${sonar.jacoco.itReportPath}</destFile>
                                    <append>true</append>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.sonar-plugins.java</groupId>
                    <artifactId>sonar-jacoco-listeners</artifactId>
                    <version>${sonar-jacoco-listeners.version}</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.testng</groupId>
                    <artifactId>testng</artifactId>
                    <version>6.8</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${version.jacoco.plugin}</version>
                        <reportSets>
                            <reportSet>
                                <id>default-report</id>
                                <reports>
                                    <report>report</report>
                                </reports>
                                <configuration>
                                    <dataFile>${sonar.jacoco.reportPath}</dataFile>
                                </configuration>
                            </reportSet>
                            <reportSet>
                                <id>default-report-integration</id>
                                <reports>
                                    <report>report-integration</report>
                                </reports>
                                <configuration>
                                    <dataFile>${sonar.jacoco.itReportPath}</dataFile>
                                </configuration>
                            </reportSet>
                        </reportSets>
                    </plugin>
                </plugins>
            </reporting>
        </profile>
        <profile>
            <id>coverage-junit</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <!-- Specific to generate mapping between tests and covered code -->
                            <properties>
                                <property>
                                    <name>listener</name>
                                    <value>org.sonar.java.jacoco.JUnitListener</value>
                                </property>
                            </properties>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <configuration>
                            <!-- Specific to generate mapping between tests and covered code -->
                            <properties>
                                <property>
                                    <name>listener</name>
                                    <value>org.sonar.java.jacoco.JUnitListener</value>
                                </property>
                            </properties>
                            <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
                            <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${version.jacoco.plugin}</version>
                        <executions>
                            <execution>
                                <id>prepare-ut-agent</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <destFile>${sonar.jacoco.reportPath}</destFile>
                                    <append>true</append>
                                </configuration>
                            </execution>
                            <execution>
                                <id>prepare-it-agent</id>
                                <goals>
                                    <goal>prepare-agent-integration</goal>
                                </goals>
                                <configuration>
                                    <destFile>${sonar.jacoco.itReportPath}</destFile>
                                    <append>true</append>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.sonar-plugins.java</groupId>
                    <artifactId>sonar-jacoco-listeners</artifactId>
                    <version>${sonar-jacoco-listeners.version}</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <reporting>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>${version.jacoco.plugin}</version>
                        <reportSets>
                            <reportSet>
                                <id>default-report</id>
                                <reports>
                                    <report>report</report>
                                </reports>
                                <configuration>
                                    <dataFile>${sonar.jacoco.reportPath}</dataFile>
                                </configuration>
                            </reportSet>
                            <reportSet>
                                <id>default-report-integration</id>
                                <reports>
                                    <report>report-integration</report>
                                </reports>
                                <configuration>
                                    <dataFile>${sonar.jacoco.itReportPath}</dataFile>
                                </configuration>
                            </reportSet>
                        </reportSets>
                    </plugin>
                </plugins>
            </reporting>
        </profile>
        <!--
     Checks backward compatibility is maintained
     -->
        <profile>
            <id>chk-backward-comp</id>
            <build>
                <defaultGoal>clirr:check</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>clirr-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
            <properties>
                <failOnError>false</failOnError>
            </properties>
        </profile>
        <!--
     Reformat POMs
     -->
        <profile>
            <id>format-pom</id>
            <build>
                <defaultGoal>sortpom:sort</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>com.google.code.sortpom</groupId>
                        <artifactId>maven-sortpom-plugin</artifactId>
                        <configuration>
                            <createBackupFile>false</createBackupFile>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!--
     Sort Dependencies - Maven reads dependencies according to the order in the pom-file when compiling. Rearranging the order may affect the compilation output.
     -->
        <profile>
            <id>sort-deps</id>
            <build>
                <defaultGoal>sortpom:sort</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>com.google.code.sortpom</groupId>
                        <artifactId>maven-sortpom-plugin</artifactId>
                        <configuration>
                            <createBackupFile>false</createBackupFile>
                            <sortDependencies>scope,groupId,artifactId</sortDependencies>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!--
     Sort DependencyManagement - Maven reads dependencies according to the order in the pom-file when compiling. Rearranging the order may affect the compilation output.
     To use only in a POM with depMgt entries
     -->
        <profile>
            <id>sort-depsMgt</id>
            <build>
                <defaultGoal>sortpom:sort</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>com.google.code.sortpom</groupId>
                        <artifactId>maven-sortpom-plugin</artifactId>
                        <configuration>
                            <createBackupFile>false</createBackupFile>
                            <sortDependencies>groupId,artifactId</sortDependencies>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <!--
     Controls dependencies
    -->
        <profile>
            <id>verify-deps</id>
            <build>
                <defaultGoal>dependency:analyze dependency:analyze-dep-mgt dependency:analyze-duplicate</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <configuration>
                            <outputXML>true</outputXML>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>maven-site-descriptor</id>
            <activation>
                <file>
                    <!--  This employs that the basedir expression is only recognized by Maven 3.x (see MNG-2363) -->
                    <exists>${basedir}</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <!-- if releasing current pom with Maven 3, site descriptor must be attached -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-site-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-descriptor</id>
                                <goals>
                                    <goal>attach-descriptor</goal>
                                </goals>
                            </execution>
                        </executions>
                        <inherited>false</inherited>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
