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

    Copyright 2021 OPS4J.

    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.

-->
<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.4</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 -->

        <!-- Maven plugins from org.apache.maven.plugins (and their dependencies) -->
        <plugin.maven-antrun-plugin>1.8</plugin.maven-antrun-plugin>
        <plugin.maven-clean-plugin>3.1.0</plugin.maven-clean-plugin>
        <plugin.maven-compiler-plugin>3.8.1</plugin.maven-compiler-plugin>
        <plugin.maven-dependency-plugin>3.1.1</plugin.maven-dependency-plugin>
        <plugin.maven-deploy-plugin>2.8.2</plugin.maven-deploy-plugin>
        <plugin.maven-enforcer-plugin>3.0.0-M1</plugin.maven-enforcer-plugin>
        <plugin.dependency.org.commonjava.maven.enforcer>1.3</plugin.dependency.org.commonjava.maven.enforcer>
        <plugin.maven-failsafe-plugin>2.22.1</plugin.maven-failsafe-plugin>
        <plugin.maven-gpg-plugin>1.6</plugin.maven-gpg-plugin>
        <plugin.maven-install-plugin>2.5.2</plugin.maven-install-plugin>
        <plugin.maven-invoker-plugin>3.2.2</plugin.maven-invoker-plugin>
        <plugin.maven-jar-plugin>3.1.2</plugin.maven-jar-plugin>
        <plugin.maven-javadoc-plugin>3.1.0</plugin.maven-javadoc-plugin>
        <plugin.maven-release-plugin>2.5.3</plugin.maven-release-plugin>
        <plugin.maven-remote-resources-plugin>1.6.0</plugin.maven-remote-resources-plugin>
        <plugin.maven-resources-plugin>3.1.0</plugin.maven-resources-plugin>
        <plugin.dependency.maven-filtering>3.1.1</plugin.dependency.maven-filtering>
        <plugin.maven-shade-plugin>3.2.1</plugin.maven-shade-plugin>
        <plugin.maven-site-plugin>3.7.1</plugin.maven-site-plugin>
        <plugin.maven-source-plugin>3.1.0</plugin.maven-source-plugin>
        <plugin.maven-surefire-plugin>2.22.2</plugin.maven-surefire-plugin>

        <!-- Other Maven plugins (and their dependencies) -->
        <plugin.jacoco-maven-plugin>0.8.6</plugin.jacoco-maven-plugin>
        <plugin.asciidoctor-maven-plugin>1.5.2.1</plugin.asciidoctor-maven-plugin>
        <!-- version 5.1.1 generates bad extender requirements and it turnes out that 1.0.0 >= 1.0 is false -->
        <plugin.felix.maven-bundle-plugin>3.3.0</plugin.felix.maven-bundle-plugin>
        <plugin.mojo.build-helper-maven-plugin>3.2.0</plugin.mojo.build-helper-maven-plugin>
        <plugin.ops4j.osgi-report-maven-plugin>0.1.1</plugin.ops4j.osgi-report-maven-plugin>
        <plugin.servicemix.depends-maven-plugin>1.4.0</plugin.servicemix.depends-maven-plugin>

        <!-- versions of Maven dependencies (sorted and groupped) -->
        <version.biz.aQute.bnd>5.2.0</version.biz.aQute.bnd>
        <version.ch.qos.logback>1.2.3</version.ch.qos.logback>
        <version.commons-collections>3.2.2</version.commons-collections>
        <version.commons-dbcp>1.4</version.commons-dbcp>
        <version.commons-lang>2.6</version.commons-lang>
        <version.commons-pool>1.6</version.commons-pool>

        <version.javax.annotation>1.3.2</version.javax.annotation>
        <version.javax.el>3.0.0</version.javax.el>
        <version.javax.enterprise.cdi>1.2</version.javax.enterprise.cdi>
        <version.javax.faces>2.3</version.javax.faces>
        <version.javax.interceptor>1.2.2</version.javax.interceptor>
        <version.javax.persistence>2.2</version.javax.persistence>
        <version.javax.servlet>3.1.0</version.javax.servlet>
        <version.javax.servlet.jsp>2.3.3</version.javax.servlet.jsp>
        <version.javax.transaction>1.2</version.javax.transaction>
        <version.javax.validation>1.1.0.Final</version.javax.validation>

        <version.io.undertow>1.4.28.Final</version.io.undertow>
        <version.junit>4.13.1</version.junit>
        <version.net.bytebuddy>1.10.20</version.net.bytebuddy>

        <version.org.apache.deltaspike>1.8.1</version.org.apache.deltaspike>
        <version.org.apache.derby>10.8.2.2</version.org.apache.derby>
        <version.org.apache.felix.configadmin>1.9.20</version.org.apache.felix.configadmin>
        <version.org.apache.felix.eventadmin>1.6.2</version.org.apache.felix.eventadmin>
        <version.org.apache.felix.framework>5.6.12</version.org.apache.felix.framework>
        <version.org.apache.felix.metatype>1.2.4</version.org.apache.felix.metatype>
        <!-- It has to be 2.0.x (pax-cdi-extension private-packages felix-scr) -->
        <version.org.apache.felix.scr>2.0.12</version.org.apache.felix.scr>
        <version.org.apache.felix.utils>1.11.6</version.org.apache.felix.utils>
        <version.org.apache.geronimo.bundles.scannotation>1.0.2_1</version.org.apache.geronimo.bundles.scannotation>
        <version.org.apache.karaf>4.2.10</version.org.apache.karaf>
        <version.org.apache.logging.log4j>2.14.0</version.org.apache.logging.log4j>
        <version.org.apache.openjpa>2.4.3</version.org.apache.openjpa>
        <version.org.apache.openwebbeans>1.7.6</version.org.apache.openwebbeans>
        <version.org.apache.servicemix.bundles.asm>3.3.1_1</version.org.apache.servicemix.bundles.asm>
        <!-- javax.inject/javax.inject/1 is not an OSGi bundle -->
        <version.org.apache.servicemix.bundles.javax-inject>1_3</version.org.apache.servicemix.bundles.javax-inject>
        <version.org.apache.xbean>4.18</version.org.apache.xbean>
        <version.org.apache.xbean.shaded>4.16</version.org.apache.xbean.shaded>

        <!-- 3.13.0.v20171204-1916 exports org.osgi.framework package with version 1.9 -->
        <version.org.eclipse.tycho>3.11.2.v20161107-1947</version.org.eclipse.tycho>
        <version.org.eclipse.jetty>9.4.36.v20210114</version.org.eclipse.jetty>
        <version.org.jboss.classfilewriter>1.2.1.Final</version.org.jboss.classfilewriter>
        <version.org.jboss.logging>3.4.1.Final</version.org.jboss.logging>
        <!-- Latest available 2.x version (CDI spec 1.2, JavaEE 7) -->
        <version.org.jboss.weld>2.4.8.Final</version.org.jboss.weld>
        <version.org.mockito>3.7.7</version.org.mockito>
        <version.org.objenesis>3.1</version.org.objenesis>
        <version.org.ops4j.base>1.5.1</version.org.ops4j.base>
        <version.org.ops4j.pax.exam>4.13.4</version.org.ops4j.pax.exam>
        <version.org.ops4j.pax.jpa>0.3.0</version.org.ops4j.pax.jpa>
        <version.org.ops4j.pax.jdbc>1.5.0</version.org.ops4j.pax.jdbc>
        <version.org.ops4j.pax.logging>1.11.9</version.org.ops4j.pax.logging>
        <version.org.ops4j.pax.swissbox>1.8.4</version.org.ops4j.pax.swissbox>
        <version.org.ops4j.pax.tinybundles>3.0.0</version.org.ops4j.pax.tinybundles>
        <version.org.ops4j.pax.url>2.6.7</version.org.ops4j.pax.url>
        <version.org.ops4j.pax.web>7.2.22</version.org.ops4j.pax.web>
        <version.org.osgi>6.0.0</version.org.osgi>
        <version.org.primefaces>7.0</version.org.primefaces>
        <version.org.slf4j>1.7.30</version.org.slf4j>

                <jersey.version>1.13</jersey.version>

    </properties>

    <build>
        <pluginManagement>
            <plugins>

                <!-- Core plugins -->

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>${plugin.maven-clean-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${plugin.maven-compiler-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${plugin.maven-deploy-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${plugin.maven-failsafe-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${plugin.maven-install-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${plugin.maven-resources-plugin}</version>
                    <dependencies>
                        <dependency>
                            <!-- Fix org.ops4j:master:4.3.0 -->
                            <groupId>org.apache.maven.shared</groupId>
                            <artifactId>maven-filtering</artifactId>
                            <version>${plugin.dependency.maven-filtering}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>${plugin.maven-site-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${plugin.maven-surefire-plugin}</version>
                </plugin>

                <!-- Packaging types/tools -->

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

                <!-- Reporting plugins -->

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

                <!-- Tools -->

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>${plugin.maven-dependency-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${plugin.maven-enforcer-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>${plugin.maven-gpg-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-invoker-plugin</artifactId>
                    <version>${plugin.maven-invoker-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${plugin.maven-release-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <version>${plugin.maven-remote-resources-plugin}</version>
                </plugin>

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

                <!-- Felix plugins -->

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

                <!-- ServiceMix plugins -->

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

                <!-- MojoHaus plugins -->

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

                <!-- Other plugins -->

                <plugin>
                    <groupId>org.ops4j.pax.exam</groupId>
                    <artifactId>exam-maven-plugin</artifactId>
                    <version>${version.org.ops4j.pax.exam}</version>
                </plugin>
                <plugin>
                    <groupId>org.ops4j.tools.maven</groupId>
                    <artifactId>osgi-report-maven-plugin</artifactId>
                    <version>${plugin.ops4j.osgi-report-maven-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${plugin.jacoco-maven-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-maven-plugin</artifactId>
                    <version>${version.org.apache.karaf}</version>
                </plugin>
                <plugin>
                  <groupId>org.asciidoctor</groupId>
                  <artifactId>asciidoctor-maven-plugin</artifactId>
                  <version>${plugin.asciidoctor-maven-plugin}</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-resources-plugin</artifactId>
                <configuration>
                    <escapeString>\</escapeString>
                </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>

            <!-- Tools -->

            <!-- Require maven 3.3 or above, Java 1.8 or above. -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.commonjava.maven.enforcer</groupId>
                        <artifactId>enforce-managed-deps-rule</artifactId>
                        <version>${plugin.dependency.org.commonjava.maven.enforcer}</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <banDuplicatePomDependencyVersions />
                                <requirePluginVersions>
                                    <banSnapshots>false</banSnapshots>
                                </requirePluginVersions>
                                <requireMavenVersion>
                                    <version>[3.3.9,4)</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>[1.8,)</version>
                                </requireJavaVersion>
                                <requireManagedDeps implementation="org.commonjava.maven.enforcer.rule.EnforceManagedDepsRule">
                                    <checkProfiles>false</checkProfiles>
                                    <failOnViolation>true</failOnViolation>
                                </requireManagedDeps>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </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>
                    <obrRepository>NONE</obrRepository>
                    <instructions>
                        <Bundle-DocURL>${project.url}</Bundle-DocURL>
                    </instructions>
                </configuration>
            </plugin>

        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>

            <!-- pax-cdi own artifacts -->

            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-spi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-extension</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-test-support</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-extender</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-weld</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-web</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-openwebbeans</artifactId>
                <version>${project.version}</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample1</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample1-web</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample1-client</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample3</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample3-client</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample5</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample5-client1</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample5-client2</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample6</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample7-api</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample7-service-impl100</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample9</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample8</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi.samples</groupId>
                <artifactId>pax-cdi-sample2-service</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- OPS4J dependencies -->

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

            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-api</artifactId>
                <version>${version.org.ops4j.pax.web}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-spi</artifactId>
                <version>${version.org.ops4j.pax.web}</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.web</groupId>
                <artifactId>pax-web-jsp</artifactId>
                <version>${version.org.ops4j.pax.web}</version>
            </dependency>

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

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

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

            <dependency>
                <groupId>org.ops4j.pax.tinybundles</groupId>
                <artifactId>tinybundles</artifactId>
                <version>${version.org.ops4j.pax.tinybundles}</version>
            </dependency>

            <dependency>
                <groupId>org.ops4j.pax.jpa.samples</groupId>
                <artifactId>pax-jpa-sample1</artifactId>
                <version>${version.org.ops4j.pax.jpa}</version>
            </dependency>

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

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

            <!-- OSGi -->

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.core</artifactId>
                <version>${version.org.osgi}</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.cmpn</artifactId>
                <version>${version.org.osgi}</version>
            </dependency>

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

            <dependency>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>org.eclipse.osgi</artifactId>
                <version>${version.org.eclipse.tycho}</version>
            </dependency>

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

            <dependency>
                <groupId>org.apache.karaf.bundle</groupId>
                <artifactId>org.apache.karaf.bundle.core</artifactId>
                <version>${version.org.apache.karaf}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>framework</artifactId>
                <version>${version.org.apache.karaf}</version>
                <type>kar</type>
            </dependency>

            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>standard</artifactId>
                <version>${version.org.apache.karaf}</version>
                <type>xml</type>
                <classifier>features</classifier>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.features</groupId>
                <artifactId>org.apache.karaf.features.core</artifactId>
                <version>${version.org.apache.karaf}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.system</groupId>
                <artifactId>org.apache.karaf.system.core</artifactId>
                <version>${version.org.apache.karaf}</version>
            </dependency>

            <!-- APIs -->

            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>${version.javax.annotation}</version>
            </dependency>
            <dependency>
                <groupId>javax.el</groupId>
                <artifactId>javax.el-api</artifactId>
                <version>${version.javax.el}</version>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${version.javax.validation}</version>
            </dependency>
            <dependency>
                <groupId>javax.interceptor</groupId>
                <artifactId>javax.interceptor-api</artifactId>
                <version>${version.javax.interceptor}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.ejb</groupId>
                        <artifactId>javax.ejb-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>javax.enterprise</groupId>
                <artifactId>cdi-api</artifactId>
                <version>${version.javax.enterprise.cdi}</version>
            </dependency>
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>javax.transaction-api</artifactId>
                <version>${version.javax.transaction}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${version.javax.servlet}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.javax-inject</artifactId>
                <version>${version.org.apache.servicemix.bundles.javax-inject}</version>
            </dependency>
            <dependency>
                <groupId>javax.faces</groupId>
                <artifactId>javax.faces-api</artifactId>
                <version>${version.javax.faces}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>${version.javax.servlet.jsp}</version>
            </dependency>
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>javax.persistence-api</artifactId>
                <version>${version.javax.persistence}</version>
            </dependency>

            <!-- Test dependencies -->

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${version.junit}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${version.org.mockito}</version>
            </dependency>
            <dependency>
                <groupId>org.objenesis</groupId>
                <artifactId>objenesis</artifactId>
                <version>${version.org.objenesis}</version>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy</artifactId>
                <version>${version.net.bytebuddy}</version>
            </dependency>
            <dependency>
                <groupId>net.bytebuddy</groupId>
                <artifactId>byte-buddy-agent</artifactId>
                <version>${version.net.bytebuddy}</version>
            </dependency>

            <!-- Other dependencies -->

            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${version.commons-lang}</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>${version.commons-collections}</version>
            </dependency>
            <dependency>
                <groupId>commons-pool</groupId>
                <artifactId>commons-pool</artifactId>
                <version>${version.commons-pool}</version>
            </dependency>
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>${version.commons-dbcp}</version>
            </dependency>

            <dependency>
                <groupId>biz.aQute.bnd</groupId>
                <artifactId>biz.aQute.bndlib</artifactId>
                <version>${version.biz.aQute.bnd}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.deltaspike.modules</groupId>
                <artifactId>deltaspike-jpa-module-api</artifactId>
                <version>${version.org.apache.deltaspike}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.deltaspike.modules</groupId>
                <artifactId>deltaspike-jpa-module-impl</artifactId>
                <version>${version.org.apache.deltaspike}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.deltaspike.modules</groupId>
                <artifactId>deltaspike-data-module-impl</artifactId>
                <version>${version.org.apache.deltaspike}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.deltaspike.modules</groupId>
                <artifactId>deltaspike-security-module-api</artifactId>
                <version>${version.org.apache.deltaspike}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.deltaspike.core</groupId>
                <artifactId>deltaspike-core-impl</artifactId>
                <version>${version.org.apache.deltaspike}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.deltaspike.modules</groupId>
                <artifactId>deltaspike-security-module-impl</artifactId>
                <version>${version.org.apache.deltaspike}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.deltaspike.core</groupId>
                <artifactId>deltaspike-core-api</artifactId>
                <version>${version.org.apache.deltaspike}</version>
            </dependency>

            <dependency>
                <groupId>org.primefaces</groupId>
                <artifactId>primefaces</artifactId>
                <version>${version.org.primefaces}</version>
            </dependency>

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

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

            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.asm</artifactId>
                <version>${version.org.apache.servicemix.bundles.asm}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.geronimo.bundles</groupId>
                <artifactId>scannotation</artifactId>
                <version>${version.org.apache.geronimo.bundles.scannotation}</version>
            </dependency>

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

            <!-- Logging dependencies -->

            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${version.org.slf4j}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${version.org.slf4j}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${version.org.slf4j}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>${version.org.apache.logging.log4j}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${version.org.apache.logging.log4j}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${version.ch.qos.logback}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${version.ch.qos.logback}</version>
            </dependency>

            <!-- CDI Implementations -->

            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se-core</artifactId>
                <version>${version.org.jboss.weld}</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-core</artifactId>
                <version>${version.org.jboss.weld}</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>${version.org.jboss.weld}</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>${version.org.jboss.weld}</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.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${version.org.jboss.logging}</version>
            </dependency>

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

            <!-- Jetty -->

            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-util</artifactId>
                <version>${version.org.eclipse.jetty}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-io</artifactId>
                <version>${version.org.eclipse.jetty}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-http</artifactId>
                <version>${version.org.eclipse.jetty}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-continuation</artifactId>
                <version>${version.org.eclipse.jetty}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${version.org.eclipse.jetty}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-security</artifactId>
                <version>${version.org.eclipse.jetty}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlet</artifactId>
                <version>${version.org.eclipse.jetty}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-xml</artifactId>
                <version>${version.org.eclipse.jetty}</version>
            </dependency>

            <!-- Undertow -->

            <dependency>
                <groupId>io.undertow</groupId>
                <artifactId>undertow-servlet</artifactId>
                <version>${version.io.undertow}</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>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>
            </dependency>



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

        </dependencies>
    </dependencyManagement>

    <profiles>
        <!-- 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>
    </profiles>

</project>
