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

    <parent>
        <groupId>org.eclipse.gemini.blueprint.iandt</groupId>
        <artifactId>gemini-blueprint-integration-test-bundles</artifactId>
        <version>2.2.0.M1-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>trivial.tests</artifactId>
    <packaging>jar</packaging>
    <name>Gemini Blueprint Test Bundle: Simple test that uses trivial bundle</name>
    <description>Contains a single test case that exercises function in
        org.springframework.osgi.trivial bundle. Used as a basic proof of
        concept for the test harness support.
    </description>
    <url>http://www.eclipse.org/gemini/blueprint/</url>

    <dependencies>
        <dependency>
            <groupId>org.eclipse.gemini.blueprint.iandt</groupId>
            <artifactId>trivial</artifactId>
            <version>${project.version}</version>
            <scope>provided</scope>
        </dependency>

        <!-- JUnit is required at build time not just test time -->
        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.junit</artifactId>
        </dependency>
    </dependencies>

</project>