<?xml version="1.0" encoding="UTF-8"?>
<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">

    <!--

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

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>25</version>
        <relativePath />
    </parent>

    <groupId>org.apache.karaf</groupId>
    <artifactId>karaf</artifactId>
    <packaging>pom</packaging>
    <version>4.3.7</version>
    <name>Apache Karaf</name>
    <inceptionYear>2007</inceptionYear>

    <modules>
        <module>bom</module>
        <module>util</module>
        <module>main</module>
        <module>features</module>
        <module>kar</module>
        <module>bundle</module>
        <module>config</module>
        <module>instance</module>
        <module>package</module>
        <module>http</module>
        <module>service</module>
        <module>log</module>
        <module>deployer</module>
        <module>shell</module>
        <module>jaas</module>
        <module>client</module>
        <module>management</module>
        <module>system</module>
        <module>web</module>
        <module>wrapper</module>
        <module>webconsole</module>
        <module>scheduler</module>
        <module>scr</module>
        <module>diagnostic</module>
        <module>obr</module>
        <module>docker</module>
        <module>jndi</module>
        <module>jdbc</module>
        <module>jms</module>
        <module>maven</module>
        <module>services</module>
        <module>audit</module>
        <module>subsystem</module>
        <module>profile</module>
        <module>event</module>
        <module>tooling</module>
        <module>manual</module>
        <module>specs</module>
        <module>assemblies</module>
        <module>examples</module>
        <module>archetypes</module>
        <module>itests</module>
    </modules>

    <scm>
        <connection>${scm.connection}</connection>
        <developerConnection>${scm.developerConnection}</developerConnection>
        <url>${scm.url}</url>
      <tag>karaf-4.3.7</tag>
  </scm>

    <distributionManagement>
        <repository>
            <id>${distributionManagement.release.id}</id>
            <name>${distributionManagement.release.name}</name>
            <url>${distributionManagement.release.url}</url>
        </repository>
        <snapshotRepository>
            <id>${distributionManagement.snapshot.id}</id>
            <name>${distributionManagement.snapshot.name}</name>
            <url>${distributionManagement.snapshot.url}</url>
        </snapshotRepository>
    </distributionManagement>

    <issueManagement>
        <system>jira</system>
        <url>https://issues.apache.org/jira/browse/KARAF</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>Karaf Dev</name>
            <subscribe>dev-subscribe@karaf.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@karaf.apache.org</unsubscribe>
            <post>-</post>
            <archive>https://www.mail-archive.com/dev%40karaf.apache.org/</archive>
        </mailingList>
        <mailingList>
            <name>Karaf User</name>
            <subscribe>user-subscribe@karaf.apache.org</subscribe>
            <unsubscribe>user-unsubscribe@karaf.apache.org</unsubscribe>
            <post>-</post>
            <archive>https://www.mail-archive.com/user%40karaf.apache.org/</archive>
        </mailingList>
        <mailingList>
            <name>Karaf Commits</name>
            <subscribe>commits-subscribe@karaf.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@karaf.apache.org</unsubscribe>
            <post>-</post>
            <archive>https://www.mail-archive.com/commits%40karaf.apache.org/</archive>
        </mailingList>
        <mailingList>
            <name>Karaf Issues</name>
            <subscribe>issues-subscribe@karaf.apache.org</subscribe>
            <unsubscribe>issues-unsubscribe@karaf.apache.org</unsubscribe>
            <post>-</post>
            <archive>https://www.mail-archive.com/issues%40karaf.apache.org/</archive>
        </mailingList>
    </mailingLists>

    <developers>
        <developer>
            <name>The Apache Karaf Team</name>
            <email>dev@karaf.apache.org</email>
            <url>https://karaf.apache.org</url>
            <organization>Apache Software Foundation</organization>
            <organizationUrl>https://apache.org/</organizationUrl>
            <properties>
                <picUrl>https://karaf.apache.org/images/karaf-logo.png</picUrl>
            </properties>
        </developer>
    </developers>

    <properties>
        <project.build.outputTimestamp>1</project.build.outputTimestamp>        

        <scm.connection>scm:git:https://gitbox.apache.org/repos/asf/karaf.git</scm.connection>
        <scm.developerConnection>scm:git:https://gitbox.apache.org/repos/asf/karaf.git</scm.developerConnection>
        <scm.url>https://gitbox.apache.org/repos/asf?p=karaf.git;a=summary</scm.url>

        <distributionManagement.release.id>apache.releases.https</distributionManagement.release.id>
        <distributionManagement.release.name>Apache Release Distribution Repository</distributionManagement.release.name>
        <distributionManagement.release.url>https://repository.apache.org/service/local/staging/deploy/maven2</distributionManagement.release.url>
        <distributionManagement.snapshot.id>apache.snapshots.https</distributionManagement.snapshot.id>
        <distributionManagement.snapshot.name>Apache Development Snapshot Repository</distributionManagement.snapshot.name>
        <distributionManagement.snapshot.url>https://repository.apache.org/content/repositories/snapshots</distributionManagement.snapshot.url>

        <activemq.version>5.15.11</activemq.version>
        <aopalliance.bundle.version>1.0_6</aopalliance.bundle.version>
        <aspectj.bundle.version>1.9.5_1</aspectj.bundle.version>
        <asm.version>9.3</asm.version>
        <javax.annotation.version>1.3.2</javax.annotation.version>
        <awaitility.version>3.1.6</awaitility.version>
        <bouncycastle.version>1.69</bouncycastle.version>
        <camel.version>3.6.0</camel.version>
        <cglib.bundle.version>3.2.9_1</cglib.bundle.version>
        <cxf.version>3.4.3</cxf.version>
        <jackson.version>2.13.2</jackson.version>
        <jna.version>5.11.0</jna.version>
        <jaxb.version>2.3.3</jaxb.version>
        <commons-beanutils.version>1.9.4</commons-beanutils.version>
        <commons-codec.version>1.15</commons-codec.version>
        <commons-compress.version>1.21</commons-compress.version>
        <commons-collections.version>3.2.2</commons-collections.version>
        <commons-fileupload.version>1.4</commons-fileupload.version>
        <commons-lang.version>2.6</commons-lang.version>
        <commons-lang3.version>3.12.0</commons-lang3.version>
        <commons-logging.version>1.2</commons-logging.version>
        <commons-pool2.version>2.9.0</commons-pool2.version>
        <commons-io.version>2.11.0</commons-io.version>
        <eclipselink.version>2.7.8</eclipselink.version>
        <jasypt.bundle.version>1.9.3_1</jasypt.bundle.version>
        <jolokia.version>1.7.1</jolokia.version>
        <servlet.spec.groupId>javax.servlet</servlet.spec.groupId>
        <servlet.spec.artifactId>javax.servlet-api</servlet.spec.artifactId>
        <servlet.spec.version>3.1.0</servlet.spec.version>

        <geronimo.jms-spec.version>1.1.1</geronimo.jms-spec.version>
        <geronimo.jta-spec.version>1.1.1</geronimo.jta-spec.version>

        <servicemix-spec.version>2.9.0</servicemix-spec.version>

        <easymock.version>4.3</easymock.version>
        <equinox.groupId>org.eclipse.platform</equinox.groupId>
        <equinox.artifactId>org.eclipse.osgi</equinox.artifactId>
        <equinox.version>3.17.200</equinox.version>
        <equinox.region.version>1.2.101.v20150831-1342</equinox.region.version>
        <equinox.coordinator.version>1.1.0.v20120522-1841</equinox.coordinator.version>

        <felix.bundlerepository.version>2.0.10</felix.bundlerepository.version>
        <felix.cm.json.version>1.0.6</felix.cm.json.version>
        <felix.configadmin.version>1.9.24</felix.configadmin.version>
        <felix.configadmin.interpolation.plugin.version>1.2.2</felix.configadmin.interpolation.plugin.version>
        <felix.configurator.version>1.0.14</felix.configurator.version>
        <felix.connect.version>0.2.0</felix.connect.version>
        <felix.coordinator.version>1.0.2</felix.coordinator.version>
        <felix.converter.version>1.0.14</felix.converter.version>
        <felix.fileinstall.version>3.7.4</felix.fileinstall.version>
        <felix.framework.version>6.0.5</felix.framework.version>
        <felix.framework.security.version>2.6.1</felix.framework.security.version>
        <felix.gogo.runtime.version>1.1.6</felix.gogo.runtime.version>
        <felix.gogo.jline.version>1.1.8</felix.gogo.jline.version>
        <felix.httplite.version>0.1.6</felix.httplite.version>
        <felix.http.version>4.2.0</felix.http.version>
        <felix.inventory.version>1.0.6</felix.inventory.version>
        <felix.maven-bundle-plugin.version>5.1.4</felix.maven-bundle-plugin.version>
        <felix.utils.version>1.11.8</felix.utils.version>
        <felix.webconsole.version>4.7.2</felix.webconsole.version>
        <felix.webconsole.api.version>3.4.0</felix.webconsole.api.version>
        <felix.memoryusage.webconsole.plugin.version>1.0.10</felix.memoryusage.webconsole.plugin.version>
        <felix.metatype.version>1.2.4</felix.metatype.version>
        <felix.eventadmin.version>1.6.2</felix.eventadmin.version>
        <felix.eventadmin.webconsole.plugin.version>1.1.8</felix.eventadmin.webconsole.plugin.version>
        <felix.obr.version>1.0.2</felix.obr.version>
        <felix.scr.version>2.1.30</felix.scr.version>
        <felix.scr.webconsole.plugin.version>2.1.0</felix.scr.webconsole.plugin.version>
        <felix.scr.annotation.version>1.12.0</felix.scr.annotation.version>
        <felix.resolver.version>2.0.4</felix.resolver.version>

        <aries.application.version>1.0.0</aries.application.version>
        <aries.application.api.version>1.0.0</aries.application.api.version>
        <aries.application.management.version>1.0.0</aries.application.management.version>
        <aries.blueprint.api.version>1.0.1</aries.blueprint.api.version>
        <aries.blueprint.core.version>1.10.3</aries.blueprint.core.version>
        <aries.blueprint.core.compatibility.version>1.0.0</aries.blueprint.core.compatibility.version>
        <aries.blueprint.cm.version>1.3.2</aries.blueprint.cm.version>
        <aries.blueprint.web.version>1.1.1</aries.blueprint.web.version>
        <aries.blueprint.webosgi.version>1.0.1</aries.blueprint.webosgi.version>
        <aries.blueprint.spring.version>0.6.0</aries.blueprint.spring.version>
        <aries.blueprint.spring.extender.version>0.4.0</aries.blueprint.spring.extender.version>
        <aries.jmx.api.version>1.1.5</aries.jmx.api.version>
        <aries.jmx.core.version>1.1.8</aries.jmx.core.version>
        <aries.jmx.blueprint.api.version>1.2.0</aries.jmx.blueprint.api.version>
        <aries.jmx.blueprint.core.version>1.2.0</aries.jmx.blueprint.core.version>
        <aries.jmx.whiteboard.version>1.2.0</aries.jmx.whiteboard.version>
        <aries.jpa.version>2.7.3</aries.jpa.version>
        <aries.jpa.blueprint.aries.version>1.0.4</aries.jpa.blueprint.aries.version>
        <aries.jpa.container.context.version>1.0.4</aries.jpa.container.context.version>
        <aries.jndi.version>1.0.0</aries.jndi.version>
        <aries.jndi.api.version>1.1.0</aries.jndi.api.version>
        <aries.jndi.core.version>1.0.2</aries.jndi.core.version>
        <aries.jndi.url.version>1.1.0</aries.jndi.url.version>
        <aries.proxy.version>1.1.12</aries.proxy.version>
        <aries.proxy.api.version>1.1.1</aries.proxy.api.version>
        <aries.spifly.version>1.3.4</aries.spifly.version>
        <aries.subsystem.api.version>2.0.10</aries.subsystem.api.version>
        <aries.subsystem.core.version>2.0.10</aries.subsystem.core.version>
        <aries.transaction.manager.version>1.3.3</aries.transaction.manager.version>
        <aries.transaction.blueprint.version>1.1.1</aries.transaction.blueprint.version>
        <aries.transaction.blueprint.version2>2.3.0</aries.transaction.blueprint.version2>
        <aries.util.version>1.1.3</aries.util.version>
        <atomikos.version>4.0.4</atomikos.version>

        <openjpa.version>3.2.2</openjpa.version>
        <geronimo.transaction.manager.version>3.1.3</geronimo.transaction.manager.version>
        <guava.version>20.0</guava.version>
        <narayana.version>5.12.6.Final</narayana.version>
        <hibernate.ejb.version>3.4.0.GA</hibernate.ejb.version>
        <hibernate.version>5.6.7.Final</hibernate.version>
        <hibernate.validator.version>7.0.2.Final</hibernate.validator.version>
        <httpclient.version>4.5.13</httpclient.version>
        <jansi.version>2.4.0</jansi.version>
        <javassist.version>3.9.0.GA</javassist.version>
        <jline.version>3.21.0</jline.version>
        <junit.version>4.13.2</junit.version>
        <jsw.version>3.2.3</jsw.version>
        <log4j.version>1.2.17</log4j.version>
        <maven.version>3.6.3</maven.version>
        <maven.wagon.version>3.2.0</maven.wagon.version>
        <maven-plugin-annotations.version>3.6.0</maven-plugin-annotations.version>
        <maven.resolver.version>1.3.1</maven.resolver.version>
        <org.osgi.service.jdbc.version>1.0.0</org.osgi.service.jdbc.version>
        <org.osgi.service.jpa.version>1.0.0</org.osgi.service.jpa.version>
        <osgi.version>7.0.0</osgi.version>
        <osgi.compendium.version>7.0.0</osgi.compendium.version>

        <pax.cdi.version>1.1.4</pax.cdi.version>
        <pax.exam.version>4.13.5</pax.exam.version>
        <pax.logging.version>2.0.16</pax.logging.version>
        <pax.base.version>1.5.1</pax.base.version>
        <pax.swissbox.version>1.8.5</pax.swissbox.version>
        <pax.url.version>2.6.10</pax.url.version>
        <pax.web.version>7.3.25</pax.web.version>
        <pax.tinybundle.version>3.0.0</pax.tinybundle.version>
        <pax.jdbc.version>1.5.3</pax.jdbc.version>
        <pax.jms.version>1.1.0</pax.jms.version>
        <pax.transx.version>0.5.0</pax.transx.version>

        <portlet-api.version>2.0</portlet-api.version>
        <plexus-utils.version>3.3.0</plexus-utils.version>
        <slf4j.version>1.7.32</slf4j.version>

        <spec.activation.version>1.2.2</spec.activation.version>
        <spec.annotation.version>1.3.5</spec.annotation.version>
        <spec.jaxb.version>2.3.2_1</spec.jaxb.version>
        <spec.jaxrs.version>2.1</spec.jaxrs.version>
        <spec.jaxws.version>2.3</spec.jaxws.version>
        <spec.jws.version>1.1.1</spec.jws.version>
        <spec.mail.version>1.6.5</spec.mail.version>

        <spring.osgi.version>1.2.1</spring.osgi.version>
        <spring31.version>3.1.4.RELEASE</spring31.version>
        <spring43.version>4.3.30.RELEASE_1</spring43.version>
        <spring52.version>5.2.20.RELEASE_1</spring52.version>
        <spring53.version>5.3.18_1</spring53.version>
        <spring.security31.version>3.1.4.RELEASE</spring.security31.version>
        <spring.security42.version>4.2.4.RELEASE_1</spring.security42.version>
        <spring.security51.version>5.1.5.RELEASE_1</spring.security51.version>
        <spring.security53.version>5.3.3.RELEASE_2</spring.security53.version>
        <spring.security54.version>5.4.6_1</spring.security54.version>
        <spring.security55.version>5.5.2_1</spring.security55.version>
        <spring.security56.version>5.6.1_1</spring.security56.version>

        <sling.commons.johnzon.version>1.2.14</sling.commons.johnzon.version>
        <sshd.version>2.8.0</sshd.version>
        <struts.bundle.version>1.3.10_1</struts.bundle.version>
        <xbean.version>4.21</xbean.version>
        <javax.mail.version>1.4.7</javax.mail.version>

        <winsw.version>2.3.0</winsw.version>

        <osgi-component-annotations.version>1.4.0</osgi-component-annotations.version>

        <!-- Further used maven plugin versions; e.g. in the docs -->
        <plugin.depends.version>1.4.0</plugin.depends.version>
        <surefire.argLine />
        <!-- General Settings -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <appendedResourcesDirectory>${basedir}/etc/appended-resources</appendedResourcesDirectory>
        <bnd.version.policy>[$(version;==;$(@)),$(version;+;$(@)))</bnd.version.policy>
        <!-- Disable OBR repository update by default -->
        <obrRepository>NONE</obrRepository>
    </properties>

    <repositories>
        <!-- Apache snapshots -->
        <repository>
            <id>apache-snapshots</id>
            <name>Apache Snapshots Repository</name>
            <url>https://repository.apache.org/content/groups/snapshots-group</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <!-- OPS4J SNAPSHOT repository -->
        <repository>
            <id>ops4j.sonatype.snapshots.deploy</id>
            <name>OPS4J snapshot repository</name>
            <url>https://oss.sonatype.org/content/repositories/ops4j-snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <!-- Apache snapshots -->
        <pluginRepository>
            <id>apache-snapshots</id>
            <name>Apache Snapshots Repository</name>
            <url>https://repository.apache.org/content/groups/snapshots-group</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
            <version>${junit.version}</version>
        </dependency>
        <dependency>
            <groupId>org.easymock</groupId>
            <artifactId>easymock</artifactId>
            <scope>test</scope>
            <version>${easymock.version}</version>
        </dependency>
    </dependencies>

    <build>
        <defaultGoal>install</defaultGoal>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0-M2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-remote-resources-plugin</artifactId>
                    <version>1.7.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <outputDirectory>${basedir}/eclipse-classes</outputDirectory>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>true</downloadJavadocs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <useReleaseProfile>false</useReleaseProfile>
                        <preparationGoals>clean install</preparationGoals>
                        <goals>deploy</goals>
                        <arguments>-Prelease,deploy,src</arguments>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-idea-plugin</artifactId>
                    <version>2.2.1</version>
                    <configuration>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>true</downloadJavadocs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.2</version>
                    <configuration>
                            <forkMode>once</forkMode>
                            <argLine>${surefire.argLine}</argLine>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.servicemix.tooling</groupId>
                    <artifactId>depends-maven-plugin</artifactId>
                    <version>${plugin.depends.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>3.0.0</version>
                    <dependencies>
                        <dependency>
                            <groupId>ant-contrib</groupId>
                            <artifactId>ant-contrib</artifactId>
                            <version>1.0b3</version>
                            <exclusions>
                                <exclusion>
                                    <groupId>ant</groupId>
                                    <artifactId>ant</artifactId>
                                </exclusion>
                            </exclusions>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.ant</groupId>
                            <artifactId>ant-nodeps</artifactId>
                            <version>1.8.1</version>
                        </dependency>
                        <dependency>
                            <groupId>ant</groupId>
                            <artifactId>ant-optional</artifactId>
                            <version>1.5.3-1</version>
                        </dependency>
                        <dependency>
                            <groupId>org.ccil.cowan.tagsoup</groupId>
                            <artifactId>tagsoup</artifactId>
                            <version>1.2.1</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.6.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.1.2</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>3.9.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.3</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-maven-plugin</artifactId>
                    <version>${project.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.felix</groupId>
                                        <artifactId>maven-bundle-plugin</artifactId>
                                        <versionRange>[0,)</versionRange>
                                        <goals>
                                            <goal>cleanVersions</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[0,)</versionRange>
                                        <goals>
                                            <goal>copy</goal>
                                            <goal>unpack</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.karaf.tooling</groupId>
                                        <artifactId>karaf-maven-plugin</artifactId>
                                        <versionRange>[0,)</versionRange>
                                        <goals>
                                            <goal>commands-generate-help</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.fusesource.scalate</groupId>
                                        <artifactId>maven-scalate-plugin</artifactId>
                                        <versionRange>[0,)</versionRange>
                                        <goals>
                                            <goal>sitegen</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-services-maven-plugin</artifactId>
                    <version>${project.version}</version>
                    <executions>
                        <execution>
                            <id>service-metadata-generate</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>service-metadata-generate</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <maxmem>256M</maxmem>
                    <fork>${compiler.fork}</fork>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>[3.3.9,4)</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>[1.8,)</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <appendedResourcesDirectory>${appendedResourcesDirectory}</appendedResourcesDirectory>
                            <resourceBundles>
                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                            </resourceBundles>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>${felix.maven-bundle-plugin.version}</version>
                <inherited>true</inherited>
                <extensions>true</extensions>
                <configuration>
                    <obrRepository>NONE</obrRepository>
                    <instructions>
                        <nsh_interface>org.apache.aries.blueprint.NamespaceHandler</nsh_interface>
                        <nsh_namespace>osgi.service.blueprint.namespace</nsh_namespace>
                        <_removeheaders>Private-Package,Include-Resource,Embed-Dependency,Created-By,Bnd-LastModified,Built-By,Tool</_removeheaders>
                        <_versionpolicy>${bnd.version.policy}</_versionpolicy>
                        <Bundle-DocURL>http://karaf.apache.org/</Bundle-DocURL>
                    </instructions>
                </configuration>
                <executions>
                    <execution>
                        <id>cleanVersions</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>cleanVersions</goal>
                        </goals>
                        <configuration>
                            <versions>
                                <karaf.osgi.version>${project.version}</karaf.osgi.version>
                            </versions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.1.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.8.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.22.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
        </plugins>
    </reporting>

    <profiles>
        <profile>
            <id>fastinstall</id>
            <properties>
              <maven.test.skip>true</maven.test.skip>
              <invoker.skip>true</invoker.skip>
              <archetype.test.skip>true</archetype.test.skip>
            </properties>
        </profile>
        <profile>
            <id>rat</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.rat</groupId>
                        <artifactId>apache-rat-plugin</artifactId>
                        <version>0.13</version>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
                            <excludeSubProjects>false</excludeSubProjects>
                            <excludes>
                                <exclude>**/*.pub</exclude>
                                <exclude>**/target/**/*</exclude>
                                <!-- GIT files -->
                                <exclude>**/.git/**/*</exclude>
                                <!-- IDEA files -->
                                <exclude>**/.idea/**/*</exclude>
                                <exclude>**/*.iml</exclude>
                                <exclude>**/*.ipr</exclude>
                                <exclude>**/*.iws</exclude>
                                <!-- Eclipse files -->
                                <exclude>**/.*</exclude>
                                <exclude>**/eclipse-classes/**/*</exclude>
                                <exclude>**/dependency-reduced-pom.xml</exclude>
                                <exclude>**/.settings/**</exclude>
                                <exclude>**/bin/**</exclude>
                                <!-- resources file -->
                                <exclude>**/goal.txt</exclude>
                                <exclude>**/grep.txt</exclude>
                                <exclude>**/edit.txt</exclude>
                                <exclude>**/wc.txt</exclude>
                                <exclude>**/foo</exclude>
                                <exclude>**/org.ops4j.pax.exam.TestContainerFactory</exclude>
                                <exclude>**/maven-metadata-local.xml</exclude>
                                <!-- jline -->
                                <exclude>**/src/main/java/jline/**/*.java</exclude>
                                <!-- test manifests -->
                                <exclude>**/*.mf</exclude>
                                <!-- test json files -->
                                <exclude>**/*.json</exclude>
                                <!-- test wiring resource files -->
                                <exclude>**/src/test/resources/wirings/*</exclude>
                                <!-- SSH keys -->
				                <exclude>**/*.key</exclude>
                                <exclude>**/*.id_rsa</exclude>
                                <!-- For Jenkins, ignore the .repository -->
                                <exclude>.repository/**</exclude>
                                <!-- jar files -->
                                <exclude>**/*.jar</exclude>
                            </excludes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>release</id>
            <modules>
                <module>manual</module>
            </modules>
            <build>
                <plugins>
                    <!-- We want to deploy the artifact to a staging location for perusal -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <inherited>true</inherited>
                        <configuration>
                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
                            <updateReleaseInfo>true</updateReleaseInfo>
                        </configuration>
                    </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>
                                <configuration>
                                  <gpgArguments>
                                    <arg>--pinentry-mode</arg>
                                    <arg>loopback</arg>
                                  </gpgArguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>make-assembly</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-assemblies</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>setup.eclipse</id>
            <modules>
                <module>assembly</module>
            </modules>
            <properties>
                <eclipse.workspace.dir>${basedir}/../workspace</eclipse.workspace.dir>
            </properties>
            <build>
                <defaultGoal>eclipse:eclipse</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-eclipse-plugin</artifactId>
                        <inherited>false</inherited>
                        <executions>
                            <execution>
                                <id>setup.eclipse.workspace</id>
                                <phase>process-test-sources</phase>
                                <goals>
                                    <goal>add-maven-repo</goal>
                                </goals>
                                <configuration>
                                    <workspace>${eclipse.workspace.dir}</workspace>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>deploy</id>
            <properties>
                <createSourcesJar>true</createSourcesJar>
            </properties>
            <build>
                <defaultGoal>deploy</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <source>1.8</source>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                                <configuration>
                                    <additionalparam>${javadoc.opts}</additionalparam>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>doclint-java8-disable</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>
            <properties>
                <javadoc.opts>-Xdoclint:none</javadoc.opts>
            </properties>
        </profile>
        <profile>
            <id>java9-plus</id>
            <properties>
                <surefire.argLine>
                                  --add-opens java.base/java.security=ALL-UNNAMED
                                  --add-opens java.base/java.net=ALL-UNNAMED 
                                  --add-opens java.base/java.lang=ALL-UNNAMED
                                  --add-opens java.base/java.util=ALL-UNNAMED
                                  --add-opens java.naming/javax.naming.spi=ALL-UNNAMED
                                  --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
                </surefire.argLine>
            </properties>
            <activation>
                <jdk>[9,)</jdk>
            </activation>
        </profile>
    </profiles>
</project>
