templates.SlingOptions.hbs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.apache.sling.testing.paxexam Show documentation
Show all versions of org.apache.sling.testing.paxexam Show documentation
Test support for use with Pax Exam.
/*
* 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.options.ModifiableCompositeOption;
import org.ops4j.pax.exam.options.WrappedUrlProvisionOption;
import org.ops4j.pax.exam.util.PathUtils;
import static org.ops4j.pax.exam.CoreOptions.composite;
import static org.ops4j.pax.exam.CoreOptions.junitBundles;
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
import static org.ops4j.pax.exam.CoreOptions.systemPackages;
import static org.ops4j.pax.exam.CoreOptions.systemProperty;
import static org.ops4j.pax.exam.CoreOptions.vmOption;
import static org.ops4j.pax.exam.CoreOptions.wrappedBundle;
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 Karaf Features
*/
public class SlingOptions {
public static SlingVersionResolver versionResolver = new SlingVersionResolver();
public static ModifiableCompositeOption awaitility() {
return composite(
mavenBundle().groupId("org.awaitility").artifactId("awaitility").version(versionResolver),
mavenBundle().groupId("org.hamcrest").artifactId("hamcrest").version(versionResolver)
);
}
public static ModifiableCompositeOption backing() {
final int version = SlingVersionResolver.getJavaVersion();
if (version >= 11) {
return composite(
mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.annotation-api-1.3").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.activation-api-1.1").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.stax-api-1.2").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.jaxb-api-2.2").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.jaxb-impl").version(versionResolver)
);
} else if (version >= 9) {
return composite(
vmOption("--add-modules=java.se.ee")
);
} else {
return composite();
}
}
public static ModifiableCompositeOption config() {
return composite(
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.configadmin").version(versionResolver)
);
}
public static ModifiableCompositeOption eventadmin() {
return composite(
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.eventadmin").version(versionResolver),
config()
);
}
public static ModifiableCompositeOption 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),
config()
);
}
public static ModifiableCompositeOption httpWhiteboard() {
return composite(
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.http.whiteboard").version(versionResolver),
http()
);
}
public static ModifiableCompositeOption 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),
config()
);
}
public static ModifiableCompositeOption 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),
mavenBundle().groupId("org.osgi").artifactId("org.osgi.util.function").version(versionResolver),
mavenBundle().groupId("org.osgi").artifactId("org.osgi.util.promise").version(versionResolver),
config()
);
}
public static ModifiableCompositeOption spyfly() {
return composite(
mavenBundle().groupId("org.apache.aries").artifactId("org.apache.aries.util").version(versionResolver),
mavenBundle().groupId("org.apache.aries.spifly").artifactId("org.apache.aries.spifly.dynamic.bundle").version(versionResolver),
mavenBundle().groupId("org.ow2.asm").artifactId("asm").version(versionResolver)
);
}
public static ModifiableCompositeOption webconsole() {
return composite(
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.webconsole").version(versionResolver),
mavenBundle().groupId("org.apache.felix").artifactId("org.apache.felix.inventory").version(versionResolver),
mavenBundle().groupId("commons-fileupload").artifactId("commons-fileupload").version(versionResolver),
mavenBundle().groupId("commons-io").artifactId("commons-io").version(versionResolver),
http()
);
}
public static ModifiableCompositeOption paxUrl() {
return composite(
mavenBundle().groupId("org.ops4j.pax.url").artifactId("pax-url-commons").version(versionResolver),
mavenBundle().groupId("org.ops4j.base").artifactId("ops4j-base-lang").version(versionResolver),
mavenBundle().groupId("org.ops4j.base").artifactId("ops4j-base-util-property").version(versionResolver),
mavenBundle().groupId("org.ops4j.pax.swissbox").artifactId("pax-swissbox-property").version(versionResolver),
config()
);
}
public static ModifiableCompositeOption paxUrlClasspath() {
return composite(
mavenBundle().groupId("org.ops4j.pax.url").artifactId("pax-url-classpath").version(versionResolver),
paxUrl()
);
}
public static ModifiableCompositeOption paxUrlWrap() {
return composite(
mavenBundle().groupId("org.ops4j.pax.url").artifactId("pax-url-wrap").version(versionResolver),
mavenBundle().groupId("org.ops4j.pax.swissbox").artifactId("pax-swissbox-bnd").version(versionResolver),
mavenBundle().groupId("biz.aQute.bnd").artifactId("bndlib").version(versionResolver),
paxUrl()
);
}
public static ModifiableCompositeOption paxTinybundles() {
return composite(
mavenBundle().groupId("org.ops4j.pax.tinybundles").artifactId("tinybundles").version(versionResolver),
mavenBundle().groupId("biz.aQute.bnd").artifactId("biz.aQute.bndlib").version(versionResolver)
);
}
public static ModifiableCompositeOption logback() {
final String filename = String.format("file:%s/src/test/resources/logback.xml", PathUtils.getBaseDir());
return composite(
systemProperty("logback.configurationFile").value(filename),
mavenBundle().groupId("org.slf4j").artifactId("slf4j-api").version(versionResolver),
mavenBundle().groupId("org.slf4j").artifactId("jcl-over-slf4j").version(versionResolver),
mavenBundle().groupId("ch.qos.logback").artifactId("logback-core").version(versionResolver),
mavenBundle().groupId("ch.qos.logback").artifactId("logback-classic").version(versionResolver),
config()
);
}
public static ModifiableCompositeOption restassured() {
return composite(
mavenBundle().groupId("io.rest-assured").artifactId("rest-assured").version(versionResolver),
mavenBundle().groupId("io.rest-assured").artifactId("rest-assured-common").version(versionResolver),
mavenBundle().groupId("io.rest-assured").artifactId("json-path").version(versionResolver),
mavenBundle().groupId("io.rest-assured").artifactId("xml-path").version(versionResolver),
mavenBundle().groupId("org.apache.commons").artifactId("commons-lang3").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-xml").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.jaxb-impl").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.bundles").artifactId("org.apache.servicemix.bundles.tagsoup").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.activation-api-1.1").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.jaxb-api-2.2").version(versionResolver),
mavenBundle().groupId("org.apache.servicemix.specs").artifactId("org.apache.servicemix.specs.stax-api-1.2").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.hamcrest").artifactId("hamcrest").version(versionResolver)
);
}
public static ModifiableCompositeOption testcontainers() {
return composite(
junitBundles(),
paxUrlWrap(),
wrappedBundle(mavenBundle().groupId("org.rnorth.duct-tape").artifactId("duct-tape").version(versionResolver)),
wrappedBundle(mavenBundle().groupId("org.testcontainers").artifactId("testcontainers").version(versionResolver)).imports("org.junit.rules").overwriteManifest(WrappedUrlProvisionOption.OverwriteMode.MERGE)
);
}
{{#each features}}
public static ModifiableCompositeOption {{javaName}}() {
return composite({{#each features}}
{{this}}(){{#unless @last}},{{/unless}}{{/each}}{{#if features}}{{#if bundles}},{{/if}}{{/if}}{{#each bundles}}
mavenBundle().groupId("{{groupId}}").artifactId("{{artifactId}}").version(versionResolver){{#unless @last}},{{/unless}}{{/each}}{{#if configurations}},{{/if}}{{#each configurations}}
{{#if factory}}factoryConfiguration{{else}}newConfiguration{{/if}}("{{pid}}"){{#each entries}}
.put("{{@key}}", {{{this}}}){{/each}}
.asOption(){{#unless @last}},{{/unless}}{{/each}}
);
}
{{/each}}
public static ModifiableCompositeOption slingQuickstartOakTar(final String workingDirectory, final int httpPort) {
final String slingHome = String.format("%s/sling", workingDirectory);
final String repositoryHome = String.format("%s/repository", slingHome);
final String localIndexDir = String.format("%s/index", repositoryHome);
return composite(
slingQuickstartOak(),
mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-lucene").version(versionResolver),
mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-segment-tar").version(versionResolver),
mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-store-document").version(versionResolver),
mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.oak.server").version(versionResolver),
newConfiguration("org.apache.felix.http")
.put("org.osgi.service.http.port", httpPort)
.asOption(),
newConfiguration("org.apache.jackrabbit.oak.segment.SegmentNodeStoreService")
.put("repository.home", repositoryHome)
.put("name", "Default NodeStore")
.asOption(),
newConfiguration("org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService")
.put("localIndexDir", localIndexDir)
.asOption()
);
}
public static ModifiableCompositeOption slingQuickstartOakMongo(final String workingDirectory, final int httpPort, final String mongouri) {
final String slingHome = String.format("%s/sling", workingDirectory);
final String repositoryHome = String.format("%s/repository", slingHome);
final String localIndexDir = String.format("%s/index", repositoryHome);
return composite(
slingQuickstartOak(),
mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-lucene").version(versionResolver),
mavenBundle().groupId("org.apache.jackrabbit").artifactId("oak-store-document").version(versionResolver),
mavenBundle().groupId("org.mongodb").artifactId("mongo-java-driver").version(versionResolver),
mavenBundle().groupId("com.h2database").artifactId("h2-mvstore").version(versionResolver),
mavenBundle().groupId("org.apache.sling").artifactId("org.apache.sling.jcr.oak.server").version(versionResolver),
newConfiguration("org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProviderService")
.put("localIndexDir", localIndexDir)
.asOption(),
newConfiguration("org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService")
.put("db", "sling")
.put("mongouri", mongouri)
.asOption()
);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy