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

  <!-- ======================================================================
-->
  <!--                                                                        -->
  <!--  JBoss, the OpenSource J2EE webOS                                      -->
  <!--                                                                        -->
  <!--  Distributable under LGPL license.                                     -->
  <!--  See terms of license at http://www.gnu.org.                           -->
  <!--                                                                        -->
  <!-- ======================================================================
-->

  <!-- $Id: pom.xml 94845 2009-10-14 09:58:14Z thomas.diesler@jboss.com $
-->

<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 Testsuite</name>

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

  <parent>
    <groupId>org.jboss.osgi</groupId>
    <artifactId>jboss-osgi</artifactId>
    <version>1.0.0.Beta4</version>
  </parent>

  <modules>
    <module>example</module>
    <module>trailblazer</module>
    <module>functional</module>
  </modules>

  <!-- Properties -->
  <properties>
    <version.jmx.invoker.adaptor.client>5.0.1.GA</version.jmx.invoker.adaptor.client>
    <version.jnp.client>5.0.1.GA</version.jnp.client>
  </properties>

  <!-- Dependencies -->
  <dependencies>
    <dependency>
      <groupId>biz.aQute</groupId>
      <artifactId>bnd</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi</groupId>
      <artifactId>jboss-osgi-spi</artifactId>
    </dependency>

    <!-- Bundle Dependencies -->
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.configadmin</artifactId>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.compendium</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.log</artifactId>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.compendium</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.metatype</artifactId>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.felix</groupId>
          <artifactId>org.osgi.compendium</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-apache-xerces</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-blueprint</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-common</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-husky</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.osgi.bundles</groupId>
      <artifactId>jboss-osgi-jaxb</artifactId>
      <scope>provided</scope>
    </dependency>
    
    <!-- Ops4J -->
    <dependency>
      <groupId>org.ops4j.base</groupId>
      <artifactId>ops4j-base-util-xml</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.ops4j.pax.web</groupId>
      <artifactId>pax-web-jetty-bundle</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.ops4j.pax.web</groupId>
      <artifactId>pax-web-extender-war</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- Test Dependencies -->
    <dependency>
      <groupId>org.jboss.naming</groupId>
      <artifactId>jnp-client</artifactId>
      <version>${version.jnp.client}</version>
      <exclusions>
        <exclusion>
          <groupId>org.jboss</groupId>
          <artifactId>jboss-common-core</artifactId>
        </exclusion>
      </exclusions>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.jboss.logging</groupId>
      <artifactId>jboss-logging-log4j</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <!-- Build -->
  <build>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <filtering>true</filtering>
      </testResource>
    </testResources>
  </build>

  <!-- Profiles -->
  <profiles>

    <!--
      Name: framework-equinox
      Descr: Setup for Equinox framework integration testing
    -->
    <profile>
      <id>framework-equinox</id>
      <activation>
        <property>
          <name>framework</name>
          <value>equinox</value>
        </property>
      </activation>
      <properties>
        <jboss.osgi.framework.properties>jboss-osgi-equinox.properties</jboss.osgi.framework.properties>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jboss-osgi-runtime-equinox</artifactId>
          <scope>provided</scope>
        </dependency>
        <!-- equinox-3.5 does not contain package org.osgi.util.xml -->
        <dependency>
          <groupId>org.osgi</groupId>
          <artifactId>org.osgi.compendium</artifactId>
          <version>${version.osgi}</version>
          <scope>provided</scope>
        </dependency>
      </dependencies>
    </profile>

    <!--
      Name: framework-felix 
      Descr: Setup for Felix framework integration testing
    -->
    <profile>
      <id>framework-felix</id>
      <activation>
        <property>
          <name>framework</name>
          <value>felix</value>
        </property>
      </activation>
      <properties>
        <jboss.osgi.framework.properties>jboss-osgi-felix.properties</jboss.osgi.framework.properties>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jboss-osgi-runtime-felix</artifactId>
          <scope>provided</scope>
        </dependency>
      </dependencies>
    </profile>

    <!--
      Name: framework-jbossmc
      Descr: Setup for JBossMC framework integration testing
    -->
    <profile>
      <id>framework-jbossmc</id>
      <activation>
        <property>
          <name>framework</name>
          <value>jbossmc</value>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jboss-osgi-framework</artifactId>
          <scope>provided</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <argLine>-Xmx512m</argLine>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>framework-default</id>
      <activation>
        <property>
          <name>!framework</name>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jboss-osgi-framework</artifactId>
          <scope>provided</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <!-- YourKit Profiling
              <argLine>-agentlib:yjpagent=onexit=memory</argLine>
              -->
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <!--
      Name: embedded-testing 
      Descr: Setup for embedded integration testing
    -->
    <profile>
      <id>embedded-testing</id>
      <activation>
        <property>
          <name>!target.container</name>
        </property>
      </activation>
      <properties>
        <target.container.excludes>org/jboss/test/osgi/jbossas/**</target.container.excludes>
      </properties>
    </profile>

    <!--
      Name: runtime-testing 
      Descr: Setup for runtime integration testing
    -->
    <profile>
      <id>runtime-testing</id>
      <activation>
        <property>
          <name>target.container</name>
          <value>runtime</value>
        </property>
      </activation>
      <properties>
        <target.container.excludes>org/jboss/test/osgi/jbossas/**</target.container.excludes>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jmx-invoker-adaptor-client</artifactId>
          <version>${version.jmx.invoker.adaptor.client}</version>
          <type>pom</type>
        </dependency>
      </dependencies>
    </profile>

    <!--
      Name: jboss501
      Descr: Setup for jboss501 integration testing
    -->
    <profile>
      <id>jboss501</id>
      <activation>
        <property>
          <name>target.container</name>
          <value>jboss501</value>
        </property>
      </activation>
      <properties>
        <target.container.excludes>org/jboss/test/osgi/nothing-to-exclude</target.container.excludes>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jmx-invoker-adaptor-client</artifactId>
          <version>${version.jmx.invoker.adaptor.client}</version>
          <type>pom</type>
        </dependency>
      </dependencies>
    </profile>

    <!--
      Name: jboss510
      Descr: Setup for jboss510 integration testing
    -->
    <profile>
      <id>jboss510</id>
      <activation>
        <property>
          <name>target.container</name>
          <value>jboss510</value>
        </property>
      </activation>
      <properties>
        <target.container.excludes>org/jboss/test/osgi/nothing-to-exclude</target.container.excludes>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jmx-invoker-adaptor-client</artifactId>
          <version>${version.jmx.invoker.adaptor.client}</version>
          <type>pom</type>
        </dependency>
      </dependencies>
    </profile>

    <!--
      Name: jboss520
      Descr: Setup for jboss520 integration testing
    -->
    <profile>
      <id>jboss520</id>
      <activation>
        <property>
          <name>target.container</name>
          <value>jboss520</value>
        </property>
      </activation>
      <properties>
        <target.container.excludes>org/jboss/test/osgi/nothing-to-exclude</target.container.excludes>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jmx-invoker-adaptor-client</artifactId>
          <version>${version.jmx.invoker.adaptor.client}</version>
          <type>pom</type>
        </dependency>
      </dependencies>
    </profile>

    <!--
      Name: jboss600
      Descr: Setup for jboss600 integration testing
    -->
    <profile>
      <id>jboss600</id>
      <activation>
        <property>
          <name>target.container</name>
          <value>jboss600</value>
        </property>
      </activation>
      <properties>
        <target.container.excludes>org/jboss/test/osgi/nothing-to-exclude</target.container.excludes>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.jboss.osgi.runtime</groupId>
          <artifactId>jmx-invoker-adaptor-client</artifactId>
          <version>${version.jmx.invoker.adaptor.client}</version>
          <type>pom</type>
        </dependency>
      </dependencies>
    </profile>

  </profiles>

</project>
