| <?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.distribution.it</artifactId> |
| <version>0.1.3-SNAPSHOT</version> |
| <packaging>bundle</packaging> |
| |
| <name>Apache Sling Distribution Integration Tests</name> |
| <description> |
| Project tests functionality for org.apache.sling.distribution bundle |
| </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>8</sling.java.version> |
| <!-- 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>-Xmx2048m</jar.executor.vm.options> |
| |
| <!-- Change this to use longer or shorter timeouts for testing --> |
| <sling.testing.timeout.multiplier>1.0</sling.testing.timeout.multiplier> |
| |
| <author.jar.executor.work.folder>${project.build.directory}/author</author.jar.executor.work.folder> |
| <!-- Options for the jar to execute. $JAREXEC_SERVER_PORT$ is replaced by the |
| selected port number --> |
| <author.jar.executor.jar.options>-p $JAREXEC_SERVER_PORT$ -Dsling.run.modes=author,notshared |
| </author.jar.executor.jar.options> |
| |
| <publish.jar.executor.work.folder>${project.build.directory}/publish</publish.jar.executor.work.folder> |
| <publish.jar.executor.jar.options>-p $JAREXEC_SERVER_PORT$ -Dsling.run.modes=publish,notshared |
| </publish.jar.executor.jar.options> |
| |
| <author-shared.jar.executor.work.folder>${project.build.directory}/author-shared</author-shared.jar.executor.work.folder> |
| <author-shared.jar.executor.jar.options>-p $JAREXEC_SERVER_PORT$ -Dsling.run.modes=author,shared -Dsling.fileinstall.dir=sling/install |
| </author-shared.jar.executor.jar.options> |
| |
| |
| <publish-shared.jar.executor.work.folder>${project.build.directory}/publish-shared</publish-shared.jar.executor.work.folder> |
| <publish-shared.jar.executor.jar.options>-p $JAREXEC_SERVER_PORT$ -Dsling.run.modes=publish,shared -Dsling.fileinstall.dir=sling/install |
| </publish-shared.jar.executor.jar.options> |
| |
| <!-- Change this to run selected tests only --> |
| <tests.to.run>**/**Test.java</tests.to.run> |
| </properties> |
| |
| <scm> |
| <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/it</connection> |
| <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/it</developerConnection> |
| <url>http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it</url> |
| </scm> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-scr-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>maven-sling-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <extensions>true</extensions> |
| <configuration> |
| <instructions> |
| <Bundle-SymbolicName>org.apache.sling.distribution.it</Bundle-SymbolicName> |
| <Sling-Initial-Content>SLING-CONTENT/content/test;path:=/content/test;overwrite:=true, |
| SLING-CONTENT/libs/test;path:=/libs/test;overwrite:=true |
| </Sling-Initial-Content> |
| <Export-Package> |
| org.apache.sling.distribution.it |
| </Export-Package> |
| </instructions> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.rat</groupId> |
| <artifactId>apache-rat-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>derby.log</exclude> |
| <exclude>**/sling.properties</exclude> |
| <exclude>**/cache.lock</exclude> |
| <exclude>src/main/resources/**/*.*</exclude> |
| <exclude>src/test/resources/**/*.*</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>createFolders</id> |
| <phase>process-resources</phase> |
| <configuration> |
| <tasks> |
| <mkdir dir="${project.build.directory}/author" /> |
| <mkdir dir="${project.build.directory}/publish" /> |
| |
| <mkdir dir="${project.build.directory}/author-shared/sling/install" /> |
| <mkdir dir="${project.build.directory}/publish-shared/sling/install" /> |
| |
| |
| <!-- Author FileDataStore configuration --> |
| <copy todir="${project.build.directory}/author-shared/sling/install"> |
| <fileset dir="${project.build.directory}/classes/install"> |
| <include name="**/*.cfg"/> |
| </fileset> |
| </copy> |
| |
| <!-- Publish FileDataStore configuration --> |
| <copy todir="${project.build.directory}/publish-shared/sling/install"> |
| <fileset dir="${project.build.directory}/classes/install"> |
| <include name="**/*.cfg"/> |
| </fileset> |
| </copy> |
| </tasks> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </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}/sling/additional-bundles</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>author.http.port</portName> |
| <portName>publish.http.port</portName> |
| |
| <portName>author-shared.http.port</portName> |
| <portName>publish-shared.http.port</portName> |
| </portNames> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <!-- We run all tests in the integration-tests phase --> |
| <excludes> |
| <exclude>**</exclude> |
| </excludes> |
| </configuration> |
| </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> |
| <includes> |
| <include>${tests.to.run}</include> |
| </includes> |
| <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> |
| <author.jar.executor.server.port>${author.http.port}</author.jar.executor.server.port> |
| <publish.jar.executor.server.port>${publish.http.port}</publish.jar.executor.server.port> |
| <author-shared.jar.executor.server.port>${author-shared.http.port}</author-shared.jar.executor.server.port> |
| <publish-shared.jar.executor.server.port>${publish-shared.http.port}</publish-shared.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> |
| |
| <author.jar.executor.jar.options>${author.jar.executor.jar.options} |
| </author.jar.executor.jar.options> |
| <publish.jar.executor.jar.options>${publish.jar.executor.jar.options} |
| </publish.jar.executor.jar.options> |
| |
| <author-shared.jar.executor.jar.options>${author-shared.jar.executor.jar.options} |
| </author-shared.jar.executor.jar.options> |
| <publish-shared.jar.executor.jar.options>${publish-shared.jar.executor.jar.options} |
| </publish-shared.jar.executor.jar.options> |
| |
| <author.jar.executor.work.folder>${author.jar.executor.work.folder}</author.jar.executor.work.folder> |
| <publish.jar.executor.work.folder>${publish.jar.executor.work.folder}</publish.jar.executor.work.folder> |
| |
| <author-shared.jar.executor.work.folder>${author-shared.jar.executor.work.folder}</author-shared.jar.executor.work.folder> |
| <publish-shared.jar.executor.work.folder>${publish-shared.jar.executor.work.folder}</publish-shared.jar.executor.work.folder> |
| |
| <additional.bundles.path> |
| ${project.build.directory},${project.build.directory}/sling/additional-bundles |
| </additional.bundles.path> |
| <keepJarRunning>${keepJarRunning}</keepJarRunning> |
| <server.ready.timeout.seconds>360</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>httpcore-osgi</sling.additional.bundle.1> |
| <sling.additional.bundle.2>httpclient-osgi</sling.additional.bundle.2> |
| <sling.additional.bundle.35>org.apache.sling.event</sling.additional.bundle.35> |
| <sling.additional.bundle.4>org.apache.sling.hc.core</sling.additional.bundle.4> |
| <sling.additional.bundle.5>org.apache.jackrabbit.vault</sling.additional.bundle.5> |
| <sling.additional.bundle.6>org.apache.sling.distribution.api</sling.additional.bundle.6> |
| <sling.additional.bundle.7>org.apache.sling.distribution.core</sling.additional.bundle.7> |
| <sling.additional.bundle.8>org.apache.sling.distribution.sample</sling.additional.bundle.8> |
| <sling.additional.bundle.9>${project.build.finalName}.jar</sling.additional.bundle.9> |
| <sling.additional.bundle.10>org.apache.sling.commons.johnzon</sling.additional.bundle.10> |
| </systemPropertyVariables> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <dependencies> |
| <!-- Additional bundles needed by the Sling instance under test --> |
| |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.testing.tools</artifactId> |
| <version>1.0.17-SNAPSHOT</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.hc.core</artifactId> |
| <version>1.0.6</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.commons.osgi</artifactId> |
| <version>2.2.0</version> |
| <scope>provided</scope> |
| </dependency> |
| <!-- FILEVAULT --> |
| <dependency> |
| <groupId>org.apache.jackrabbit.vault</groupId> |
| <artifactId>org.apache.jackrabbit.vault</artifactId> |
| <version>3.1.30</version> |
| <scope>provided</scope> |
| </dependency> |
| <!-- HTTP --> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpcore-osgi</artifactId> |
| <version>4.3.1</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.httpcomponents</groupId> |
| <artifactId>httpclient-osgi</artifactId> |
| <version>4.3.2</version> |
| </dependency> |
| <!-- COMMONS --> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>2.4</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- actual dependencies --> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.commons.johnzon</artifactId> |
| <version>1.0.0</version> |
| </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.5.11</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-simple</artifactId> |
| <version>1.5.11</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.11</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.api</artifactId> |
| <version>2.5.0</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>servlet-api</artifactId> |
| <version>2.4</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>jackrabbit-api</artifactId> |
| <version>2.7.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.jackrabbit</groupId> |
| <artifactId>jackrabbit-jcr-commons</artifactId> |
| <version>2.7.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.serviceusermapper</artifactId> |
| <version>1.2.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.event</artifactId> |
| <version>4.0.0</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.jcr</groupId> |
| <artifactId>jcr</artifactId> |
| <version>2.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.distribution.api</artifactId> |
| <version>0.3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.distribution.core</artifactId> |
| <version>0.2.7-SNAPSHOT</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.sling</groupId> |
| <artifactId>org.apache.sling.distribution.sample</artifactId> |
| <version>0.1.7-SNAPSHOT</version> |
| </dependency> |
| </dependencies> |
| </project> |