<?xml version="1.0" encoding="UTF-8"?>
<!-- JBoss, Home of Professional Open Source Copyright 2012, Red Hat, Inc. 
    and/or its affiliates, and individual contributors by the @authors tag. See 
    the copyright.txt in the distribution for a full listing of individual contributors. 
    Licensed under the Apache License, Version 2.0 (the "License"); you may not 
    use this file except in compliance with the License. You may obtain a copy 
    of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
    by applicable law or agreed to in writing, software distributed under the 
    License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
    OF ANY KIND, either express or implied. See the License for the specific 
    language governing permissions and limitations under the License. -->
<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/xsd/maven-4.0.0.xsd">

    <!-- Model Version -->
    <modelVersion>4.0.0</modelVersion>

    <!-- Parent -->
    <parent>
        <groupId>org.arquillian.container</groupId>
        <artifactId>arquillian-droidium-container-build</artifactId>
        <version>1.0.0.Alpha1</version>
        <relativePath>../arquillian-droidium-container-build/pom.xml</relativePath>
    </parent>

    <!-- Artifact Configuration -->
    <artifactId>arquillian-droidium-container-impl</artifactId>
    <name>Arquillian Droidium Container Impl</name>
    <description>Arquillian Droidium Container Impl</description>

    <!-- Properties -->
    <properties>
        <!-- known to work with Android 2.3 -->
        <version.android>2.3</version.android>
    </properties>

    <!-- Dependencies -->
    <dependencies>
        <!-- Arquillian Droidium Container Dependencies -->
        <dependency>
            <groupId>org.arquillian.container</groupId>
            <artifactId>arquillian-droidium-container-api</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.arquillian.container</groupId>
            <artifactId>arquillian-droidium-container-spi</artifactId>
            <version>${project.version}</version>
        </dependency>        

        <!-- Arquillian dependencies -->
        <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-container-spi</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.core</groupId>
            <artifactId>arquillian-core-spi</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.test</groupId>
            <artifactId>arquillian-test-spi</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.config</groupId>
            <artifactId>arquillian-config-api</artifactId>
        </dependency>

        <!-- Android Dependencies -->
        <dependency>
            <groupId>com.android.tools.ddms</groupId>
            <artifactId>ddmlib</artifactId>
        </dependency>

        <!-- Test dependencies -->
        <dependency>
            <groupId>org.jboss.arquillian.junit</groupId>
            <artifactId>arquillian-junit-standalone</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.config</groupId>
            <artifactId>arquillian-config-impl-base</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.test</groupId>
            <artifactId>arquillian-test-impl-base</artifactId>
            <scope>test</scope>
            <classifier>tests</classifier>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.core</groupId>
            <artifactId>arquillian-core-impl-base</artifactId>
            <scope>test</scope>
            <classifier>tests</classifier>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.core</groupId>
            <artifactId>arquillian-core-impl-base</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-container-impl-base</artifactId>
            <scope>test</scope>
            <classifier>tests</classifier>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-container-impl-base</artifactId>
            <scope>test</scope>
        </dependency>
        
        <!-- FIXME - is this really test dependency -->
        <dependency>
            <groupId>org.arquillian.extension</groupId>
            <artifactId>arquillian-droidium-multiple-containers</artifactId>
            <scope>test</scope>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.jboss.as</groupId>
            <artifactId>jboss-as-arquillian-container-managed</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- Other dependencies -->
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- Profiles -->
    <profiles>
        <profile>
            <id>default</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <skipTests>false</skipTests>
                            <includes>
                                <include>org/arquillian/droidium/container/configuration/**</include>
                                <include>**/multiplecontainers/*TestCase.class</include>
                            </includes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!--
                Profile which needs to have Android SDK installed on testing machine.

                You can specify emulator timeout by setting -Demulator.startup.timeout=number.
                Default is 600 seconds.
            -->
            <id>android-automatic</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <skipTests>false</skipTests>
                            <includes>
                                <include>org/arquillian/droidium/container/automatic/**</include>
                            </includes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
        <!-- Be sure that:
            1)
                you started Android Virtual Device (emulator) prior to test with:
                a) AVD name test01
                b) its console port is 5554
            2)
                a) your port 5556 is free, it will be used when the testing 
                   of startup of container takes place
                b) you have AVD of name test01 at your system
            3)
                You can specify emulator timeout by setting -Demulator.startup.timeout=number.
                Default is 600 seconds.

            Regarding of 1)
                AVD name can be supressed by setting -Demulator.running.avd.name=your_value
                Console port can be supressed by setting -Demulator.running.console.port=your_value
            Regarding of 2)
                AVD name can be suppressed by -Demulator.to.run.avd.name=your_value
                Console port can be supressed by setting -Demulator.to.run.console.port=your_value
            -->
            <id>android-manual-emulator</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <skipTests>false</skipTests>
                            <includes>
                                <include>org/arquillian/droidium/container/manual/emulator/**</include>
                            </includes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <!-- Be sure that:
            1) You have real Android mobile phone connected to PC via USB.
               You HAVE TO set ID of physical device as -Ddevice.serial.id=ID.
               You get that number from 'adb devices -l' command.
            -->
            <id>android-manual-real</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <skipTests>false</skipTests>
                            <includes>
                                <include>org/arquillian/droidium/container/manual/real/**</include>
                            </includes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
