<?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.droidium</groupId>
        <artifactId>arquillian-droidium-build</artifactId>
        <version>1.0.0.Final</version>
        <relativePath>../../build/pom.xml</relativePath>
    </parent>

    <!-- Artifact Configuration -->
    <groupId>org.arquillian.container</groupId>
    <artifactId>arquillian-droidium-container</artifactId>
    <name>Arquillian Droidium Container</name>
    <description>Arquillian Droidium Container</description>

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

        <version.commons.io>2.4</version.commons.io>
    </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>
        <dependency>
            <groupId>org.arquillian.protocol</groupId>
            <artifactId>arquillian-protocol-android</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.arquillian.extension</groupId>
            <artifactId>arquillian-droidium-multiple-containers</artifactId>
            <version>${project.version}</version>
        </dependency>

        <!-- Arquillian Droidium Platform dependencies -->
        <dependency>
            <groupId>org.arquillian.extension</groupId>
            <artifactId>arquillian-droidium-platform</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>

        <!-- Arquillian native platform -->
        <dependency>
            <groupId>org.arquillian.spacelift</groupId>
            <artifactId>arquillian-spacelift</artifactId>
        </dependency> 
        
        <!-- Test dependencies -->
        <dependency>
            <groupId>org.jboss.arquillian.config</groupId>
            <artifactId>arquillian-config-impl-base</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-container-test-impl-base</artifactId>
            <scope>test</scope>
            <classifier>tests</classifier>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-container-test-impl-base</artifactId>
            <scope>test</scope>
        </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>
        <dependency>
            <groupId>org.jboss.arquillian.test</groupId>
            <artifactId>arquillian-test-impl-base</artifactId>
            <scope>test</scope>
        </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-core</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.hamcrest</groupId>
                    <artifactId>hamcrest-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>    
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>${version.commons.io}</version>
        </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/activity/**</include>
                                <include>org/arquillian/droidium/container/configuration/**</include>
                                <include>org/arquillian/droidium/container/impl/**</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 you started Android Virtual Device (emulator) prior to test with:
                a) AVD name test01
                b) its console port is 5554

                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
            -->
            <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>
        <!-- Requires to have full android-10 and android-19 platform installed -->
        <profile>
            <id>android-manual-configuration</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/configuration/**</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>
