<?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>1.0.3.BUILD-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.junit</groupId>
            <artifactId>com.springsource.org.junit</artifactId>
            <version>4.9.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

</project>