blob: 207806478c9f819409185141f4b8a1bfce4c4952 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
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>javax.portlet</groupId>
<artifactId>portlet-tck</artifactId>
<version>3.0-SNAPSHOT</version>
</parent>
<artifactId>tck-driver</artifactId>
<packaging>jar</packaging>
<description>
This project builds the Junit / Selenium driver for the portlet API tck.
</description>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>htmlunit-driver</artifactId>
<scope>compile</scope>
</dependency>
<!-- PhantomJs Headless browser - Use if the default headless browser of Selenium is not working.
In order to use -
1. Download PhantomJs - http://phantomjs.org/download.html
2. Configure driver to use PhantomJs in TCKSimpleTestDriver->setUpBeforeClass() method -->
<!--
<dependency>
<groupId>com.github.detro.ghostdriver</groupId>
<artifactId>phantomjsdriver</artifactId>
<version>1.0.4</version>
</dependency>
-->
<!-- Dependency on common module for element ID suffixes -->
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>tck-common</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<!-- List the modules containing test cases in order to aggregate the output -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-TestModule1</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-TestModule2</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-TestModule3</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2AnnotationTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2EnvironmentTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2ExceptionTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2FilterTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2PortletTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2RequestTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2ResponseTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2URLTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2WrapperTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2AddlEnvironmentTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2AddlFilterTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2AddlPortletTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2AddlRequestTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2AddlResponseTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2PortletTagLibraryTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2PortletTagLibraryTests2</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2PortletTagLibraryTests3</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherTests2</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherTests3S</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherTests4</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherTests5</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherTests6</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherReqRespTests1</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherReqRespTests2</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherReqRespTests3</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherReqRespTests4</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2DispatcherReqRespTests5S</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsAction</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsEnv</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsEvent</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsException</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsFilter</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsRender</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsResource</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsURL</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V2SigTestsWrapper</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3PortletContextTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3PortletConfigTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3URLTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3RenderStateTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3HeaderPortletTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3PortletParametersTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>
<properties>
<additional.testcases.only>true</additional.testcases.only>
<additional.pagefile.only>true</additional.pagefile.only>
</properties>
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources/xml-resources</directory>
<targetPath>../${test.file.dir}</targetPath>
<includes>
<include>*</include>
</includes>
</resource>
</resources>
<plugins>
<!-- For extracting the XML transformation stylesheets from common module -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>xml-resource-dependencies</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>
tck-TestModule1,
tck-TestModule2,
tck-TestModule3,
tck-V2AnnotationTests,
tck-V2EnvironmentTests,
tck-V2ExceptionTests,
tck-V2FilterTests,
tck-V2PortletTests,
tck-V2RequestTests,
tck-V2ResponseTests,
tck-V2URLTests,
tck-V2WrapperTests,
tck-V2AddlEnvironmentTests,
tck-V2AddlFilterTests,
tck-V2AddlPortletTests,
tck-V2AddlRequestTests,
tck-V2AddlResponseTests,
tck-V2SigTestsAction,
tck-V2SigTestsEnv,
tck-V2SigTestsEvent,
tck-V2SigTestsException,
tck-V2SigTestsFilter,
tck-V2SigTestsRender,
tck-V2SigTestsResource,
tck-V2SigTestsURL,
tck-V2SigTestsWrapper,
tck-V2PortletTagLibraryTests,
tck-V2PortletTagLibraryTests2,
tck-V2PortletTagLibraryTests3,
tck-V2DispatcherReqRespTests1,
tck-V2DispatcherReqRespTests2,
tck-V2DispatcherReqRespTests3,
tck-V2DispatcherReqRespTests4,
tck-V2DispatcherReqRespTests5S,
tck-V2DispatcherTests,
tck-V2DispatcherTests2,
tck-V2DispatcherTests4,
tck-V2DispatcherTests5,
tck-V2DispatcherTests6,
tck-V2DispatcherTests3S,
tck-V3PortletContextTests,
tck-V3PortletConfigTests,
tck-V3URLTests,
tck-V3RenderStateTests
,tck-V3HeaderPortletTests
,tck-V3PortletParametersTests
</includeArtifactIds>
<includes>${test.file.dir}/*.xml</includes>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- For Performing xml translations to create test.xml files -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
<configuration>
<transformationSets>
<!-- Combine several test list files into a single module -->
<transformationSet>
<dir>${project.build.directory}/${test.file.dir}</dir>
<includes>
<include>testFiles.xml</include>
</includes>
<outputDir>${project.build.directory}/classes/${test.list.dir}</outputDir>
<fileMappers>
<fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper">
<targetName>${test.list.name}</targetName>
</fileMapper>
</fileMappers>
<stylesheet>${project.build.directory}/${test.file.dir}/${test.list.xsl}</stylesheet>
</transformationSet>
<!-- Combine several page files into a single page file containing
all test portal pages -->
<transformationSet>
<dir>${project.build.directory}/${test.file.dir}</dir>
<includes>
<include>pageFiles.xml</include>
</includes>
<outputDir>${project.build.directory}/classes/${test.list.dir}</outputDir>
<fileMappers>
<fileMapper implementation="org.codehaus.plexus.components.io.filemappers.MergeFileMapper">
<targetName>${page.file.final.name}</targetName>
</fileMapper>
</fileMappers>
<stylesheet>${project.build.directory}/${test.file.dir}/${page.file.final.xsl}</stylesheet>
</transformationSet>
</transformationSets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>example.Selenium2Example</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<!-- To build the tests, use "mvn clean install" from the parent directory. -->
<!-- To run all of the tests, use "mvn test -Prun-tck" from the driver directory. -->
<!-- To a subset of the tests, use "mvn test -Prun-tck -Dtest.module=<match string>" from the driver directory. -->
<!-- the driver will then execute all tests whose test case name contains the specified string. -->
<!-- Example: "mvn test -Prun-tck -Dtest.module=PortletRequest" will execute all PortletRequest TCs. -->
<profiles>
<profile>
<id>run-tck</id>
<build>
<plugins>
<!-- For running the test driver -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<testClassesDirectory>${project.build.directory}/classes</testClassesDirectory>
<includes>
<include>**/javax/**</include>
</includes>
<useFile>true</useFile>
<argLine>-Xms512m -Xmx512m</argLine>
<systemProperties>
<property>
<name>test.server.login.url</name>
<value>${test.server.login.url}</value>
</property>
<property>
<name>test.context.base</name>
<value>${test.context.base}</value>
</property>
<property>
<name>test.url.strategy</name>
<value>${test.url.strategy}</value>
</property>
<property>
<name>test.server.host</name>
<value>${test.server.host}</value>
</property>
<property>
<name>test.server.port</name>
<value>${test.server.port}</value>
</property>
<property>
<name>test.server.username.id</name>
<value>${test.server.username.id}</value>
</property>
<property>
<name>test.server.username</name>
<value>${test.server.username}</value>
</property>
<property>
<name>test.server.password.id</name>
<value>${test.server.password.id}</value>
</property>
<property>
<name>test.server.password</name>
<value>${test.server.password}</value>
</property>
<property>
<name>test.list.file</name>
<value>${project.build.directory}/classes/${test.list.dir}/${test.list.name}</value>
</property>
<property>
<name>test.browser</name>
<value>${test.browser}</value>
</property>
<property>
<name>test.browser.webDriver</name>
<value>${test.browser.webDriver}</value>
</property>
<property>
<name>test.module</name>
<value>${test.module}</value>
</property>
<property>
<name>test.debug</name>
<value>false</value>
</property>
<property>
<name>test.timeout</name>
<value>${test.timeout}</value>
</property>
</systemProperties>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>