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

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.ops4j.pax</groupId>
        <artifactId>cdi</artifactId>
        <version>1.1.1</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <groupId>org.ops4j.pax.cdi</groupId>
    <artifactId>pax-cdi-parent</artifactId>
    <packaging>pom</packaging>

    <name>OPS4J Pax CDI Parent POM</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <!-- versions of Maven plugins -->

        <version.plugin.maven-checkstyle-plugin>3.0.0</version.plugin.maven-checkstyle-plugin>
        <version.com.puppycrawl.tools.checkstyle>8.7</version.com.puppycrawl.tools.checkstyle>
        <version.plugin.maven-antrun-plugin>1.8</version.plugin.maven-antrun-plugin>
        <version.plugin.maven-compiler-plugin>3.7.0</version.plugin.maven-compiler-plugin>
        <version.plugin.maven-javadoc-plugin>3.0.1</version.plugin.maven-javadoc-plugin>
        <version.plugin.maven-surefire-plugin>2.20.1</version.plugin.maven-surefire-plugin>
        <version.plugin.felix.maven-bundle-plugin>3.3.0</version.plugin.felix.maven-bundle-plugin>
        <version.plugin.mojo.build-helper-maven-plugin>3.0.0</version.plugin.mojo.build-helper-maven-plugin>
        <version.plugin.mycila.license-maven-plugin>3.0</version.plugin.mycila.license-maven-plugin>
        <version.plugin.servicemix.depends-maven-plugin>1.4.0</version.plugin.servicemix.depends-maven-plugin>

        <!-- versions of Maven dependencies -->

        <!-- Keep those aligned -->
        <felix.version>5.6.10</felix.version>
        <felix.configadmin.version>1.8.16</felix.configadmin.version>
        <felix.scr.version>2.0.12</felix.scr.version>
        <karaf.version>4.2.2</karaf.version>

        <deltaspike.version>1.8.1</deltaspike.version>
        <jersey.version>1.13</jersey.version>
        <jetty.version>9.4.12.v20180830</jetty.version>
        <logback.version>1.0.0</logback.version>
        <log4j2.version>2.10.0</log4j2.version>
        <openwebbeans1.version>1.7.6</openwebbeans1.version>
        <openjpa.version>2.4.3</openjpa.version>
        <ops4j.base.version>1.5.0</ops4j.base.version>
        <pax.exam.version>4.11.0</pax.exam.version>
        <pax.jdbc.version>1.3.2</pax.jdbc.version>
        <pax.jpa.version>0.3.0</pax.jpa.version>
        <pax.logging.version>1.10.1</pax.logging.version>
        <pax.swissbox.version>1.8.2</pax.swissbox.version>
        <pax.url.version>2.6.1</pax.url.version>
        <pax.web.version>7.2.5</pax.web.version>

        <slf4j.version>1.6.4</slf4j.version>
        <jboss.logging.version>3.3.2.Final</jboss.logging.version>
        <weld2.version>2.4.8.Final</weld2.version>
        <xbean.version>4.12</xbean.version>

        <pax.cdi.wiki.url>https://ops4j1.jira.com/wiki/spaces/PAXCDI/overview</pax.cdi.wiki.url>
    </properties>

    <dependencyManagement>
        <dependencies>

            <dependency>
                <groupId>org.ops4j.pax.swissbox</groupId>
                <artifactId>pax-swissbox-core</artifactId>
                <version>${pax.swissbox.version}</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.swissbox</groupId>
                <artifactId>pax-swissbox-extender</artifactId>
                <version>${pax.swissbox.version}</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.swissbox</groupId>
                <artifactId>pax-swissbox-tracker</artifactId>
                <version>${pax.swissbox.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.swissbox</groupId>
                <artifactId>pax-swissbox-bnd</artifactId>
                <version>${pax.swissbox.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.swissbox</groupId>
                <artifactId>pax-swissbox-property</artifactId>
                <version>${pax.swissbox.version}</version>
            </dependency>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>6.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.compendium</artifactId>
                <version>5.0.0</version>
            </dependency>

            <dependency>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>org.eclipse.osgi</artifactId>
                <version>3.11.2.v20161107-1947</version>
                <!-- 3.13.0.v20171204-1916 exports org.osgi.framework package with version 1.9 -->
                <!--<version>3.13.0.v20171204-1916</version>-->
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit4</artifactId>
                <version>${pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-invoker-junit</artifactId>
                <version>${pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-native</artifactId>
                <version>${pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-karaf</artifactId>
                <version>${pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-inject</artifactId>
                <version>${pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-extender-service</artifactId>
                <version>${pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-link-mvn</artifactId>
                <version>${pax.exam.version}</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-aether</artifactId>
                <version>${pax.url.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-commons</artifactId>
                <version>${pax.url.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-wrap</artifactId>
                <version>${pax.url.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-link</artifactId>
                <version>${pax.url.version}</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.base</groupId>
                <artifactId>ops4j-base-spi</artifactId>
                <version>${ops4j.base.version}</version>
            </dependency>

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.tinybundles</groupId>
                <artifactId>tinybundles</artifactId>
                <version>2.1.1</version>
            </dependency>

            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <groupId>javax.interceptor</groupId>
                <artifactId>javax.interceptor-api</artifactId>
                <version>1.2</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-atinject_1.0_spec</artifactId>
                <version>1.0</version>
            </dependency>

            <dependency>
                <groupId>javax.enterprise</groupId>
                <artifactId>cdi-api</artifactId>
                <version>1.2</version>
            </dependency>

            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jta_1.1_spec</artifactId>
                <version>1.1.1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-validation_1.0_spec</artifactId>
                <version>1.1</version>
            </dependency>

            <dependency>
                <groupId>javax.el</groupId>
                <artifactId>javax.el-api</artifactId>
                <version>3.0.0</version>
            </dependency>

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${log4j2.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.xbean</groupId>
                <artifactId>xbean-asm7-shaded</artifactId>
                <version>${xbean.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xbean</groupId>
                <artifactId>xbean-bundleutils</artifactId>
                <version>${xbean.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xbean</groupId>
                <artifactId>xbean-finder-shaded</artifactId>
                <version>${xbean.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xbean</groupId>
                <artifactId>xbean-reflect</artifactId>
                <version>${xbean.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-spi</artifactId>
                <version>${openwebbeans1.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-impl</artifactId>
                <version>${openwebbeans1.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.openwebbeans</groupId>
                <artifactId>openwebbeans-web</artifactId>
                <version>${openwebbeans1.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.bundles</groupId>
                <artifactId>scannotation</artifactId>
                <version>1.0.2_1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.asm</artifactId>
                <version>3.3.1_1</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
                <version>${jersey.version}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.jersey.contribs</groupId>
                <artifactId>jersey-apache-client</artifactId>
                <version>${jersey.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.javassist</artifactId>
                <version>3.12.1.GA_3</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-core</artifactId>
                <version>${weld2.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.el</groupId>
                        <artifactId>jboss-el-api_3.0_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.annotation</groupId>
                        <artifactId>jboss-annotations-api_1.2_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.interceptor</groupId>
                        <artifactId>jboss-interceptors-api_1.2_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se-core</artifactId>
                <version>${weld2.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.el</groupId>
                        <artifactId>jboss-el-api_3.0_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.annotation</groupId>
                        <artifactId>jboss-annotations-api_1.2_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.interceptor</groupId>
                        <artifactId>jboss-interceptors-api_1.2_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld</groupId>
                <artifactId>weld-osgi-bundle</artifactId>
                <version>${weld2.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.el</groupId>
                        <artifactId>jboss-el-api_3.0_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.annotation</groupId>
                        <artifactId>jboss-annotations-api_1.2_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.interceptor</groupId>
                        <artifactId>jboss-interceptors-api_1.2_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.servlet</groupId>
                <artifactId>weld-servlet-core</artifactId>
                <version>${weld2.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.el</groupId>
                        <artifactId>jboss-el-api_3.0_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.annotation</groupId>
                        <artifactId>jboss-annotations-api_1.2_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.interceptor</groupId>
                        <artifactId>jboss-interceptors-api_1.2_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.jboss.classfilewriter</groupId>
                <artifactId>jboss-classfilewriter</artifactId>
                <version>1.2.1.Final</version>
            </dependency>

            <dependency>
                <groupId>io.undertow</groupId>
                <artifactId>undertow-servlet</artifactId>
                <version>1.4.26.Final</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.annotation</groupId>
                        <artifactId>jboss-annotations-api_1.2_spec</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.jboss.spec.javax.servlet</groupId>
                        <artifactId>jboss-servlet-api_3.1_spec</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.codehaus.plexus</groupId>
                <artifactId>plexus-utils</artifactId>
                <version>3.0.17</version>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.utils</artifactId>
                <version>1.8.0</version>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework</artifactId>
                <version>${felix.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.configadmin</artifactId>
                <version>1.8.8</version>
            </dependency>

            <dependency>
                <groupId>org.easymock</groupId>
                <artifactId>easymock</artifactId>
                <version>3.4</version>
            </dependency>

            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${jboss.logging.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>

                <!-- Core plugins -->

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${version.plugin.maven-compiler-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${version.plugin.maven-surefire-plugin}</version>
                </plugin>

                <!-- Reporting plugins -->

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <version>${version.plugin.maven-checkstyle-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${version.plugin.maven-javadoc-plugin}</version>
                </plugin>

                <!-- Tools -->

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>${version.plugin.maven-antrun-plugin}</version>
                </plugin>

                <!-- Felix plugins -->

                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${version.plugin.felix.maven-bundle-plugin}</version>
                    <extensions>true</extensions>
                </plugin>

                <!-- ServiceMix plugins -->

                <plugin>
                    <groupId>org.apache.servicemix.tooling</groupId>
                    <artifactId>depends-maven-plugin</artifactId>
                    <version>${version.plugin.servicemix.depends-maven-plugin}</version>
                </plugin>

                <!-- MojoHaus plugins -->

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${version.plugin.mojo.build-helper-maven-plugin}</version>
                </plugin>

                <!-- Other plugins -->

                <plugin>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>${version.plugin.mycila.license-maven-plugin}</version>
                </plugin>

                <plugin>
                    <groupId>org.ops4j.pax.exam</groupId>
                    <artifactId>exam-maven-plugin</artifactId>
                    <version>${pax.exam.version}</version>
                </plugin>

            </plugins>
        </pluginManagement>
        <plugins>

            <!-- Core plugins -->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <forkCount>1</forkCount>
                    <reuseForks>false</reuseForks>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    <runOrder>alphabetical</runOrder>
                </configuration>
            </plugin>

            <!-- Reporting plugins -->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <doclint>none</doclint>
                </configuration>
            </plugin>

            <!-- Felix plugins -->

            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <unpackBundle>true</unpackBundle>
                    <obrRepository>NONE</obrRepository>
                    <instructions>
                        <Bundle-DocURL>${pax.cdi.wiki.url}</Bundle-DocURL>
                    </instructions>
                </configuration>
            </plugin>

        </plugins>
    </build>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <comments>
                Licensed under the Apache License, Version 2.0 (the "License");
                you may not use this file except in compliance with the License.
                You may obtain a copy of the License at

                http://www.apache.org/licenses/LICENSE-2.0

                Unless required by applicable law or agreed to in writing, software
                distributed under the License is distributed on an "AS IS" BASIS,
                WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
                implied.

                See the License for the specific language governing permissions and
                limitations under the License.
            </comments>
        </license>
    </licenses>

    <url>${pax.cdi.wiki.url}</url>

    <issueManagement>
        <system>jira</system>
        <url>https://ops4j1.jira.com/projects/PAXCDI/summary/statistics</url>
    </issueManagement>

    <developers>
        <developer>
            <id>hwellmann</id>
            <name>Harald Wellmann</name>
            <email>harald.wellmann@gmx.de</email>
            <organization>independent software developer</organization>
            <roles>
                <role>Developer</role>
            </roles>
            <timezone>UTC+1</timezone>
        </developer>
    </developers>

    <profiles>
        <profile>
            <id>apache-snapshots</id>
            <repositories>
                <repository>
                    <id>apache-snapshots</id>
                    <name>Apache Snapshots</name>
                    <url>https://repository.apache.org/snapshots/</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>

        <!-- Profiles for "Sonar" -->
        <!-- The sonar profile should be activated by setting property 'sonar'. That's important because 
            we need to set an empty 'jacoco.argLine' otherwise. You can't define an empty default for that property 
            in the global properties section because the empty value will override the value from Jacoco. -->
        <profile>
            <id>no-sonar</id>
            <activation>
                <property>
                    <name>!sonar</name>
                </property>
            </activation>
            <properties>
                <jacoco.argLine />
            </properties>
        </profile>
        <profile>
            <id>sonar</id>
            <activation>
                <property>
                    <name>sonar</name>
                </property>
            </activation>
            <properties>
                <sonar.jacoco.reportPath>${user.dir}/target/jacoco.exec</sonar.jacoco.reportPath>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>jacoco</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                                <configuration>
                                    <append>true</append>
                                    <destFile>${sonar.jacoco.reportPath}</destFile>
                                    <propertyName>jacoco.argLine</propertyName>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- Checkstyle: `mvn -Pcs validate` -->
        <profile>
            <id>cs</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>verify-style</id>
                                <phase>validate</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <configuration>
                                    <configLocation>checkstyle/pax-cdi-checks.xml</configLocation>
                                    <suppressionsLocation>checkstyle/pax-cdi-checks-suppressions.xml</suppressionsLocation>
                                    <includes>org/ops4j/pax/cdi/**/*.java</includes>
                                    <encoding>UTF-8</encoding>
                                    <consoleOutput>true</consoleOutput>
                                    <failsOnError>true</failsOnError>
                                    <logViolationsToConsole>true</logViolationsToConsole>
                                    <includeTestSourceDirectory>true</includeTestSourceDirectory>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>com.puppycrawl.tools</groupId>
                                <artifactId>checkstyle</artifactId>
                                <version>${version.com.puppycrawl.tools.checkstyle}</version>
                            </dependency>
                            <dependency>
                                <groupId>org.ops4j.pax.cdi</groupId>
                                <artifactId>pax-cdi-checkstyle-rules</artifactId>
                                <version>${project.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <!-- License generation: `mvn -Plicense process-sources` -->
        <profile>
            <id>license</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.mycila</groupId>
                        <artifactId>license-maven-plugin</artifactId>
                        <configuration>
                            <aggregate>true</aggregate>
                            <useDefaultExcludes>true</useDefaultExcludes>
                            <header>license-header.txt</header>
                            <includes>
                                <!--<include>src/main/java/**/*.java</include>-->
                                <!--<include>src/test/java/**/*.java</include>-->
                                <!--<include>**/README</include>-->
                                <include>pom.xml</include>
                                <include>**/*.xml</include>
                                <!--<include>**/*.cfg</include>-->
                                <include>**/*.properties</include>
                            </includes>
                            <excludes />
                            <mapping>
                                <!--<README>SCRIPT_STYLE</README>-->
                            </mapping>
                        </configuration>
                        <executions>
                            <execution>
                                <id>license-format</id>
                                <phase>process-sources</phase>
                                <goals>
                                    <goal>format</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>license-check</id>
                                <!-- This is the phase this plugin runs by default. Just an explicit information -->
                                <phase>verify</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
