This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.testing.paxexam-0.0.2 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-paxexam.git
commit b4440ef4618af04baa8094c62ce09bfc5acc283b Author: Oliver Lietz <[email protected]> AuthorDate: Thu Jun 23 14:22:20 2016 +0000 SLING-5809 Provide Sling's Launchpad Karaf Features as Options for Pax Exam git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/org.apache.sling.testing.paxexam@1749897 13f79535-47bb-0310-9956-ffa450edef68 --- README.md | 6 + pom.xml | 88 +++ .../apache/sling/testing/paxexam/SlingOptions.java | 770 +++++++++++++++++++++ .../testing/paxexam/SlingVersionResolver.java | 209 ++++++ src/main/resources/templates/SlingOptions.txt | 85 +++ .../resources/templates/SlingVersionResolver.txt | 62 ++ 6 files changed, 1220 insertions(+) diff --git a/README.md b/README.md new file mode 100644 index 0000000..97d829b --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +Apache Sling Testing Pax Exam +============================= + +**Test support for use with Pax Exam.** + +* _Sling's Launchpad Karaf Features_ as `Option`s for Pax Exam (without Karaf) diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..508bd3b --- /dev/null +++ b/pom.xml @@ -0,0 +1,88 @@ +<?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/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.sling</groupId> + <artifactId>sling</artifactId> + <version>27-SNAPSHOT</version> + <relativePath/> + </parent> + + <artifactId>org.apache.sling.testing.paxexam</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>bundle</packaging> + + <name>Apache Sling Testing PaxExam</name> + <description>Test support for use with Pax Exam.</description> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <sling.java.version>7</sling.java.version> + <org.ops4j.pax.exam.version>4.9.1</org.ops4j.pax.exam.version> + </properties> + + <scm> + <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/testing/org.apache.sling.testing.paxexam</connection> + <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/testing/org.apache.sling.testing.paxexam</developerConnection> + <url>http://svn.apache.org/viewvc/sling/trunk/testing/org.apache.sling.testing.paxexam</url> + </scm> + + <build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + </plugin> + </plugins> + </build> + + <dependencies> + <!-- OSGi --> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.core</artifactId> + <version>6.0.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.cmpn</artifactId> + <version>6.0.0</version> + <scope>provided</scope> + </dependency> + <!-- Pax Exam --> + <dependency> + <groupId>org.ops4j.pax.exam</groupId> + <artifactId>pax-exam</artifactId> + <version>${org.ops4j.pax.exam.version}</version> + </dependency> + <dependency> + <groupId>org.ops4j.pax.exam</groupId> + <artifactId>pax-exam-cm</artifactId> + <version>${org.ops4j.pax.exam.version}</version> + </dependency> + </dependencies> + +</project> diff --git a/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java new file mode 100644 index 0000000..47f850c --- /dev/null +++ b/src/main/java/org/apache/sling/testing/paxexam/SlingOptions.java @@ -0,0 +1,770 @@ +/* + * 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. + */ +package org.apache.sling.testing.paxexam; + +import org.ops4j.pax.exam.Option; +import org.ops4j.pax.exam.options.MavenUrlReference.VersionResolver; + +import static org.ops4j.pax.exam.CoreOptions.composite; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.factoryConfiguration; +import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.newConfiguration; + +/** + * NOTE: This file is generated from Sling's Launchpad Karaf Features + */ +public class SlingOptions { + + public static VersionResolver versionResolver = new SlingVersionResolver(); + + public static Option config() { + return mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.configadmin").version(versionResolver); + } + + public static Option eventadmin() { + return mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.eventadmin").version(versionResolver); + } + + public static Option http() { + return composite( + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.jetty").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.servlet-api").version(versionResolver) + ); + } + + public static Option httpWhiteboard() { + return mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.whiteboard").version(versionResolver); + } + + public static Option management() { + return composite( + mavenBundle().groupId("org.apache.aries").artifactId("org.apache.aries.util").version(versionResolver), + mavenBundle().groupId("org.apache.aries.jmx").artifactId("org.apache.aries.jmx.api").version(versionResolver), + mavenBundle().groupId("org.apache.aries.jmx").artifactId("org.apache.aries.jmx.core").version(versionResolver), + mavenBundle().groupId("org.apache.aries.jmx").artifactId("org.apache.aries.jmx.whiteboard").version(versionResolver) + ); + } + + public static Option scr() { + return composite( + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.metatype").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.scr").version(versionResolver) + ); + } + + public static Option webconsole() { + return mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.webconsole").version(versionResolver); + } + + public static Option sling() { + return composite( + config(), + eventadmin(), + scr(), + management(), + http(), + httpWhiteboard(), + slingCommonsClassloader(), + slingCommonsScheduler(), + slingCommonsThreads(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.api").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.auth.core").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.engine").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.resourceresolver").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.serviceusermapper").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.settings").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.compiler").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.json").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.mime").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.osgi").version(versionResolver), + mavenBundle().groupId("javax.jcr").artifactId("jcr").version(versionResolver), + mavenBundle().groupId("commons-codec").artifactId("commons-codec").version(versionResolver), + mavenBundle().groupId("commons-collections").artifactId("commons-collections").version(versionResolver), + mavenBundle().groupId("commons-fileupload").artifactId("commons-fileupload").version(versionResolver), + mavenBundle().groupId("commons-io").artifactId("commons-io").version(versionResolver), + mavenBundle().groupId("commons-lang").artifactId("commons-lang").version(versionResolver), + mavenBundle().groupId("org.apache.commons").artifactId("commons-lang3").version(versionResolver), + mavenBundle().groupId("org.apache.commons").artifactId("commons-math").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.bundles").artifactId("json").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-servlet_3.0_spec").version(versionResolver) + ); + } + + public static Option slingAuthForm() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.auth.form").version(versionResolver) + ); + } + + public static Option slingCommonsClassloader() { + return composite( + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.classloader").version(versionResolver) + ); + } + + public static Option slingCommonsFsclassloader() { + return composite( + scr(), + webconsole(), + slingCommonsClassloader(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.fsclassloader").version(versionResolver), + mavenBundle().groupId("commons-io").artifactId("commons-io").version(versionResolver), + mavenBundle().groupId("commons-lang").artifactId("commons-lang").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-servlet_3.0_spec").version(versionResolver) + ); + } + + public static Option slingCommonsMessaging() { + return composite( + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.messaging").version(versionResolver) + ); + } + + public static Option slingCommonsMessagingMail() { + return composite( + scr(), + slingCommonsMessaging(), + slingCommonsThreads(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.messaging.mail").version(versionResolver), + mavenBundle().groupId("com.sun.mail").artifactId("javax.mail").version(versionResolver), + mavenBundle().groupId("javax.mail").artifactId("javax.mail-api").version(versionResolver), + mavenBundle().groupId("org.apache.commons").artifactId("commons-email").version(versionResolver) + ); + } + + public static Option slingCommonsMetrics() { + return composite( + scr(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.metrics").version(versionResolver), + mavenBundle().groupId("io.dropwizard.metrics").artifactId("metrics-core").version(versionResolver) + ); + } + + public static Option slingCommonsScheduler() { + return composite( + scr(), + slingCommonsThreads(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.scheduler").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-jta_1.1_spec").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-servlet_3.0_spec").version(versionResolver) + ); + } + + public static Option slingCommonsThreads() { + return composite( + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.threads").version(versionResolver) + ); + } + + public static Option slingExtensionAdapter() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.adapter").version(versionResolver) + ); + } + + public static Option slingExtensionBundleresource() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.bundleresource.impl").version(versionResolver) + ); + } + + public static Option slingExtensionDiscovery() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.discovery.api").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.discovery.base").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.discovery.commons").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.discovery.support").version(versionResolver), + mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpcore-osgi").version(versionResolver), + mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpclient-osgi").version(versionResolver) + ); + } + + public static Option slingExtensionDiscoveryImpl() { + return composite( + webconsole(), + slingExtensionDiscovery(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.discovery.impl").version(versionResolver) + ); + } + + public static Option slingExtensionDiscoveryOak() { + return composite( + webconsole(), + slingExtensionDiscovery(), + slingExtensionHealthcheck(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.discovery.oak").version(versionResolver) + ); + } + + public static Option slingExtensionDiscoveryStandalone() { + return composite( + slingExtensionDiscovery(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.discovery.standalone").version(versionResolver) + ); + } + + public static Option slingExtensionEvent() { + return composite( + sling(), + slingExtensionDiscovery(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.event").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.event.dea").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.inventory").version(versionResolver) + ); + } + + public static Option slingExtensionExplorer() { + return composite( + sling(), + slingScriptingJavascript(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.extensions.explorer").version(versionResolver) + ); + } + + public static Option slingExtensionFeatureflags() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.featureflags").version(versionResolver) + ); + } + + public static Option slingExtensionFsresource() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.fsresource").version(versionResolver) + ); + } + + public static Option slingExtensionI18n() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.i18n").version(versionResolver) + ); + } + + public static Option slingExtensionJmxProvider() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jmx.provider").version(versionResolver) + ); + } + + public static Option slingExtensionModels() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.models.api").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.models.impl").version(versionResolver) + ); + } + + public static Option slingExtensionResourceInventory() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.resource.inventory").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.inventory").version(versionResolver) + ); + } + + public static Option slingExtensionThreaddump() { + return composite( + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.extensions.threaddump").version(versionResolver) + ); + } + + public static Option slingExtensionValidation() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.validation.api").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.validation.core").version(versionResolver) + ); + } + + public static Option slingExtensionXss() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.xss").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.bundles").artifactId("commons-httpclient").version(versionResolver) + ); + } + + public static Option slingInstaller() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.installer.console").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.installer.core").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.installer.factory.configuration").version(versionResolver) + ); + } + + public static Option slingInstallerProviderFile() { + return composite( + slingInstaller(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.installer.provider.file").version(versionResolver) + ); + } + + public static Option slingInstallerProviderJcr() { + return composite( + slingInstaller(), + slingJcr(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.installer.provider.jcr").version(versionResolver) + ); + } + + public static Option slingJcr() { + return composite( + webconsole(), + sling(), + jackrabbitSling(), + tikaSling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.api").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.base").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.classloader").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.contentloader").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.davex").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.registration").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.resource").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.webconsole").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.webdav").version(versionResolver) + ); + } + + public static Option slingJcrCompiler() { + return composite( + sling(), + slingJcr(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.compiler").version(versionResolver) + ); + } + + public static Option slingJcrJackrabbitSecurity() { + return composite( + slingJcr(), + slingServlets(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.jackrabbit.accessmanager").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.jackrabbit.usermanager").version(versionResolver) + ); + } + + public static Option slingJcrOak() { + return composite( + scr(), + slingJcr(), + jackrabbitSling(), + tikaSling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.oak.server").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-core").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-commons").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-blob").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-jcr").version(versionResolver), + mavenBundle().groupId("com.google.guava").artifactId("guava").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.jaas").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-lucene").version(versionResolver) + ); + } + + public static Option slingLaunchpadContent() { + return composite( + sling(), + slingAuthForm(), + slingExtensionExplorer(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.launchpad.content").version(versionResolver) + ); + } + + public static Option slingLaunchpadOak() { + return composite( + webconsole(), + sling(), + slingServlets(), + slingInstaller(), + slingExtensionAdapter(), + slingExtensionBundleresource(), + slingExtensionDiscoveryOak(), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.prefs").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.webconsole.plugins.memoryusage").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.webconsole.plugins.packageadmin").version(versionResolver), + newConfiguration("org.apache.sling.resourceresolver.impl.observation.OsgiObservationBridge") + .put("resource.change.types", "[\"ADDED\", \"CHANGED\", \"REMOVED\"]") + .put("resource.paths", "/") + .asOption(), + factoryConfiguration("org.apache.felix.jaas.Configuration.factory") + .put("jaas.ranking", "I\"300\"") + .put("jaas.classname", "org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule") + .put("jaas.controlFlag", "optional") + .asOption(), + factoryConfiguration("org.apache.felix.jaas.Configuration.factory") + .put("jaas.classname", "org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl") + .put("jaas.controlFlag", "required") + .asOption(), + factoryConfiguration("org.apache.felix.jaas.Configuration.factory") + .put("jaas.ranking", "I\"200\"") + .put("jaas.classname", "org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule") + .put("jaas.controlFlag", "sufficient") + .asOption(), + newConfiguration("org.apache.felix.jaas.ConfigurationSpi") + .put("jaas.configProviderName", "FelixJaasProvider") + .put("jaas.defaultRealmName", "jackrabbit.oak") + .asOption(), + newConfiguration("org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl") + .put("org.apache.jackrabbit.oak.authentication.configSpiName", "FelixJaasProvider") + .asOption(), + newConfiguration("org.apache.jackrabbit.oak.security.user.UserConfigurationImpl") + .put("usersPath", "/home/users") + .put("importBehavior", "besteffort") + .put("defaultDepth", "1") + .put("groupsPath", "/home/groups") + .asOption(), + newConfiguration("org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider") + .put("groupPrivilegeNames", "[\"jcr:read\"]") + .put("enabledActions", "[\"org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction\"]") + .put("userPrivilegeNames", "[\"jcr:all\"]") + .asOption() + ); + } + + public static Option slingLaunchpadOakTar() { + return composite( + slingJcrOak(), + slingLaunchpadOak(), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-segment").version(versionResolver), + newConfiguration("org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService") + .put("repository.home", "sling/repository") + .put("name", "Default NodeStore") + .asOption(), + newConfiguration("org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService") + .put("localIndexDir", "sling/repository/index") + .asOption() + ); + } + + public static Option slingLaunchpadOakMongo() { + return composite( + slingJcrOak(), + slingLaunchpadOak(), + mavenBundle().groupId("org.mongodb").artifactId("mongo-java-driver").version(versionResolver), + newConfiguration("org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService") + .put("mongouri", "mongodb://localhost:27017") + .put("db", "sling") + .asOption(), + newConfiguration("org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService") + .put("localIndexDir", "sling/repository/index") + .asOption() + ); + } + + public static Option slingScripting() { + return composite( + sling(), + webconsole(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.api").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.core").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-servlet_3.0_spec").version(versionResolver) + ); + } + + public static Option slingScriptingJavascript() { + return composite( + slingScripting(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.javascript").version(versionResolver) + ); + } + + public static Option slingScriptingJsp() { + return composite( + slingScripting(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.jsp").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.jsp.taglib").version(versionResolver) + ); + } + + public static Option slingScriptingSightly() { + return composite( + sling(), + slingJcr(), + slingScripting(), + slingExtensionI18n(), + slingExtensionXss(), + slingJcrCompiler(), + slingCommonsFsclassloader(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.sightly").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.sightly.js.provider").version(versionResolver), + mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.rhino").version(versionResolver) + ); + } + + public static Option slingServlets() { + return composite( + sling(), + slingJcr(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlets.get").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlets.post").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.servlets.resolver").version(versionResolver) + ); + } + + public static Option jackrabbitSling() { + return composite( + mavenBundle().groupId("org.apache.jackrabbit").artifactId("jackrabbit-api").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("jackrabbit-data").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("jackrabbit-jcr-commons").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("jackrabbit-jcr-rmi").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("jackrabbit-spi").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("jackrabbit-spi-commons").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit").artifactId("jackrabbit-webdav").version(versionResolver), + mavenBundle().groupId("javax.jcr").artifactId("jcr").version(versionResolver), + mavenBundle().groupId("commons-codec").artifactId("commons-codec").version(versionResolver), + mavenBundle().groupId("commons-collections").artifactId("commons-collections").version(versionResolver), + mavenBundle().groupId("commons-fileupload").artifactId("commons-fileupload").version(versionResolver), + mavenBundle().groupId("commons-io").artifactId("commons-io").version(versionResolver), + mavenBundle().groupId("commons-lang").artifactId("commons-lang").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.bundles").artifactId("commons-httpclient").version(versionResolver), + mavenBundle().groupId("com.google.guava").artifactId("guava").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-atinject_1.0_spec").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-el_2.2_spec").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-interceptor_1.1_spec").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-jcdi_1.0_spec").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-jta_1.1_spec").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-servlet_3.0_spec").version(versionResolver) + ); + } + + public static Option tikaSling() { + return composite( + mavenBundle().groupId("org.apache.tika").artifactId("tika-core").version(versionResolver), + mavenBundle().groupId("org.apache.tika").artifactId("tika-bundle").version(versionResolver) + ); + } + + public static Option slingAuthOpenid() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.auth.openid").version(versionResolver) + ); + } + + public static Option slingAuthSelector() { + return composite( + slingAuthForm(), + slingAuthOpenid(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.auth.selector").version(versionResolver) + ); + } + + public static Option slingCommonsHtml() { + return composite( + scr(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.commons.html").version(versionResolver) + ); + } + + public static Option slingExtensionDistribution() { + return composite( + sling(), + slingJcr(), + slingExtensionEvent(), + slingExtensionHealthcheck(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.distribution.api").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.distribution.core").version(versionResolver), + mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpcore-osgi").version(versionResolver), + mavenBundle().groupId("org.apache.httpcomponents").artifactId("httpclient-osgi").version(versionResolver), + mavenBundle().groupId("org.apache.jackrabbit.vault").artifactId("org.apache.jackrabbit.vault").version(versionResolver) + ); + } + + public static Option slingExtensionHealthcheck() { + return composite( + sling(), + slingJcr(), + slingScripting(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.hc.core").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.hc.jmx").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.hc.support").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.hc.webconsole").version(versionResolver) + ); + } + + public static Option slingExtensionQuery() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.query").version(versionResolver) + ); + } + + public static Option slingExtensionResourcemerger() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.resourcemerger").version(versionResolver) + ); + } + + public static Option slingExtensionRewriter() { + return composite( + sling(), + slingCommonsHtml(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.rewriter").version(versionResolver) + ); + } + + public static Option slingExtensionSecurity() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.security").version(versionResolver) + ); + } + + public static Option slingExtensionUrlrewriter() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.urlrewriter").version(versionResolver), + mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.urlrewritefilter").version(versionResolver) + ); + } + + public static Option slingLaunchpadNosqlCouchbase() { + return composite( + slingNosqlCouchbase(), + factoryConfiguration("org.apache.sling.nosql.couchbase.resourceprovider.CouchbaseNoSqlResourceProviderFactory.factory.config") + .put("provider.roots", "[\"/\"]") + .asOption(), + factoryConfiguration("org.apache.sling.nosql.couchbase.client.CouchbaseClient.factory.config") + .put("bucketName", "sling") + .put("enabled", "B\"true\"") + .put("couchbaseHosts", "localhost:8091") + .put("clientId", "sling-resourceprovider-couchbase") + .asOption() + ); + } + + public static Option slingLaunchpadNosqlMongodb() { + return composite( + slingNosqlMongodb(), + factoryConfiguration("org.apache.sling.nosql.mongodb.resourceprovider.MongoDBNoSqlResourceProviderFactory.factory.config") + .put("collection", "resources") + .put("database", "sling") + .put("connectionString", "localhost:27017") + .put("provider.roots", "[\"/\"]") + .asOption() + ); + } + + public static Option slingNosqlGeneric() { + return composite( + sling(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.nosql.generic").version(versionResolver) + ); + } + + public static Option slingNosqlCouchbase() { + return composite( + slingNosqlGeneric(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.nosql.couchbase-client").version(versionResolver), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.nosql.couchbase-resourceprovider").version(versionResolver), + mavenBundle().groupId("io.wcm.osgi.wrapper").artifactId("io.wcm.osgi.wrapper.rxjava").version(versionResolver) + ); + } + + public static Option slingNosqlMongodb() { + return composite( + slingNosqlGeneric(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.nosql.mongodb-resourceprovider").version(versionResolver), + mavenBundle().groupId("org.mongodb").artifactId("mongo-java-driver").version(versionResolver) + ); + } + + public static Option slingScriptingFreemarker() { + return composite( + sling(), + slingScripting(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.freemarker").version(versionResolver) + ); + } + + public static Option slingScriptingGroovy() { + return composite( + sling(), + slingScripting(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.groovy").version(versionResolver), + mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy").version(versionResolver), + mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy-json").version(versionResolver), + mavenBundle().groupId("org.codehaus.groovy").artifactId("groovy-templates").version(versionResolver) + ); + } + + public static Option slingScriptingJava() { + return composite( + sling(), + slingScripting(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.java").version(versionResolver), + mavenBundle().groupId("org.apache.geronimo.specs").artifactId("geronimo-servlet_3.0_spec").version(versionResolver) + ); + } + + public static Option slingScriptingThymeleaf() { + return composite( + sling(), + slingScripting(), + slingExtensionI18n(), + mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.scripting.thymeleaf").version(versionResolver), + mavenBundle().groupId("org.javassist").artifactId("javassist").version(versionResolver) + ); + } + + public static Option slingSamplesFling() { + return composite( + sling(), + slingScriptingThymeleaf(), + slingCommonsMessaging(), + slingCommonsMessagingMail(), + slingExtensionModels(), + slingExtensionQuery(), + slingExtensionValidation(), + slingAuthForm(), + mavenBundle().groupId("org.apache.sling.samples").artifactId("org.apache.sling.samples.fling").version(versionResolver), + newConfiguration("org.apache.sling.commons.messaging.mail.internal.SimpleMailBuilder") + .put("from", "[email protected]") + .put("smtpUsername", "sling") + .put("smtpPort", "8025") + .put("subject", "message from fling") + .put("smtpPassword", "fling") + .put("smtpHostname", "localhost") + .asOption(), + newConfiguration("org.apache.sling.samples.fling.internal.WiserSmtpService") + .put("smtpPort", "8025") + .asOption() + ); + } + + public static Option composumSling() { + return composite( + sling(), + slingJcr(), + slingScriptingJsp(), + slingExtensionEvent(), + mavenBundle().groupId("com.composum.sling.core").artifactId("composum-sling-core-commons").version(versionResolver), + mavenBundle().groupId("com.composum.sling.core").artifactId("composum-sling-core-console").version(versionResolver), + mavenBundle().groupId("com.composum.sling.core").artifactId("composum-sling-core-jslibs").version(versionResolver) + ); + } + +} diff --git a/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java b/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java new file mode 100644 index 0000000..7d862e3 --- /dev/null +++ b/src/main/java/org/apache/sling/testing/paxexam/SlingVersionResolver.java @@ -0,0 +1,209 @@ +/* + * 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. + */ +package org.apache.sling.testing.paxexam; + +import java.util.HashMap; +import java.util.Map; + +import org.ops4j.pax.exam.options.MavenUrlReference.VersionResolver; + +/** + * NOTE: This file is generated from Sling's Launchpad Karaf Features + */ +public class SlingVersionResolver implements VersionResolver { + + private final Map<String, String> versions = new HashMap<>(); + + public SlingVersionResolver() { + versions.put("org.apache.felix:org.apache.felix.configadmin", "1.8.8"); + versions.put("org.apache.felix:org.apache.felix.eventadmin", "1.4.6"); + versions.put("org.apache.felix:org.apache.felix.http.jetty", "3.2.0"); + versions.put("org.apache.felix:org.apache.felix.http.servlet-api", "1.1.2"); + versions.put("org.apache.felix:org.apache.felix.http.whiteboard", "3.0.0"); + versions.put("org.apache.aries:org.apache.aries.util", "1.1.1"); + versions.put("org.apache.aries.jmx:org.apache.aries.jmx.api", "1.1.5"); + versions.put("org.apache.aries.jmx:org.apache.aries.jmx.core", "1.1.6"); + versions.put("org.apache.aries.jmx:org.apache.aries.jmx.whiteboard", "1.1.5"); + versions.put("org.apache.felix:org.apache.felix.metatype", "1.1.2"); + versions.put("org.apache.felix:org.apache.felix.scr", "2.0.2"); + versions.put("org.apache.felix:org.apache.felix.webconsole", "4.2.16"); + versions.put("com.composum.sling.core:composum-sling-core-commons", "1.5.3"); + versions.put("com.composum.sling.core:composum-sling-core-console", "1.5.3"); + versions.put("com.composum.sling.core:composum-sling-core-jslibs", "1.5.3"); + versions.put("com.google.guava:guava", "15.0"); + versions.put("com.sun.mail:javax.mail", "1.5.5"); + versions.put("commons-codec:commons-codec", "1.10"); + versions.put("commons-collections:commons-collections", "3.2.2"); + versions.put("commons-fileupload:commons-fileupload", "1.3.2"); + versions.put("commons-io:commons-io", "2.5"); + versions.put("commons-lang:commons-lang", "2.6"); + versions.put("io.dropwizard.metrics:metrics-core", "3.1.2"); + versions.put("io.wcm.osgi.wrapper:io.wcm.osgi.wrapper.rxjava", "1.0.14-0000"); + versions.put("javax.jcr:jcr", "2.0"); + versions.put("javax.mail:javax.mail-api", "1.5.5"); + versions.put("org.apache.commons:commons-email", "1.4"); + versions.put("org.apache.commons:commons-lang3", "3.4"); + versions.put("org.apache.commons:commons-math", "2.2"); + versions.put("org.apache.felix:org.apache.felix.inventory", "1.0.4"); + versions.put("org.apache.felix:org.apache.felix.jaas", "0.0.4"); + versions.put("org.apache.felix:org.apache.felix.prefs", "1.0.6"); + versions.put("org.apache.felix:org.apache.felix.webconsole.plugins.memoryusage", "1.0.6"); + versions.put("org.apache.felix:org.apache.felix.webconsole.plugins.packageadmin", "1.0.2"); + versions.put("org.apache.geronimo.bundles:commons-httpclient", "3.1_2"); + versions.put("org.apache.geronimo.bundles:json", "20090211_1"); + versions.put("org.apache.geronimo.specs:geronimo-atinject_1.0_spec", "1.0"); + versions.put("org.apache.geronimo.specs:geronimo-el_2.2_spec", "1.0.4"); + versions.put("org.apache.geronimo.specs:geronimo-interceptor_1.1_spec", "1.0"); + versions.put("org.apache.geronimo.specs:geronimo-jcdi_1.0_spec", "1.0"); + versions.put("org.apache.geronimo.specs:geronimo-jta_1.1_spec", "1.1.1"); + versions.put("org.apache.geronimo.specs:geronimo-servlet_3.0_spec", "1.0"); + versions.put("org.apache.httpcomponents:httpclient-osgi", "4.5.2"); + versions.put("org.apache.httpcomponents:httpcore-osgi", "4.4.5"); + versions.put("org.apache.jackrabbit:jackrabbit-api", "2.12.1"); + versions.put("org.apache.jackrabbit:jackrabbit-data", "2.12.1"); + versions.put("org.apache.jackrabbit:jackrabbit-jcr-commons", "2.12.1"); + versions.put("org.apache.jackrabbit:jackrabbit-jcr-rmi", "2.12.1"); + versions.put("org.apache.jackrabbit:jackrabbit-spi", "2.12.1"); + versions.put("org.apache.jackrabbit:jackrabbit-spi-commons", "2.12.1"); + versions.put("org.apache.jackrabbit:jackrabbit-webdav", "2.12.1"); + versions.put("org.apache.jackrabbit:oak-blob", "1.5.3"); + versions.put("org.apache.jackrabbit:oak-commons", "1.5.3"); + versions.put("org.apache.jackrabbit:oak-core", "1.5.3"); + versions.put("org.apache.jackrabbit:oak-jcr", "1.5.3"); + versions.put("org.apache.jackrabbit:oak-lucene", "1.5.3"); + versions.put("org.apache.jackrabbit:oak-segment", "1.5.3"); + versions.put("org.apache.jackrabbit.vault:org.apache.jackrabbit.vault", "3.1.26"); + versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.rhino", "1.7.7.1_1"); + versions.put("org.apache.servicemix.bundles:org.apache.servicemix.bundles.urlrewritefilter", "4.0.4_1"); + versions.put("org.apache.sling:org.apache.sling.adapter", "2.1.6"); + versions.put("org.apache.sling:org.apache.sling.api", "2.11.1-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.auth.core", "1.3.14"); + versions.put("org.apache.sling:org.apache.sling.auth.form", "1.0.8"); + versions.put("org.apache.sling:org.apache.sling.auth.openid", "1.0.4"); + versions.put("org.apache.sling:org.apache.sling.auth.selector", "1.0.6"); + versions.put("org.apache.sling:org.apache.sling.bundleresource.impl", "2.2.0"); + versions.put("org.apache.sling:org.apache.sling.commons.classloader", "1.3.2"); + versions.put("org.apache.sling:org.apache.sling.commons.compiler", "2.3.0"); + versions.put("org.apache.sling:org.apache.sling.commons.fsclassloader", "1.0.2"); + versions.put("org.apache.sling:org.apache.sling.commons.html", "1.0.0"); + versions.put("org.apache.sling:org.apache.sling.commons.json", "2.0.18"); + versions.put("org.apache.sling:org.apache.sling.commons.messaging", "0.0.1-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.commons.messaging.mail", "0.0.1-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.commons.metrics", "1.0.0"); + versions.put("org.apache.sling:org.apache.sling.commons.mime", "2.1.8"); + versions.put("org.apache.sling:org.apache.sling.commons.osgi", "2.4.0"); + versions.put("org.apache.sling:org.apache.sling.commons.scheduler", "2.4.14"); + versions.put("org.apache.sling:org.apache.sling.commons.threads", "3.2.6"); + versions.put("org.apache.sling:org.apache.sling.discovery.api", "1.0.4"); + versions.put("org.apache.sling:org.apache.sling.discovery.base", "1.1.3-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.discovery.commons", "1.0.12"); + versions.put("org.apache.sling:org.apache.sling.discovery.impl", "1.2.7-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.discovery.oak", "1.2.7-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.discovery.standalone", "1.0.2"); + versions.put("org.apache.sling:org.apache.sling.discovery.support", "1.0.0"); + versions.put("org.apache.sling:org.apache.sling.distribution.api", "0.3.0"); + versions.put("org.apache.sling:org.apache.sling.distribution.core", "0.1.18"); + versions.put("org.apache.sling:org.apache.sling.engine", "2.4.6"); + versions.put("org.apache.sling:org.apache.sling.event", "4.0.2"); + versions.put("org.apache.sling:org.apache.sling.event.dea", "1.0.4"); + versions.put("org.apache.sling:org.apache.sling.extensions.explorer", "1.0.4"); + versions.put("org.apache.sling:org.apache.sling.extensions.threaddump", "0.2.2"); + versions.put("org.apache.sling:org.apache.sling.featureflags", "1.0.2"); + versions.put("org.apache.sling:org.apache.sling.fsresource", "1.1.4"); + versions.put("org.apache.sling:org.apache.sling.hc.core", "1.2.5-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.hc.jmx", "1.0.6"); + versions.put("org.apache.sling:org.apache.sling.hc.support", "1.0.4"); + versions.put("org.apache.sling:org.apache.sling.hc.webconsole", "1.1.2"); + versions.put("org.apache.sling:org.apache.sling.i18n", "2.4.6"); + versions.put("org.apache.sling:org.apache.sling.installer.console", "1.0.0"); + versions.put("org.apache.sling:org.apache.sling.installer.core", "3.6.8"); + versions.put("org.apache.sling:org.apache.sling.installer.factory.configuration", "1.1.2"); + versions.put("org.apache.sling:org.apache.sling.installer.provider.file", "1.1.0"); + versions.put("org.apache.sling:org.apache.sling.installer.provider.jcr", "3.1.18"); + versions.put("org.apache.sling:org.apache.sling.jcr.api", "2.3.1-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.jcr.base", "2.3.3-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.jcr.classloader", "3.2.2"); + versions.put("org.apache.sling:org.apache.sling.jcr.compiler", "2.1.0"); + versions.put("org.apache.sling:org.apache.sling.jcr.contentloader", "2.1.10"); + versions.put("org.apache.sling:org.apache.sling.jcr.davex", "1.3.4"); + versions.put("org.apache.sling:org.apache.sling.jcr.jackrabbit.accessmanager", "2.1.2"); + versions.put("org.apache.sling:org.apache.sling.jcr.jackrabbit.usermanager", "2.2.4"); + versions.put("org.apache.sling:org.apache.sling.jcr.oak.server", "1.0.1-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.jcr.registration", "1.0.2"); + versions.put("org.apache.sling:org.apache.sling.jcr.resource", "2.8.0"); + versions.put("org.apache.sling:org.apache.sling.jcr.webconsole", "1.0.2"); + versions.put("org.apache.sling:org.apache.sling.jcr.webdav", "2.3.4"); + versions.put("org.apache.sling:org.apache.sling.jmx.provider", "1.0.2"); + versions.put("org.apache.sling:org.apache.sling.launchpad.content", "2.0.8"); + versions.put("org.apache.sling:org.apache.sling.models.api", "1.2.2"); + versions.put("org.apache.sling:org.apache.sling.models.impl", "1.2.8"); + versions.put("org.apache.sling:org.apache.sling.nosql.couchbase-client", "1.0.2"); + versions.put("org.apache.sling:org.apache.sling.nosql.couchbase-resourceprovider", "1.1.0"); + versions.put("org.apache.sling:org.apache.sling.nosql.generic", "1.1.0"); + versions.put("org.apache.sling:org.apache.sling.nosql.mongodb-resourceprovider", "1.1.0"); + versions.put("org.apache.sling:org.apache.sling.query", "3.0.0"); + versions.put("org.apache.sling:org.apache.sling.resource.inventory", "1.0.4"); + versions.put("org.apache.sling:org.apache.sling.resourcemerger", "1.3.0"); + versions.put("org.apache.sling:org.apache.sling.resourceresolver", "1.4.12"); + versions.put("org.apache.sling:org.apache.sling.rewriter", "1.1.2"); + versions.put("org.apache.sling:org.apache.sling.scripting.api", "2.1.8"); + versions.put("org.apache.sling:org.apache.sling.scripting.core", "2.0.37-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.scripting.freemarker", "1.0.0-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.scripting.groovy", "1.0.2"); + versions.put("org.apache.sling:org.apache.sling.scripting.java", "2.0.14"); + versions.put("org.apache.sling:org.apache.sling.scripting.javascript", "2.0.30"); + versions.put("org.apache.sling:org.apache.sling.scripting.jsp", "2.1.8"); + versions.put("org.apache.sling:org.apache.sling.scripting.jsp.taglib", "2.2.6"); + versions.put("org.apache.sling:org.apache.sling.scripting.sightly", "1.0.18"); + versions.put("org.apache.sling:org.apache.sling.scripting.sightly.js.provider", "1.0.10"); + versions.put("org.apache.sling:org.apache.sling.scripting.thymeleaf", "0.1.7-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.security", "1.0.18"); + versions.put("org.apache.sling:org.apache.sling.serviceusermapper", "1.2.2"); + versions.put("org.apache.sling:org.apache.sling.servlets.get", "2.1.14"); + versions.put("org.apache.sling:org.apache.sling.servlets.post", "2.3.12"); + versions.put("org.apache.sling:org.apache.sling.servlets.resolver", "2.4.3-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.settings", "1.3.8"); + versions.put("org.apache.sling:org.apache.sling.urlrewriter", "0.0.2"); + versions.put("org.apache.sling:org.apache.sling.validation.api", "1.0.0-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.validation.core", "1.0.0-SNAPSHOT"); + versions.put("org.apache.sling:org.apache.sling.xss", "1.0.8"); + versions.put("org.apache.sling.samples:org.apache.sling.samples.fling", "0.0.1-SNAPSHOT"); + versions.put("org.apache.tika:tika-bundle", "1.13"); + versions.put("org.apache.tika:tika-core", "1.13"); + versions.put("org.codehaus.groovy:groovy", "2.4.7"); + versions.put("org.codehaus.groovy:groovy-json", "2.4.7"); + versions.put("org.codehaus.groovy:groovy-templates", "2.4.7"); + versions.put("org.javassist:javassist", "3.20.0-GA"); + versions.put("org.mongodb:mongo-java-driver", "2.14.2"); + } + + private String key(final String groupId, final String artifactId) { + return String.format("%s:%s", groupId, artifactId); + } + + public String setVersion(final String groupId, final String artifactId, final String version) { + return versions.put(key(groupId, artifactId), version); + } + + @Override + public String getVersion(final String groupId, final String artifactId) { + return versions.get(key(groupId, artifactId)); + } + +} diff --git a/src/main/resources/templates/SlingOptions.txt b/src/main/resources/templates/SlingOptions.txt new file mode 100644 index 0000000..7bef485 --- /dev/null +++ b/src/main/resources/templates/SlingOptions.txt @@ -0,0 +1,85 @@ +/* + * 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. + */ +package org.apache.sling.testing.paxexam; + +import org.ops4j.pax.exam.Option; +import org.ops4j.pax.exam.options.MavenUrlReference.VersionResolver; + +import static org.ops4j.pax.exam.CoreOptions.composite; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; +import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.factoryConfiguration; +import static org.ops4j.pax.exam.cm.ConfigurationAdminOptions.newConfiguration; + +/** + * NOTE: This file is generated from Sling's Launchpad Karaf Features + */ +public class SlingOptions { + + public static VersionResolver versionResolver = new SlingVersionResolver(); + + public static Option config() { + return mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.configadmin").version(versionResolver); + } + + public static Option eventadmin() { + return mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.eventadmin").version(versionResolver); + } + + public static Option http() { + return composite( + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.jetty").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.servlet-api").version(versionResolver) + ); + } + + public static Option httpWhiteboard() { + return mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.whiteboard").version(versionResolver); + } + + public static Option management() { + return composite( + mavenBundle().groupId("org.apache.aries").artifactId("org.apache.aries.util").version(versionResolver), + mavenBundle().groupId("org.apache.aries.jmx").artifactId("org.apache.aries.jmx.api").version(versionResolver), + mavenBundle().groupId("org.apache.aries.jmx").artifactId("org.apache.aries.jmx.core").version(versionResolver), + mavenBundle().groupId("org.apache.aries.jmx").artifactId("org.apache.aries.jmx.whiteboard").version(versionResolver) + ); + } + + public static Option scr() { + return composite( + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.metatype").version(versionResolver), + mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.scr").version(versionResolver) + ); + } + + public static Option webconsole() { + return mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.webconsole").version(versionResolver); + } +[# th:each="feature : ${features}"] + public static Option [(${feature.javaName})]() { + return composite([# th:each="fc,fcsStatus : ${feature.getFeatures()}"] + [(${fc})]()[# th:unless="${fcsStatus.last}"],[/][/][# th:if="${not #lists.isEmpty(feature.getFeatures())}"][# th:if="${not #lists.isEmpty(feature.getBundles())}"],[/][/][# th:each="bundle,bundlesStatus : ${feature.getBundles()}"] + mavenBundle().groupId("[(${bundle.groupId})]").artifactId("[(${bundle.artifactId})]").version(versionResolver)[# th:unless="${bundlesStatus.last}"],[/][/][# th:if="${not #lists.isEmpty(feature.getConfigurations())}"],[/][# th:each="configuration,configurationsStatus : ${feature.getConfigurations()}"] + [# th:if="${configuration.isFactory()}"]factoryConfiguration[/][# th:unless="${configuration.isFactory()}"]newConfiguration[/]("[(${configuration.pid})]") [# th:each="entry,entriesStatus : ${configuration.getEntries()}"] + .put("[(${entry.key})]", "[(${entry.value})]")[/] + .asOption()[# th:unless="${configurationsStatus.last}"],[/][/] + ); + } + +[/]} diff --git a/src/main/resources/templates/SlingVersionResolver.txt b/src/main/resources/templates/SlingVersionResolver.txt new file mode 100644 index 0000000..8611187 --- /dev/null +++ b/src/main/resources/templates/SlingVersionResolver.txt @@ -0,0 +1,62 @@ +/* + * 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. + */ +package org.apache.sling.testing.paxexam; + +import java.util.HashMap; +import java.util.Map; + +import org.ops4j.pax.exam.options.MavenUrlReference.VersionResolver; + +/** + * NOTE: This file is generated from Sling's Launchpad Karaf Features + */ +public class SlingVersionResolver implements VersionResolver { + + private final Map<String, String> versions = new HashMap<>(); + + public SlingVersionResolver() { + versions.put("org.apache.felix:org.apache.felix.configadmin", "1.8.8"); + versions.put("org.apache.felix:org.apache.felix.eventadmin", "1.4.6"); + versions.put("org.apache.felix:org.apache.felix.http.jetty", "3.2.0"); + versions.put("org.apache.felix:org.apache.felix.http.servlet-api", "1.1.2"); + versions.put("org.apache.felix:org.apache.felix.http.whiteboard", "3.0.0"); + versions.put("org.apache.aries:org.apache.aries.util", "1.1.1"); + versions.put("org.apache.aries.jmx:org.apache.aries.jmx.api", "1.1.5"); + versions.put("org.apache.aries.jmx:org.apache.aries.jmx.core", "1.1.6"); + versions.put("org.apache.aries.jmx:org.apache.aries.jmx.whiteboard", "1.1.5"); + versions.put("org.apache.felix:org.apache.felix.metatype", "1.1.2"); + versions.put("org.apache.felix:org.apache.felix.scr", "2.0.2"); + versions.put("org.apache.felix:org.apache.felix.webconsole", "4.2.16");[# th:each="bundle : ${bundles}"] + versions.put("[(${bundle.groupId})]:[(${bundle.artifactId})]", "[(${bundle.version})]"); +[/] } + + private String key(final String groupId, final String artifactId) { + return String.format("%s:%s", groupId, artifactId); + } + + public String setVersion(final String groupId, final String artifactId, final String version) { + return versions.put(key(groupId, artifactId), version); + } + + @Override + public String getVersion(final String groupId, final String artifactId) { + return versions.get(key(groupId, artifactId)); + } + +} -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
