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

    <name>JBossOSGi Parent</name>

    <groupId>org.jboss.osgi</groupId>
    <artifactId>jbosgi-parent</artifactId>
    <packaging>pom</packaging>

    <version>3.0.2</version>

    <url>http://www.jboss.org/jbossas/osgi</url>
    <description>JBossOSGi</description>

    <!-- Organization -->
    <organization>
        <name>JBoss by Red Hat</name>
        <url>http://www.jboss.org</url>
    </organization>

    <!-- Licenses -->
    <licenses>
        <license>
            <name>lgpl_v2_1</name>
            <url>http://repository.jboss.com/licenses/lgpl-2.1.txt</url>
        </license>
    </licenses>

    <!-- Developers -->
    <developers>
        <developer>
            <name>JBOSGi committers</name>
        </developer>
    </developers>

    <prerequisites>
        <maven>3.3.1</maven>
    </prerequisites>

    <!-- Properties -->
    <properties>
        <!-- core plugins -->
        <version.clean.plugin>3.0.0</version.clean.plugin>
        <version.compiler.plugin>3.5.1</version.compiler.plugin>
        <version.deploy.plugin>2.8.2</version.deploy.plugin>
        <version.install.plugin>2.5.2</version.install.plugin>
        <version.resources.plugin>2.7</version.resources.plugin>
        <version.surefire.plugin>2.19.1</version.surefire.plugin>
        <!-- packaging types -->
        <version.bundle.plugin>3.0.1</version.bundle.plugin>
        <version.jar.plugin>2.6</version.jar.plugin>
        <version.dependency.plugin>2.10</version.dependency.plugin>
        <!-- reporting plugins -->
        <version.javadoc.plugin>2.10.3</version.javadoc.plugin>
        <version.enforcer.plugin>1.4.1</version.enforcer.plugin>
        <!-- tools -->
        <version.antrun.plugin>1.8</version.antrun.plugin>
        <version.assembly.plugin>2.6</version.assembly.plugin>
        <version.release.plugin>2.5.3</version.release.plugin>
        <version.source.plugin>3.0.0</version.source.plugin>
        <version.org.jacoco>0.7.6.201602180812</version.org.jacoco>
        <!-- codehaus -->
        <version.build.helper.plugin>1.10</version.build.helper.plugin>
        <version.license.plugin>1.8</version.license.plugin>

        <!-- Cross plugins settings -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>

        <!-- Arquillian Toolset -->
        <version.jboss.arquillian.core>1.1.11.Final</version.jboss.arquillian.core>
        <version.jboss.arquillian.jacoco>1.0.0.Alpha8</version.jboss.arquillian.jacoco>
        <version.jboss.arquillian.osgi>2.1.0.Final</version.jboss.arquillian.osgi>

        <!-- Testing -->
        <version.mockito>1.10.19</version.mockito>
        <version.maven-aether-provider>3.2.5</version.maven-aether-provider>
        <version.shrinkwrap.resolvers>2.2.2</version.shrinkwrap.resolvers>
        <version.shrinkwrap>1.2.3</version.shrinkwrap>
        <version.slf4j>1.7.9</version.slf4j>
        <version.wildfly.arquillian>2.0.0.Final</version.wildfly.arquillian>

        <!-- WILDFLY release-synchronized versions -->
        <version.jboss.wildfly>10.0.0.Final</version.jboss.wildfly>
        <version.jboss.logging>3.3.0.Final</version.jboss.logging>
        <version.jboss.logging.processor>2.0.1.Final</version.jboss.logging.processor>
        <version.jboss.logmanager>2.0.3.Final</version.jboss.logmanager>
        <version.jboss.modules>1.5.1.Final</version.jboss.modules>
        <version.jboss.msc>1.2.6.Final</version.jboss.msc>
        <version.jboss.vfs>3.2.11.Final</version.jboss.vfs>
        <!-- Java EE Specs -->
        <version.jboss.javaee.7.0.spec>1.0.3.Final</version.jboss.javaee.7.0.spec>

        <!-- OSGI -->
        <version.osgi>5.0.0</version.osgi>

        <!-- Distribution Management settings -->
        <jboss.releases.repo.url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2</jboss.releases.repo.url>
        <jboss.snapshots.repo.url>https://repository.jboss.org/nexus/content/repositories/snapshots</jboss.snapshots.repo.url>

        <argLine />
    </properties>

    <!-- Source -->
    <scm>
        <connection>scm:git:git://github.com/jbosgi/jbosgi-parent.git</connection>
        <developerConnection>scm:git:git@github.com:jbosgi/jbosgi-parent.git</developerConnection>
        <url>http://github.com/jbosgi/jbosgi-parent</url>
        <tag>3.0.2</tag>
    </scm>

    <!-- DependencyManagement -->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-aether-provider</artifactId>
                <version>${version.maven-aether-provider}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap.resolver</groupId>
                <artifactId>shrinkwrap-resolver-bom</artifactId>
                <version>${version.shrinkwrap.resolvers}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.shrinkwrap</groupId>
                <artifactId>shrinkwrap-bom</artifactId>
                <version>${version.shrinkwrap}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${version.jboss.arquillian.core}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-common</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-embedded</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-managed</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-remote</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-common-domain</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-domain-managed</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-container-domain-remote</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-protocol-jmx</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly.arquillian</groupId>
                <artifactId>wildfly-arquillian-testenricher-msc</artifactId>
                <version>${version.wildfly.arquillian}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.wildfly</groupId>
                <artifactId>wildfly-parent</artifactId>
                <version>${version.jboss.wildfly}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec</groupId>
                <artifactId>jboss-javaee-7.0</artifactId>
                <version>${version.jboss.javaee.7.0.spec}</version>
                <type>pom</type>
                <scope>provided</scope>
            </dependency>

            <!-- org.mockito -->
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>${version.mockito}</version>
                <scope>test</scope>
            </dependency>

            <!-- Arquillian -->
            <dependency>
                <groupId>org.jboss.arquillian.junit</groupId>
                <artifactId>arquillian-junit-container</artifactId>
                <version>${version.jboss.arquillian.core}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-container-osgi</artifactId>
                <version>${version.jboss.arquillian.osgi}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-container-jbosgi-embedded</artifactId>
                <version>${version.jboss.arquillian.osgi}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.osgi</groupId>
                <artifactId>arquillian-osgi-bundle</artifactId>
                <version>${version.jboss.arquillian.osgi}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jacoco</groupId>
                <artifactId>org.jacoco.core</artifactId>
                <version>${version.org.jacoco}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.arquillian.extension</groupId>
                <artifactId>arquillian-jacoco</artifactId>
                <version>${version.jboss.arquillian.jacoco}</version>
                <scope>test</scope>
            </dependency>

            <!-- JBoss Components -->
            <dependency>
                <groupId>org.jboss.jdeparser</groupId>
                <artifactId>jdeparser</artifactId>
                <version>2.0.2.Final</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.modules</groupId>
                <artifactId>jboss-modules</artifactId>
                <version>${version.jboss.modules}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${version.jboss.logging}</version>
                <scope>provided</scope>
            </dependency>

            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-processor</artifactId>
                <version>${version.jboss.logging.processor}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.logmanager</groupId>
                <artifactId>jboss-logmanager</artifactId>
                <version>${version.jboss.logmanager}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss</groupId>
                <artifactId>jboss-vfs</artifactId>
                <version>${version.jboss.vfs}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.msc</groupId>
                <artifactId>jboss-msc</artifactId>
                <version>${version.jboss.msc}</version>
                <scope>provided</scope>
            </dependency>

            <!-- OSGI -->
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>${version.osgi}</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.enterprise</artifactId>
                <version>${version.osgi}</version>
            </dependency>

            <!-- SLF4J -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${version.slf4j}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${version.slf4j}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jdk14</artifactId>
                <version>${version.slf4j}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!-- Build -->
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${version.bundle.plugin}</version>
                    <extensions>true</extensions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>${version.antrun.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${version.assembly.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>${version.clean.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${version.compiler.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${version.deploy.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${version.install.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${version.jar.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>${version.dependency.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${version.javadoc.plugin}</version>
                    <configuration>
                        <additionalparam>-Xdoclint:none</additionalparam>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${version.release.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${version.resources.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${version.source.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${version.surefire.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${version.build.helper.plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>${version.license.plugin}</version>
                </plugin>
                <!-- This plugin's configuration is used to store Eclipse 
                    m2e settings only. It has no influence on the Maven build itself. -->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-assembly-plugin</artifactId>
                                        <versionRange>[2.2.2,)</versionRange>
                                        <goals>
                                            <goal>directory-single</goal>
                                            <goal>single</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-antrun-plugin</artifactId>
                                        <versionRange>[1.7,)</versionRange>
                                        <goals>
                                            <goal>run</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.1,)</versionRange>
                                        <goals>
                                            <goal>copy</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.jacoco</groupId>
                                        <artifactId>jacoco-maven-plugin</artifactId>
                                        <versionRange>[0.1.0,)</versionRange>
                                        <goals>
                                            <goal>prepare-agent</goal>
                                            <goal>prepare-agent-integration</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <version>${version.enforcer.plugin}</version>
                <executions>
                    <execution>
                        <id>enforce-java</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireJavaVersion>
                                    <version>[1.8,)</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <showDeprecation>true</showDeprecation>
                    <showWarnings>true</showWarnings>
                    <optimize>true</optimize>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                        </manifest>
                        <manifestEntries>
                            <Implementation-URL>${project.url}</Implementation-URL>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                    <goals>deploy</goals>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
                <inherited>true</inherited>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <argLine>@{jacocoArgLine} ${argLine}</argLine>
                    <redirectTestOutputToFile>false</redirectTestOutputToFile>
                    <failIfNoTests>false</failIfNoTests>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${version.org.jacoco}</version>
                <executions>
                    <execution>
                        <id>agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                            <goal>prepare-agent-integration</goal>
                        </goals>
                        <configuration>
                            <destFile>${project.build.directory}/jacoco.exec</destFile>
                            <append>true</append>
                        </configuration>
                    </execution>
                    <execution>
                        <id>report</id>
                        <goals>
                            <goal>report-integration</goal>
                        </goals>
                        <configuration>
                            <dataFile>${project.build.directory}/jacoco.exec</dataFile>
                            <outputDirectory>${project.reporting.outputDirectory}/jacoco-combined</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <propertyName>jacocoArgLine</propertyName>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <configuration>
                    <licenseName>lgpl_v2_1</licenseName>
                    <inceptionYear>2010</inceptionYear>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <!-- Distribution Management -->
    <distributionManagement>
        <repository>
            <id>jboss-releases-repository</id>
            <name>JBoss Releases Repository</name>
            <url>${jboss.releases.repo.url}</url>
        </repository>
        <snapshotRepository>
            <id>jboss-snapshots-repository</id>
            <name>JBoss Snapshots Repository</name>
            <url>${jboss.snapshots.repo.url}</url>
        </snapshotRepository>
    </distributionManagement>
</project>
