<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.seleniumhq.selenium</groupId>
        <version>1.0.1</version>
        <artifactId>selenium-rc</artifactId>
    </parent>
    <groupId>org.seleniumhq.selenium.tests</groupId>
    <artifactId>selenium-generated-tests</artifactId>
    <packaging>jar</packaging>
    <name>Selenium Generated Tests</name>
    <properties>
      <selenium.browser>firefox</selenium.browser>
    </properties>
    <repositories>
        <repository>
            <id>openqa-releases</id>
            <name>OpenQA Releases</name>
            <url>http://nexus.openqa.org/content/repositories/releases</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>openqa-snapshots</id>
            <name>OpenQA Snapshots</name>
            <url>http://nexus.openqa.org/content/repositories/snapshots</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>openqa-thirdparty</id>
            <name>OpenQA Third Party</name>
            <url>http://nexus.openqa.org/content/repositories/thirdparty</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <systemProperties>
                      <property>
                        <name>selenium.browser</name>
                        <value>${selenium.browser}</value>
                      </property>
                      <property>
                        <name>selenium.url</name>
                        <value>http://localhost:4444/selenium-server/core/</value>
                      </property>
                      <property>
                        <name>selenium.restartSession</name>
                        <value>false</value>
                      </property>
                    </systemProperties>
                    <includes>
                      <include>**/*Test.class</include>
                      <include>**/Test*.class</include>
                    </includes>
                    <excludes>
                      <exclude>**/thirdparty/**</exclude>
                      <!-- failing tests -->
                      <exclude>**/TestDomainCookie.class</exclude> <!-- requires a specially crafted /etc/hosts file -->
                      <exclude>**/TestRollup.class</exclude> <!-- UI element, requires manual extensions -->
                      <exclude>**/TestUIElementLocators.class</exclude> <!-- UI element, requires manual extensions -->
                      <exclude>**/TestModalDialog.class</exclude> <!-- runs IE proprietary showModalDialog; hangs the browser -->
                      <exclude>**/TestXPathLocatorInXHtml.class</exclude> <!-- fails in IE, which doesn't support XHTML -->
                      <exclude>**/TestCursorPosition.class</exclude> <!-- frequently fails on FF (only succeeds if the window has focus -->
                      <exclude>**/TestUserExtensions.class</exclude> <!-- tests sample user extensions -->
                      <exclude>**/TestGet.class</exclude> <!-- translation failure, uses funky javascript{} expression -->
                      
                      <!-- Tests Hanging the Build -->
                      <exclude>**/TestProxy.class</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                  <showSuccess>false</showSuccess> <!-- Failures Only -->
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <id>generate-test-sources</id>
                        <phase>generate-test-sources</phase>
                        <configuration>
                            <tasks>
                                <property name="selenium-server"
                                    value="${maven.dependency.org.seleniumhq.selenium.server.selenium-server.standalone.jar.path}"/>
                                <property name="maven.src.path" location="target/generated-sources/main/java/com/thoughtworks/selenium" />
                        	    <property name="dir.java.tests.based.on.core.javascript" location="target/generated-sources/test/java/com/thoughtworks/selenium/corebased" />
                                <mkdir dir="target/selenium-server"/>
                                <taskdef name="xlate" classname="org.openqa.selenium.XlatorTask" />
                                
                                <unzip src="${selenium-server}" dest="target/selenium-server">
                                    <patternset>
                                        <include name="tests/*.html" />
                                        <exclude name="**/html/**" />
                                        <exclude name="**/dogfood/aut/**" />
                                        <exclude name="**/*Suite.html" />
                                        <exclude name="**/GoogleTestSearch.html" /> <!-- thirdparty test, verified in non-generated -->
                                        <exclude name="**/TestUserExtensions.html" />
                                        <exclude name="**/TestSuite-*.html" />
                                        <exclude name="**/TestJS-for-loops.html" />
                                        <exclude name="**/TestJS-functions.html" />
                                        <exclude name="**/TestJS-if-then-else.html" />
                                        <exclude name="**/TestOpen_SSV_syntax.html" />
                                        <exclude name="**/TestMouseSpeed.html" /> <!-- translation failure due to the use of JS Number object -->  
                                    </patternset>
                                </unzip>
                        
                        		<property name="dir.core.tests" location="target/selenium-server/tests" />
                                <mkdir  dir="${dir.java.tests.based.on.core.javascript}" />
                                
                                <xlate destDir="${dir.java.tests.based.on.core.javascript}" formatter="java-rc-testng" baseUrl="http://localhost:4444/selenium-server/core/">
                                    <fileset dir="${dir.core.tests}"/>
                                    <option name="packageName" value="com.thoughtworks.selenium.corebased" />
                                </xlate>
                            </tasks>
                            <sourceRoot>${project.build.directory}/generated-sources/main/java</sourceRoot>
                            <testSourceRoot>${project.build.directory}/generated-sources/test/java</testSourceRoot>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant-nodeps</artifactId>
                        <version>1.7.1</version>
                    </dependency>
                    <dependency>
                        <groupId>org.apache.ant</groupId>
                        <artifactId>ant-junit</artifactId>
                        <version>1.7.1</version>
                    </dependency>
                    <dependency>
                         <groupId>org.seleniumhq.selenium</groupId>
                         <artifactId>selenium-xlator</artifactId>
                         <version>${project.version}</version>
                     </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium.client-drivers</groupId>
            <artifactId>selenium-java-client-driver</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium.client-drivers</groupId>
            <artifactId>selenium-java-testng-helper</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
		    <groupId>org.seleniumhq.selenium.server</groupId>
		    <artifactId>selenium-server</artifactId>
		    <classifier>standalone</classifier>
		    <version>${project.version}</version>
		    <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <classifier>jdk15</classifier>
            <scope>test</scope>
            <version>5.8</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
