blob: db30fbec0c26c390b54d648e00624b84af16d47a [file] [log] [blame]
<?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>javax.portlet</groupId>
<artifactId>portlet-tck</artifactId>
<version>3.0.3</version>
<relativePath>../pom.xml</relativePath>
</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.apache.portals.pluto</groupId>
<artifactId>test-base</artifactId>
<version>${pluto.test.version}</version>
</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>
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>phantomjsdriver</artifactId>
<scope>compile</scope>
</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>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3AnnotationPortletArtifactValidityTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3AnnotationPortletApplicationConfigTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3AnnotationPortletAppConfigOverrideTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3AnnotationPortletConfigTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3PortletHubTests</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>tck-V3ResourceAsyncTests</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>
<resource>
<directory>src/main/resources/xml-resources</directory>
<targetPath>${test.list.dir}</targetPath>
<includes>
<include>ignoredTestCases.xml</include>
<include>nonExclusiveTestCases.xml</include>
</includes>
</resource>
</resources>
<plugins>
<!-- get the phantomjs executable -->
<plugin>
<groupId>com.github.klieber</groupId>
<artifactId>phantomjs-maven-plugin</artifactId>
<version>0.7</version>
<executions>
<execution>
<goals>
<goal>install</goal>
</goals>
</execution>
</executions>
<configuration>
<version>1.9.7</version>
<checkSystemPath>false</checkSystemPath>
</configuration>
</plugin>
<!-- 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
,tck-V3AnnotationPortletArtifactValidityTests
,tck-V3AnnotationPortletApplicationConfigTests
,tck-V3AnnotationPortletAppConfigOverrideTests
,tck-V3AnnotationPortletConfigTests
,tck-V3PortletHubTests
,tck-V3ResourceAsyncTests
</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>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>.externalToolBuilders/Maven_Ant_Builder.launch</exclude>
<exclude>maven-eclipse.xml</exclude>
</excludes>
</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>${test.tck.driver}</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>${test.list.file}</value>
</property>
<property>
<name>test.ignore.list.file</name>
<value>${test.ignore.list.file}</value>
</property>
<property>
<name>test.non.exclusive.file</name>
<value>${test.non.exclusive.file}</value>
</property>
<property>
<name>test.ignore</name>
<value>true</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.browser.binary</name>
<value>${test.browser.binary}</value>
</property>
<property>
<name>test.browser.headless</name>
<value>${test.browser.headless}</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>