<?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>
        <artifactId>gemini-blueprint</artifactId>
        <groupId>org.eclipse.gemini.blueprint</groupId>
        <version>2.0.0.RELEASE</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <groupId>org.eclipse.gemini.blueprint</groupId>
    <artifactId>gemini-blueprint-test</artifactId>
    <packaging>jar</packaging>
    <name>Gemini Blueprint Testing Framework</name>
    <url>http://www.eclipse.org/gemini/blueprint/</url>
    <description>
        Eclipse Gemini Blueprint testing framework. Provides JUnit based integration testing inside OSGi containers.
    </description>


    <properties>
        <javadoc.loc>${basedir}/../docs/src/javadoc</javadoc.loc>

        <spring.osgi.symbolic.name>${symName.prefix}.test</spring.osgi.symbolic.name>

        <!--<jarjar.run>on</jarjar.run>-->
        <!--<jarjar.keep>org.eclipse.gemini.blueprint.test.**</jarjar.keep>-->
        <!--<jarjar.dep>${maven.dependency.org.eclipse.gemini.blueprint.gemini-blueprint-extender.jar.path}</jarjar.dep>-->

        <bundle.description>${project.description}</bundle.description>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.junit</groupId>
            <artifactId>com.springsource.org.junit</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.servicemix.bundles</groupId>
            <artifactId>org.apache.servicemix.bundles.spring-test</artifactId>
        </dependency>

        <dependency>
            <groupId>org.objectweb.asm</groupId>
            <artifactId>com.springsource.org.objectweb.asm</artifactId>
            <version>2.2.3</version>
        </dependency>

        <dependency>
            <groupId>org.eclipse.gemini.blueprint</groupId>
            <artifactId>gemini-blueprint-core</artifactId>
            <version>${project.parent.version}</version>
        </dependency>

        <!-- used for getting Counter util in -->
        <dependency>
            <groupId>org.eclipse.gemini.blueprint</groupId>
            <artifactId>gemini-blueprint-extender</artifactId>
            <version>${project.parent.version}</version>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.core</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.eclipse.birt.runtime</groupId>
            <artifactId>org.eclipse.osgi</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.knopflerfish</groupId>
            <artifactId>framework</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.main</artifactId>
            <scope>provided</scope>
            <optional>true</optional>
        </dependency>

        <!-- for testing -->
        <dependency>
            <groupId>org.eclipse.gemini.blueprint</groupId>
            <artifactId>gemini-blueprint-mock</artifactId>
            <version>${project.parent.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <!-- required since starting multiple osgi platforms inside the same VM is not recommended -->
                <!-- (for example multiple URL stream factories might be registered) -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <forkMode>pertest</forkMode>
                        <systemProperties>
                            <property>
                                <name>org.eclipse.gemini.blueprint.test.framework</name>
                                <value>${osgi.test.platform}</value>
                            </property>
                        </systemProperties>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <finalName>${project.build.finalName}</finalName>
                            <artifactSet>
                                <includes>
                                    <include>org.eclipse.gemini.blueprint:gemini-blueprint-test</include>
                                    <include>org.eclipse.gemini.blueprint:gemini-blueprint-extender</include>
                                </includes>
                            </artifactSet>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
