| <?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.sling</groupId> |
| <artifactId>sling</artifactId> |
| <version>26</version> |
| <relativePath/> |
| </parent> |
| |
| <artifactId>org.apache.sling.models.integration-tests</artifactId> |
| <version>0.0.1-SNAPSHOT</version> |
| <packaging>bundle</packaging> |
| |
| <name>Apache Sling Models Integration Tests</name> |
| <description> |
| Apache Sling Models Integration Tests - builds a bundle |
| with Sling server-side tests, and executes them via a |
| remote test proxy that runs in the integration-tests phase. |
| </description> |
| |
| <!-- |
| To keep the instance under test running and run individual tests |
| against it, use: |
| |
| mvn clean verify -DkeepJarRunning=true -Dhttp.port=8080 |
| |
| optionally using jar.executor.vm.options to enable remote debugging, |
| and in another console: |
| |
| mvn -o verify -Dtests.to.run=**/**Test.java -Dtest.server.url=http://localhost:8080 |
| |
| optionally using -Dmaven.surefire.debug to enable debugging. |
| --> |
| <properties> |
| <sling.java.version>7</sling.java.version> |
| <!-- Set this to run the server on a specific port |
| <http.port></http.port> |
| --> |
| |
| <!-- Set this to run tests against an existing server instance --> |
| <keepJarRunning>false</keepJarRunning> |
| |
| <!-- URL of a server against which to run tests --> |
| <test.server.url /> |
| |
| <!-- Set this to run tests against a specific hostname, if test.server.url is not set--> |
| <test.server.hostname /> |
| |
| <!-- Set this to use a different username for remote execution of sling junit tests --> |
| <test.server.username /> |
| |
| <!-- Set this to use a different password for remote execution of sling junit tests --> |
| <test.server.password /> |
| |
| <!-- Options for the VM that executes our runnable jar --> |
| <jar.executor.vm.options>-Xmx512m</jar.executor.vm.options> |
| <!-- Alternative with JVM debug port |
| <jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=38080,suspend=n</jar.executor.vm.options> |
| --> |
| |
| <!-- Change this to use longer or shorter timeouts for testing --> |
| <sling.testing.timeout.multiplier>1.0</sling.testing.timeout.multiplier> |
| |
| <!-- Set this to run the executable jar in a specified filesystem folder --> |
| <jar.executor.work.folder /> |
| |
| <!-- Options for the jar to execute. $JAREXEC_SERVER_PORT$ is replaced by the |
| selected port number --> |
| <jar.executor.jar.options>-p $JAREXEC_SERVER_PORT$</jar.executor.jar.options> |
| </properties> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-clean-plugin</artifactId> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>${basedir}</directory> |
| <includes> |
| <!-- sling folder is the workdir of the executable jar that we test --> |
| <include>sling/**</include> |
| </includes> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <extensions>true</extensions> |
| <configuration> |
| <instructions> |
| <Sling-Model-Packages> |
| org.apache.sling.models.it.nonexisting, |
| org.apache.sling.models.it.noclasses, |
| org.apache.sling.models.it.models, |
| org.apache.sling.models.it.rtbound, |
| org.apache.sling.models.it.rtboundpicker, |
| org.apache.sling.models.it.delegate.request, |
| org.apache.sling.models.it.delegate.resource |
| </Sling-Model-Packages> |
| <Sling-Model-Classes> |
| org.apache.sling.models.it.exporter.BaseComponent, |
| org.apache.sling.models.it.exporter.ComponentImpl, |
| org.apache.sling.models.it.exporter.ExtendedComponent, |
| org.apache.sling.models.it.exporter.BaseRequestComponent, |
| org.apache.sling.models.it.exporter.RequestComponentImpl, |
| org.apache.sling.models.it.exporter.ExtendedRequestComponent, |
| org.apache.sling.models.it.exporter.DoubledFirstComponent, |
| org.apache.sling.models.it.exporter.DoubledSecondComponent |
| </Sling-Model-Classes> |
| <Sling-Test-Regexp>.*Test</Sling-Test-Regexp> |
| <Export-Package> |
| org.apache.sling.models.it.delegate.request, |
| org.apache.sling.models.it.delegate.resource, |
| org.apache.sling.models.it.exporter, |
| org.apache.sling.models.it.implpicker, |
| org.apache.sling.models.it.models, |
| org.apache.sling.models.it.models.implextend, |
| org.apache.sling.models.it.rtbound, |
| org.apache.sling.models.it.rtboundpicker, |
| org.apache.sling.models.it.services |
| </Export-Package> |
| <Import-Package> |
| org.apache.commons.beanutils;resolution:=optional, |
| * |
| </Import-Package> |
| </instructions> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-scr-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>sling/**</exclude> |
| <exclude>derby.log</exclude> |
| <exclude>src/main/resources/org/apache/sling/models/it/noclasses/foo.txt</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-runnable-jar</id> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <phase>process-resources</phase> |
| <configuration> |
| <includeArtifactIds>org.apache.sling.launchpad</includeArtifactIds> |
| <excludeTransitive>true</excludeTransitive> |
| <overWriteReleases>false</overWriteReleases> |
| <overWriteSnapshots>false</overWriteSnapshots> |
| </configuration> |
| </execution> |
| <execution> |
| <!-- |
| Consider all dependencies as candidates to be installed |
| as additional bundles. We use system properties to define |
| which bundles to install in which order. |
| --> |
| <id>copy-additional-bundles</id> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <phase>process-resources</phase> |
| <configuration> |
| <outputDirectory>${project.build.directory}</outputDirectory> |
| <excludeTransitive>true</excludeTransitive> |
| <overWriteReleases>false</overWriteReleases> |
| <overWriteSnapshots>false</overWriteSnapshots> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <!-- Find free ports to run our server --> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>reserve-server-port</id> |
| <goals> |
| <goal>reserve-network-port</goal> |
| </goals> |
| <phase>process-resources</phase> |
| <configuration> |
| <portNames> |
| <portName>http.port</portName> |
| </portNames> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>integration-test</id> |
| <goals> |
| <goal>integration-test</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>verify</id> |
| <goals> |
| <goal>verify</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <debugForkedProcess>${maven.surefire.debug}</debugForkedProcess> |
| <systemPropertyVariables> |
| <test.server.url>${test.server.url}</test.server.url> |
| <test.server.hostname>${test.server.hostname}</test.server.hostname> |
| <test.server.username>${test.server.username}</test.server.username> |
| <test.server.password>${test.server.password}</test.server.password> |
| <jar.executor.server.port>${http.port}</jar.executor.server.port> |
| <jar.executor.vm.options>${jar.executor.vm.options}</jar.executor.vm.options> |
| <jar.executor.jar.folder>${project.basedir}/target/dependency</jar.executor.jar.folder> |
| <jar.executor.jar.name.regexp>org.apache.sling.launchpad.*jar$</jar.executor.jar.name.regexp> |
| <jar.executor.work.folder>${jar.executor.work.folder}</jar.executor.work.folder> |
| <jar.executor.jar.options>${jar.executor.jar.options}</jar.executor.jar.options> |
| <additional.bundles.path>${project.basedir}/target,${project.basedir}/target/sling/additional-bundles</additional.bundles.path> |
| <keepJarRunning>${keepJarRunning}</keepJarRunning> |
| <server.ready.timeout.seconds>60</server.ready.timeout.seconds> |
| <sling.testing.timeout.multiplier>${sling.testing.timeout.multiplier}</sling.testing.timeout.multiplier> |
| <server.ready.path.1>/:script src="system/sling.js"</server.ready.path.1> |
| <server.ready.path.2>/.explorer.html:href="/libs/sling/explorer/css/explorer.css"</server.ready.path.2> |
| <server.ready.path.3>/sling-test/sling/sling-test.html:Sling client library tests</server.ready.path.3> |
| <start.bundles.timeout.seconds>30</start.bundles.timeout.seconds> |
| <bundle.install.timeout.seconds>20</bundle.install.timeout.seconds> |
| |
| <!-- |
| Define additional bundles to install by specifying the beginning of their artifact name. |
| The bundles are installed in lexical order of these property names. |
| All bundles must be listed as dependencies in this pom, or they won't be installed. |
| --> |
| <sling.additional.bundle.1>org.apache.sling.junit.core</sling.additional.bundle.1> |
| <sling.additional.bundle.3>org.apache.sling.commons.johnzon</sling.additional.bundle.3> |
| <sling.additional.bundle.4>commons-lang3</sling.additional.bundle.4> |
| <sling.additional.bundle.10>org.apache.sling.models.api</sling.additional.bundle.10> |
| <sling.additional.bundle.11>org.apache.sling.models.impl</sling.additional.bundle.11> |
| <sling.additional.bundle.12>org.apache.sling.models.jacksonexporter</sling.additional.bundle.12> |
| <sling.additional.bundle.13>jackson-annotations</sling.additional.bundle.13> |
| <sling.additional.bundle.14>jackson-core</sling.additional.bundle.14> |
| <sling.additional.bundle.15>jackson-databind</sling.additional.bundle.15> |
| <sling.additional.bundle.16>commons-lang3</sling.additional.bundle.16> |
| <sling.additional.bundle.17>${project.build.finalName}.jar</sling.additional.bundle.17> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>org.osgi.core</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>org.osgi.compendium</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <!-- Additional bundles needed by the Sling instance under test --> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.junit.core</artifactId> |
| <version>1.0.26</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.testing.rules</artifactId> |
| <version>1.0.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.junit.teleporter</artifactId> |
| <version>1.0.12</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.commons.johnzon</artifactId> |
| <version>1.0.0</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.engine</artifactId> |
| <version>2.2.0</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.models.api</artifactId> |
| <version>1.3.9-SNAPSHOT</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.models.impl</artifactId> |
| <version>1.4.11-SNAPSHOT</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.models.jacksonexporter</artifactId> |
| <version>1.0.9-SNAPSHOT</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>2.3.2</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-core</artifactId> |
| <version>2.3.2</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-annotations</artifactId> |
| <version>2.3.2</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.commons</groupId> |
| <artifactId>commons-lang3</artifactId> |
| <version>3.4</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- not part of launchpad 7 (see SLING-4710) --> |
| <dependency> |
| <groupId>org.apache.geronimo.specs</groupId> |
| <artifactId>geronimo-atinject_1.0_spec</artifactId> |
| <version>1.0</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- actual dependencies --> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>servlet-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>javax.jcr</groupId> |
| <artifactId>jcr</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.api</artifactId> |
| <version>2.4.0</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>commons-lang</groupId> |
| <artifactId>commons-lang</artifactId> |
| <version>2.5</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.launchpad</artifactId> |
| <version>8</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>1.6.6</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <scope>test</scope> |
| <version>1.6.6</version> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.12</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>commons-beanutils</groupId> |
| <artifactId>commons-beanutils</artifactId> |
| <version>1.9.2</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| <profiles> |
| <profile> |
| <id>debug-remote-process</id> |
| <properties> |
| <jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=38080,suspend=n</jar.executor.vm.options> |
| </properties> |
| </profile> |
| <profile> |
| <id>debug-remote-process-suspend</id> |
| <properties> |
| <jar.executor.vm.options>-Xmx512m -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=38080,suspend=n</jar.executor.vm.options> |
| </properties> |
| </profile> |
| </profiles> |
| </project> |