blob: 43139f9e73181f9cb467a31812246898582ffe46 [file] [log] [blame]
<?xml version="1.0"?>
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ 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.sling</groupId>
<artifactId>sling</artifactId>
<version>34</version>
<relativePath />
</parent>
<artifactId>org.apache.sling.scripting.sightly.testing</artifactId>
<!--
The versioning scheme defined here corresponds to SLING-7406 (<module_version>-<htl_specification_version>). Take care when
releasing to only increase the first part, unless the module provides support for a newer version of the HTL specification.
-->
<version>1.0.16-1.4.0</version>
<name>Apache Sling Scripting HTL Integration Tests</name>
<description>This project runs the integration tests for validating the Apache Sling Scripting HTL implementation
against the Adobe HTL TCK.
</description>
<scm>
<connection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly-testing.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly-testing.git</developerConnection>
<url>https://gitbox.apache.org/repos/asf?p=sling-org-apache-sling-scripting-sightly-testing.git</url>
<tag>org.apache.sling.scripting.sightly.testing-1.0.16-1.4.0</tag>
</scm>
<properties>
<sling.java.version>8</sling.java.version>
<!-- run modes for integration tests -->
<sling.run.modes>oak_tar</sling.run.modes>
<!-- path suffix for HTTP access to Sling -->
<http.base.path />
<!-- hostname for integration tests -->
<test.host>localhost</test.host>
<!-- optionally exclude some integration tests -->
<failsafe.exclude />
<!--
Set this to true to stop mvn once the integration test Jetty instance is
started. Useful to manually test the integration testing webapp.
-->
<integration.test.wait>false</integration.test.wait>
<!--
if set to "true" this will start the launchpad with the following debug options:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
otherwise you can provide your own debug settings
-->
<debug.options />
<jacoco.maven.plugin.version>0.7.9</jacoco.maven.plugin.version>
<!-- HTL modules under test versions -->
<org.apache.sling.scripting.sightly.runtime.version>1.1.1-1.4.0-SNAPSHOT</org.apache.sling.scripting.sightly.runtime.version>
<org.apache.sling.scripting.sightly.compiler.version>1.1.3-1.4.0-SNAPSHOT</org.apache.sling.scripting.sightly.compiler.version>
<org.apache.sling.scripting.sightly.compiler.java.version>1.1.3-1.4.0-SNAPSHOT</org.apache.sling.scripting.sightly.compiler.java.version>
<org.apache.sling.scripting.sightly.version>1.1.3-1.4.0-SNAPSHOT</org.apache.sling.scripting.sightly.version>
<org.apache.sling.scripting.sightly.js.provider.version>1.0.29-SNAPSHOT</org.apache.sling.scripting.sightly.js.provider.version>
<org.apache.sling.scripting.sightly.models.provider.version>1.0.9-SNAPSHOT</org.apache.sling.scripting.sightly.models.provider.version>
<org.apache.sling.scripting.sightly.testing.content.version>1.0.13-1.4.0-SNAPSHOT</org.apache.sling.scripting.sightly.testing.content.version>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>slingstart-maven-plugin</artifactId>
<version>1.8.2</version>
<extensions>true</extensions>
<configuration>
<usePomDependencies>true</usePomDependencies>
<servers>
<server>
<port>${http.port}</port>
<controlPort>${sling.control.port}</controlPort>
<runmode>${sling.run.modes}</runmode>
<contextPath>${http.base.path}</contextPath>
<debug>${debug.options}</debug>
</server>
</servers>
<disableExtendingMavenClasspath>true</disableExtendingMavenClasspath>
</configuration>
<executions>
<execution>
<id>customise-starter</id>
<goals>
<goal>prepare-package</goal>
</goals>
<configuration>
<modelDirectory>${project.basedir}/src/test/provisioning</modelDirectory>
<usePomDependencies>true</usePomDependencies>
</configuration>
</execution>
<execution>
<id>package-starter</id>
<goals>
<goal>package</goal>
</goals>
<configuration>
<attachArtifact>false</attachArtifact>
<modelDirectory>${project.basedir}/src/test/provisioning</modelDirectory>
</configuration>
</execution>
<execution>
<id>start-container</id>
<goals>
<goal>start</goal>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<configuration>
<filesets>
<fileset>
<directory>${basedir}</directory>
<includes>
<include>derby.log</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>reserve-network-port</id>
<goals>
<goal>reserve-network-port</goal>
</goals>
<phase>process-resources</phase>
<configuration>
<portNames>
<portName>http.port</portName>
<portName>sling.control.port</portName>
</portNames>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<executions>
<execution>
<id>integration-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>
<include>%regex[.*LaunchpadReadyIT.*]</include>
<include>%regex[.*SlingSpecificsSightlyIT.*]</include>
<include>%regex[.*TestsRunner.*]</include>
<include>%regex[.*PerformanceIT.*]</include>
</includes>
<dependenciesToScan>
<dependency>io.sightly:io.sightly.tck</dependency>
</dependenciesToScan>
<runOrder>alphabetical</runOrder>
<excludes>
<exclude>${failsafe.exclude}</exclude>
</excludes>
<systemPropertyVariables>
<io.sightly.tck.serverURL>http://${test.host}:${http.port}</io.sightly.tck.serverURL>
<io.sightly.tck.user>admin</io.sightly.tck.user>
<io.sightly.tck.pass>admin</io.sightly.tck.pass>
<launchpad.http.server.url>http://${test.host}:${http.port}/</launchpad.http.server.url>
<launchpad.servlet.context>${http.base.path}</launchpad.servlet.context>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<configuration>
<releaseProfiles>release</releaseProfiles>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>snapshot-launchpad</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>slingstart-maven-plugin</artifactId>
<configuration>
<model>
[feature name=sling]
# Dependencies
[artifacts]
org.apache.sling/org.apache.sling.starter/12-SNAPSHOT/slingstart
</model>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>release</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>slingstart-maven-plugin</artifactId>
<configuration>
<model>
[feature name=sling]
# Dependencies
[artifacts]
org.apache.sling/org.apache.sling.starter/11/slingstart
</model>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!--
This profile allows running code coverage reports for the integration tests. In addition, if the other modules have been
built from the reactor, their jacoco reports will be merged to produce a report containing coverage information about
both unit and integration tests.
By default the latest snapshots will be used for generating the report. If, however, you want to run the report on
released versions then this can be achieved with the following command:
mvn clean verify -Pcoverage-report \
-Dorg.apache.sling.scripting.sightly.compiler.version=1.0.2 \
-Dorg.apache.sling.scripting.sightly.compiler.java.version=1.0.4 \
-Dorg.apache.sling.scripting.sightly.version=1.0.26 \
-Dorg.apache.sling.scripting.sightly.js.provider.version=1.0.16 \
-Dorg.apache.sling.scripting.sightly.models.provider.version=1.0.4
-->
<id>coverage-report</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<failsafe.exclude>%regex[.*PerformanceIT.*]</failsafe.exclude>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/generated-sources</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<configuration>
<includeArtifactIds>
org.apache.sling.scripting.sightly.compiler,
org.apache.sling.scripting.sightly.compiler.java,
org.apache.sling.scripting.sightly,
org.apache.sling.scripting.sightly.js.provider,
org.apache.sling.scripting.sightly.models.provider
</includeArtifactIds>
<transitive>false</transitive>
</configuration>
<executions>
<execution>
<id>copy-sources</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<classifier>sources</classifier>
<failOnMissingClassifierArtifact>true</failOnMissingClassifierArtifact>
<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/</outputDirectory>
<resources>
<resource>
<directory>../compiler/target/</directory>
<includes>
<include>jacoco.exec</include>
</includes>
<targetPath>compiler-jacoco</targetPath>
</resource>
<resource>
<directory>../java-compiler/target/</directory>
<includes>
<include>jacoco.exec</include>
</includes>
<targetPath>java-compiler-jacoco</targetPath>
</resource>
<resource>
<directory>../engine/target/</directory>
<includes>
<include>jacoco.exec</include>
</includes>
<targetPath>engine-jacoco</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>slingstart-maven-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>start-container</id>
<goals>
<goal>start</goal>
<goal>stop</goal>
</goals>
</execution>
</executions>
<configuration>
<usePomDependencies>true</usePomDependencies>
<servers>
<server>
<port>${http.port}</port>
<controlPort>${sling.control.port}</controlPort>
<runmode>${sling.run.modes}</runmode>
<contextPath>${http.base.path}</contextPath>
<debug>${jacoco.agent}</debug>
</server>
</servers>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.maven.plugin.version}</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
<configuration>
<propertyName>jacoco.agent</propertyName>
<destFile>${project.build.directory}/jacoco-it.exec</destFile>
</configuration>
</execution>
<execution>
<id>merge-reports</id>
<phase>verify</phase>
<goals>
<goal>merge</goal>
</goals>
<configuration>
<fileSets>
<fileSet>
<directory>${project.build.directory}</directory>
<includes>
<include>jacoco-it.exec</include>
<include>compiler-jacoco/jacoco.exec</include>
<include>java-compiler-jacoco/jacoco.exec</include>
<include>engine-jacoco/jacoco.exec</include>
</includes>
</fileSet>
</fileSets>
<destFile>${project.build.directory}/jacoco.exec</destFile>
</configuration>
</execution>
<execution>
<id>final-report</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<includes>
<include>org/apache/sling/scripting/sightly/**/*</include>
</includes>
<excludes>
<exclude>org/apache/sling/scripting/sightly/impl/parser/expr/generated/**/*</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>check-coverage</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<includes>
<include>org/apache/sling/scripting/sightly/**/*</include>
</includes>
<excludes>
<exclude>org/apache/sling/scripting/sightly/impl/parser/expr/generated/**/*</exclude>
</excludes>
<rules>
<rule>
<element>BUNDLE</element>
<limits>
<limit>
<counter>INSTRUCTION</counter>
<value>COVEREDRATIO</value>
<minimum>0.80</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<dependencies>
<!-- The integration tests -->
<dependency>
<groupId>io.sightly</groupId>
<artifactId>io.sightly.tck</artifactId>
<version>1.4.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
<exclusion>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Launchpad dependencies -->
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.runtime</artifactId>
<version>1.1.0-1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.compiler</artifactId>
<version>1.1.2-1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.compiler.java</artifactId>
<version>1.1.2-1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly</artifactId>
<version>1.1.2-1.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.js.provider</artifactId>
<version>1.0.28</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.models.provider</artifactId>
<version>1.0.8</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.scripting.sightly.testing-content</artifactId>
<version>1.0.12-1.4.0</version>
<scope>provided</scope>
</dependency>
<!-- Dependencies for the Test Build and Run -->
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.rules</artifactId>
<version>1.0.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.clients</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>compile</scope>
</dependency>
<!-- Dependency for running Sling performance tests -->
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.performance.base</artifactId>
<version>1.0.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.4</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>