<?xml version="1.0" encoding="UTF-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.royale.examples</groupId>
    <artifactId>examples</artifactId>
    <version>0.9.12-SNAPSHOT</version>
  </parent>

  <artifactId>examples-integrationtests</artifactId>
  <version>0.9.12-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>Apache Royale: Examples: Integrationtests</name>

  <properties>
    <tomcat.version>8.5.13</tomcat.version>
  </properties>

  <build>
    <plugins>
      <!-- Make the build run the integration tests -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.19.1</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <exclude>**/Abstract*.java</exclude>
          </excludes>
        </configuration>
      </plugin>

      <!--
        Prior to the integration-test execution, startup a tomcat server serving all the listed applications.
        After the tests were executed (successful or unsuccessful) make sure the server is stopped again.
       -->
      <plugin>
        <groupId>org.codehaus.cargo</groupId>
        <artifactId>cargo-maven2-plugin</artifactId>
        <version>1.6.2</version>
        <extensions>true</extensions>
        <executions>
          <execution>
            <id>start</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>start</goal>
            </goals>
          </execution>
          <execution>
            <id>stop</id>
            <phase>post-integration-test</phase>
            <goals>
              <goal>stop</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <container>
            <containerId>tomcat8x</containerId>
            <log>${project.build.directory}/tomcat8x/container.log</log>
            <zipUrlInstaller>
              <url>https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/${tomcat.version}/tomcat-${tomcat.version}.zip</url>
              <extractDir>${java.io.tmpdir}/cargo/installs</extractDir>
            </zipUrlInstaller>
            <!-- 3 Minutes -->
            <timeout>180000</timeout>
          </container>
          <configuration>
            <type>standalone</type>
            <home>${project.build.directory}/tomcat8x/container</home>
            <properties>
              <cargo.servlet.port>8082</cargo.servlet.port>
              <cargo.servlet.users>admin::manager</cargo.servlet.users>
            </properties>
          </configuration>
          <deployables>
            <!-- Jewel-->
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>TourDeJewel</artifactId>
              <type>war</type>
            </deployable>

            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>ASDoc</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>ChartExample</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>CreateJSExample</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>DataBindingExample</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>DataBindingExample_as</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>DataBindingExample_Flat</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>DataGridExample</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>DateControlsExample</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>DesktopMap</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>RoyaleStore</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>RoyaleStore_jquery</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>RoyaleTeamPage_MDL</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>RoyaleWebsiteStatsViewer</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>HelloWorld</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>ListExample</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>MapSearch</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>MobileMap</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>MobileStocks</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>MobileTrader</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>StorageExample</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>StyleExample</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>TeamPage</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>TodoListSampleApp</artifactId>
              <type>war</type>
            </deployable>
            <deployable>
              <groupId>org.apache.royale.examples</groupId>
              <artifactId>TreeExample</artifactId>
              <type>war</type>
            </deployable>
          </deployables>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <!-- Applications we want to deploy -->
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>TourDeJewel</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>

    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>ASDoc</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>ChartExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>CreateJSExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>DataBindingExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>DataBindingExample_as</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>DataBindingExample_Flat</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>DataGridExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>DateControlsExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>DesktopMap</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>RoyaleStore</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>RoyaleStore_jquery</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>RoyaleTeamPage_MDL</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>RoyaleWebsiteStatsViewer</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>HelloWorld</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>ListExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>MapSearch</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>MobileMap</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>MobileStocks</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>MobileTrader</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>StorageExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>StyleExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>TeamPage</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>TodoListSampleApp</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.examples</groupId>
      <artifactId>TreeExample</artifactId>
      <version>0.9.12-SNAPSHOT</version>
      <type>war</type>
    </dependency>

    <!-- Stuff needed by the tests -->
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-firefox-driver</artifactId>
      <version>${selenium.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>
