From 0a963c8a7d90cce0f1b78e1a30cb239d8df4d4fe Mon Sep 17 00:00:00 2001 From: Grzegorz Grzybek Date: Mon, 17 Apr 2023 10:51:02 +0200 Subject: [PATCH] [#1803] Run OSGi CMPN Web Container TCK within Maven build --- pax-web-itest/pax-web-tck/pom.xml | 358 ++++++------------ .../pax/web/tck/AbstractOsgiTestBase.java | 82 ---- .../pax/web/tck/CleanIntegrationTest.java | 61 --- .../test/resources/controlled-exam.properties | 28 -- .../src/test/resources/log4j2-osgi.properties | 51 --- .../src/test/resources/log4j2-test.properties | 49 --- ...pache.servicemix.bundles.javax-inject.link | 21 - pax-web-itest/pax-web-tck/tck.bndrun | 111 ++++++ pom.xml | 84 ++-- 9 files changed, 267 insertions(+), 578 deletions(-) delete mode 100644 pax-web-itest/pax-web-tck/src/test/java/org/ops4j/pax/web/tck/AbstractOsgiTestBase.java delete mode 100644 pax-web-itest/pax-web-tck/src/test/java/org/ops4j/pax/web/tck/CleanIntegrationTest.java delete mode 100644 pax-web-itest/pax-web-tck/src/test/resources/controlled-exam.properties delete mode 100644 pax-web-itest/pax-web-tck/src/test/resources/log4j2-osgi.properties delete mode 100644 pax-web-itest/pax-web-tck/src/test/resources/log4j2-test.properties delete mode 100644 pax-web-itest/pax-web-tck/src/test/resources/org.apache.servicemix.bundles.javax-inject.link create mode 100644 pax-web-itest/pax-web-tck/tck.bndrun diff --git a/pax-web-itest/pax-web-tck/pom.xml b/pax-web-itest/pax-web-tck/pom.xml index 7d6719a48a..2a519f03b8 100644 --- a/pax-web-itest/pax-web-tck/pom.xml +++ b/pax-web-itest/pax-web-tck/pom.xml @@ -23,7 +23,7 @@ org.ops4j.pax.web pax-web-itest - 8.0.19-SNAPSHOT + 8.0.20-SNAPSHOT ../pom.xml @@ -34,6 +34,10 @@ Integration tests for TCK + + 8.1.0-SNAPSHOT + + - - - src/test/resources - true - - - src/test/resources-binary - false - - - + + org.apache.maven.plugins + maven-surefire-plugin + + true + + org.apache.maven.plugins maven-failsafe-plugin - - **/*Test.java - - - - file:./src/test/resources/controlled-exam.properties - - false - alphabetical - runtime - 1 - false - false + true + + + + + + org.apache.maven.plugins + maven-dependency-plugin - integration-test + + unpack-bnd + generate-resources - integration-test + unpack + + + + biz.aQute.bnd + biz.aQute.bnd + + + ${project.build.directory}/unpack-bnd + **/*.xsl + + + + + org.apache.maven.plugins + maven-antrun-plugin + - verify + + generate-html-test-report + post-integration-test - verify + run + + + + + - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - + - org.apache.servicemix.tooling - depends-maven-plugin + biz.aQute.bnd + bnd-maven-plugin + + + biz.aQute.bnd + bnd-resolver-maven-plugin + + + + resolve-test + pre-integration-test + + resolve + + + + tck.bndrun + + false + true + true + false + + compile + runtime + test + provided + + + + + + + biz.aQute.bnd + bnd-testing-maven-plugin - generate-depends-file + osgi-tck-testing - generate-depends-file + testing + + + tck.bndrun + + false + true + false + + compile + runtime + provided + test + + @@ -119,209 +183,33 @@ - + + + + + org.osgi + org.osgi.test.cases.webcontainer + ${version.org.osgi.tck} + + + - - - - org.ops4j.pax.web - pax-web-api - - provided - - - org.ops4j.pax.web - pax-web-spi - provided - - - org.ops4j.pax.web - pax-web-runtime - runtime - - - org.ops4j.pax.web - pax-web-tomcat - runtime - - - org.ops4j.pax.web - pax-web-tomcat-common - runtime - - - - org.ops4j.pax.web.itest - pax-web-itest-common - test - - - - org.ops4j.pax.web - pax-web-compatibility-annotation13 - - - - - - - org.ops4j.base - ops4j-base-lang - test - - - - org.ops4j.base - ops4j-base-util-property - test - - - - org.ops4j.pax.logging - pax-logging-api - runtime - - - org.ops4j.pax.logging - pax-logging-log4j2 - runtime - - - - org.ops4j.pax.exam - pax-exam - test - - - org.ops4j.pax.exam - pax-exam-junit4 - test - - - org.ops4j.pax.exam - pax-exam-container-native - test - - - org.ops4j.pax.exam - pax-exam-link-mvn - test - - - org.ops4j.pax.exam - pax-exam-extender-service - test - - - - - - org.osgi - osgi.core - - - org.osgi - osgi.cmpn - + - - org.apache.felix - org.apache.felix.configadmin - runtime - - - org.apache.felix - org.apache.felix.metatype - - test - + - org.osgi org.osgi.test.cases.webcontainer - 8.1.0-SNAPSHOT - - - geronimo-servlet_2.5_spec - org.apache.geronimo.specs - - - junit-jupiter-api - org.junit.jupiter - - - junit-jupiter-engine - org.junit.jupiter - - - junit-jupiter-params - org.junit.jupiter - - - junit-platform-commons - org.junit.platform - - - junit-platform-engine - org.junit.platform - - - junit-platform-launcher - org.junit.platform - - - junit-vintage-engine - org.junit.vintage - - - mockito-core - org.mockito - - - - - - - - jakarta.annotation - jakarta.annotation-api - test - - jakarta.servlet - jakarta.servlet-api - - test - - - - - - org.apache.servicemix.bundles - org.apache.servicemix.bundles.javax-inject - runtime - - - - - - org.slf4j - slf4j-api - test - - - org.apache.logging.log4j - log4j-slf4j-impl - test - - - - commons-io - commons-io - test + biz.aQute.bnd + biz.aQute.bnd diff --git a/pax-web-itest/pax-web-tck/src/test/java/org/ops4j/pax/web/tck/AbstractOsgiTestBase.java b/pax-web-itest/pax-web-tck/src/test/java/org/ops4j/pax/web/tck/AbstractOsgiTestBase.java deleted file mode 100644 index a07bcb883f..0000000000 --- a/pax-web-itest/pax-web-tck/src/test/java/org/ops4j/pax/web/tck/AbstractOsgiTestBase.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2019 OPS4J. - * - * Licensed 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.ops4j.pax.web.tck; - -import org.apache.commons.io.IOUtils; -import org.ops4j.pax.exam.CoreOptions; -import org.ops4j.pax.exam.Option; -import org.ops4j.pax.exam.ProbeBuilder; -import org.ops4j.pax.exam.TestProbeBuilder; -import org.ops4j.pax.tinybundles.core.TinyBundles; -import org.ops4j.pax.web.itest.AbstractControlledTestBase; -import org.osgi.framework.Constants; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; - -import static org.ops4j.pax.exam.CoreOptions.systemProperty; -import static org.ops4j.pax.exam.OptionUtils.combine; - -/** - *

Base class for all OSGi Pax Exam tests not related to any special container (Jetty, Tomcat or Undertow).

- */ -public abstract class AbstractOsgiTestBase extends AbstractControlledTestBase { - - protected Option[] baseConfigure() { - // pax-web-itest-container-common private packages org.ops4j.pax.web.itest package, but here - // there's no additional bundle, so we have to create it on-fly - InputStream helper = TinyBundles.bundle() - .set("Bundle-ManifestVersion", "2") - .set("Export-Package", "org.ops4j.pax.web.itest") - .set("DynamicImport-Package", "*") - .add(AbstractControlledTestBase.class) - .set("Bundle-SymbolicName", "infra") - .build(); - File dir = new File("target/bundles"); - dir.mkdirs(); - String bundleURL = null; - try { - File bundle = new File(dir, "infra-bundle.jar"); - IOUtils.copy(helper, new FileOutputStream(bundle)); - bundleURL = bundle.toURI().toURL().toString(); - } catch (IOException e) { - throw new RuntimeException(e.getMessage(), e); - } - - Option[] options = super.baseConfigure(); - options = combine(options, defaultLoggingConfig()); - // with PAXLOGGING-308 we can simply point to _native_ configuration file understood directly - // by selected pax-logging backend - options = combine(options, systemProperty("org.ops4j.pax.logging.property.file") - .value("../etc/log4j2-osgi.properties")); - - return combine(options, CoreOptions.bundle(bundleURL)); - } - - /** - * Configuring symbolic name in test probe we can easily locate related log entries in the output. - * @param builder - * @return - */ - @ProbeBuilder - public TestProbeBuilder probeBuilder(TestProbeBuilder builder) { - builder.setHeader(Constants.BUNDLE_SYMBOLICNAME, PROBE_SYMBOLIC_NAME); - return builder; - } - -} diff --git a/pax-web-itest/pax-web-tck/src/test/java/org/ops4j/pax/web/tck/CleanIntegrationTest.java b/pax-web-itest/pax-web-tck/src/test/java/org/ops4j/pax/web/tck/CleanIntegrationTest.java deleted file mode 100644 index f09fe54167..0000000000 --- a/pax-web-itest/pax-web-tck/src/test/java/org/ops4j/pax/web/tck/CleanIntegrationTest.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2019 OPS4J. - * - * Licensed 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.ops4j.pax.web.tck; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.ops4j.pax.exam.Configuration; -import org.ops4j.pax.exam.Option; -import org.ops4j.pax.exam.junit.PaxExam; -import org.osgi.framework.Bundle; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Arrays; -import java.util.Set; -import java.util.TreeSet; - -import static org.hamcrest.CoreMatchers.equalTo; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.ops4j.pax.exam.OptionUtils.combine; - -@RunWith(PaxExam.class) -public class CleanIntegrationTest extends AbstractOsgiTestBase { - - public static final Logger LOG = LoggerFactory.getLogger(CleanIntegrationTest.class); - - @Configuration - public Option[] configure() { - return combine(baseConfigure(), paxWebCore()); - } - - @Test - public void justRun() { - Set bundles = new TreeSet<>((b1, b2) -> (int) (b1.getBundleId() - b2.getBundleId())); - bundles.addAll(Arrays.asList(context.getBundles())); - for (Bundle b : bundles) { - String info = String.format("#%02d: %s/%s (%s)", - b.getBundleId(), b.getSymbolicName(), b.getVersion(), b.getLocation()); - LOG.info(info); - } - - Bundle api = bundle("org.ops4j.pax.web.pax-web-api"); - Bundle spi = bundle("org.ops4j.pax.web.pax-web-spi"); - assertThat(api.getState(), equalTo(Bundle.ACTIVE)); - assertThat(spi.getState(), equalTo(Bundle.ACTIVE)); - } - -} diff --git a/pax-web-itest/pax-web-tck/src/test/resources/controlled-exam.properties b/pax-web-itest/pax-web-tck/src/test/resources/controlled-exam.properties deleted file mode 100644 index 9378373b05..0000000000 --- a/pax-web-itest/pax-web-tck/src/test/resources/controlled-exam.properties +++ /dev/null @@ -1,28 +0,0 @@ -# -# Copyright 2021 OPS4J. -# -# Licensed 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. -# - -# default, javaee, test (default), cdi -# for "cdi" we use PaxExam.delegate = org.ops4j.pax.exam.junit.impl.InjectingRunner -# otherwise it's PaxExam.delegate = org.ops4j.pax.exam.junit.impl.ProbeRunner -# "test" adds some default @Configuration Option[] -# "default" allows manual control over provided @Configuration/Option[] -pax.exam.system = default - -# 10000 ms by default -pax.exam.service.timeout = 3600000 - -# "pax-logging" by default which adds link:classpath:META-INF/links/org.ops4j.pax.logging.api.link;start-level=2 -pax.exam.logging = custom diff --git a/pax-web-itest/pax-web-tck/src/test/resources/log4j2-osgi.properties b/pax-web-itest/pax-web-tck/src/test/resources/log4j2-osgi.properties deleted file mode 100644 index 259cd3037d..0000000000 --- a/pax-web-itest/pax-web-tck/src/test/resources/log4j2-osgi.properties +++ /dev/null @@ -1,51 +0,0 @@ -# -# Copyright 2021 OPS4J. -# -# Licensed 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. -# - -# this is logging configuration used by pax-logging and passed directly to pax-logging-log4j2 -# without asynchronous ConfigAdmin configuration - -status = INFO -verbose = false -dest = out - -appender.stdout.type = console -appender.stdout.name = stdout -appender.stdout.layout.type = PatternLayout -appender.stdout.layout.pattern = \ - OSGi - %d{HH:mm:ss.SSS} [%thread] %-5level (%F:%L) %logger - %msg%n -appender.stdout.filter.threshold.type = ThresholdFilter -appender.stdout.filter.threshold.level = info - -appender.file.type = RollingFile -appender.file.name = file -appender.file.append = true -appender.file.fileName = target/logs/test.log -appender.file.filePattern = target/logs/test-%i.log.gz -appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{HH:mm:ss.SSS} [%thread] %-5level (%F:%L) %logger - %msg%n -appender.file.policy.type = SizeBasedTriggeringPolicy -appender.file.policy.size = 10MB -appender.file.strategy.type = DefaultRolloverStrategy -appender.file.strategy.max = 10 - -logger.exam.name = org.ops4j.pax.exam -logger.exam.level = error - -logger.web.name = org.ops4j.pax.web -logger.web.level = trace - -rootLogger.level = warn -rootLogger.appenderRef.console.ref = stdout -rootLogger.appenderRef.file.ref = file diff --git a/pax-web-itest/pax-web-tck/src/test/resources/log4j2-test.properties b/pax-web-itest/pax-web-tck/src/test/resources/log4j2-test.properties deleted file mode 100644 index 8c320cdf66..0000000000 --- a/pax-web-itest/pax-web-tck/src/test/resources/log4j2-test.properties +++ /dev/null @@ -1,49 +0,0 @@ -# -# Copyright 2021 OPS4J. -# -# Licensed 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. -# - -# this is logging configuration for pax-exam itself. This file should not be used to configure -# logging used in the container started by pax-exam - even if it's native container sharing classpath with -# surefire/failsafe runner - -status = INFO -verbose = false -dest = out - -appender.stdout.type = console -appender.stdout.name = stdout -appender.stdout.layout.type = PatternLayout -appender.stdout.layout.pattern = \ - EXAM - %d{HH:mm:ss.SSS} [%thread] %-5level (%F:%L) %logger - %msg%n -appender.stdout.filter.threshold.type = ThresholdFilter -appender.stdout.filter.threshold.level = info - -appender.file.type = RollingFile -appender.file.name = file -appender.file.append = true -appender.file.fileName = target/logs/pax-exam-test.log -appender.file.filePattern = target/logs/pax-exam-test-%i.log.gz -appender.file.layout.type = PatternLayout -appender.file.layout.pattern = %d{HH:mm:ss.SSS} [%thread] %-5level (%F:%L) %logger - %msg%n -appender.file.policy.type = SizeBasedTriggeringPolicy -appender.file.policy.size = 10MB -appender.file.strategy.type = DefaultRolloverStrategy -appender.file.strategy.max = 10 - -logger.exam.name = org.ops4j.pax.exam -logger.exam.level = debug - -rootLogger.level = warn -rootLogger.appenderRef.console.ref = stdout -rootLogger.appenderRef.file.ref = file diff --git a/pax-web-itest/pax-web-tck/src/test/resources/org.apache.servicemix.bundles.javax-inject.link b/pax-web-itest/pax-web-tck/src/test/resources/org.apache.servicemix.bundles.javax-inject.link deleted file mode 100644 index 2474e0a2b7..0000000000 --- a/pax-web-itest/pax-web-tck/src/test/resources/org.apache.servicemix.bundles.javax-inject.link +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright 2019 OPS4J. -# -# Licensed 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. -# - -# Using mvn: will work with org.ops4j.pax.exam.nat.internal.NativeTestContainer, -# because we have test-scoped dependency to pax-url-aether -# when running with org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer, pax-url-aether -# would need to be installed separately -mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/${dependency.org.apache.servicemix.bundles.javax-inject} diff --git a/pax-web-itest/pax-web-tck/tck.bndrun b/pax-web-itest/pax-web-tck/tck.bndrun new file mode 100644 index 0000000000..8b266c9d0d --- /dev/null +++ b/pax-web-itest/pax-web-tck/tck.bndrun @@ -0,0 +1,111 @@ +# +# Copyright 2023 OPS4J. +# +# Licensed 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. +# + +-runfw: org.apache.felix.framework +-tester: biz.aQute.tester.junit-platform + +#-resolve.effective: active + +# bnd-resolver-maven-plugin takes these requirements (symbolic names), resolves them and generates "-runbundles" +# property. If this propery is not used, bnd-resolver-maven-plugin generates single "osgi.identity: (osgi.identity=pax-web-tck)" +# requirement, however this depends on proper requirements specified in current artifact's MANIFEST.MF. +# the best way I found is to list bundle symbolic names (in the below form, according to https://bnd.bndtools.org/chapters/310-testing.html) +# with true, there's a lot of libraries to search +# for the capabilities and for example `Import-Package: javax.servlet` is satisfied by org.apache.tomcat-servlet-api, +# but in pure OSGi it should not bother us too much. +# Maybe one day I'll turn includeDependencyManagement off and list more specific bundles +-runrequires: \ + bnd.identity;id='org.osgi.test.cases.webcontainer',\ + bnd.identity;id='org.ops4j.pax.web.pax-web-api', \ + bnd.identity;id='org.ops4j.pax.web.pax-web-compatibility-el2', \ + bnd.identity;id='org.ops4j.pax.web.pax-web-extender-war', \ + bnd.identity;id='org.ops4j.pax.web.pax-web-jsp', \ + bnd.identity;id='org.ops4j.pax.web.pax-web-runtime', \ + bnd.identity;id='org.ops4j.pax.web.pax-web-spi', \ + bnd.identity;id='org.ops4j.pax.web.pax-web-tomcat', \ + bnd.identity;id='org.ops4j.pax.web.pax-web-tomcat-common', \ + bnd.identity;id='org.ops4j.base', \ + bnd.identity;id='org.ops4j.pax.logging.pax-logging-api', \ + bnd.identity;id='org.ops4j.pax.logging.pax-logging-log4j2', \ + bnd.identity;id='org.ops4j.pax.swissbox.bnd', \ + bnd.identity;id='org.ops4j.pax.swissbox.property', \ + bnd.identity;id='org.ops4j.pax.url.commons', \ + bnd.identity;id='org.ops4j.pax.url.war', \ + bnd.identity;id='org.osgi.util.function', \ + bnd.identity;id='org.osgi.util.promise', \ + bnd.identity;id='org.osgi.test.junit4', \ + bnd.identity;id='org.osgi.test.junit5', \ + bnd.identity;id='org.osgi.test.common', \ + bnd.identity;id='junit-jupiter-api', \ + bnd.identity;id='junit-jupiter-engine', \ + bnd.identity;id='junit-jupiter-params', \ + bnd.identity;id='junit-platform-commons', \ + bnd.identity;id='junit-platform-engine', \ + bnd.identity;id='junit-platform-launcher', \ + bnd.identity;id='junit-vintage-engine' + +-runproperties: \ + report='true', \ + org.osgi.framework.bootdelegation='sun.*,com.sun.*,sun.misc,sun.reflect', \ + org.osgi.service.webcontainer.hostname='127.0.0.1', \ + org.osgi.service.webcontainer.http.port='8080', \ + org.osgi.test.testcase.timeout='10000', \ + org.ops4j.pax.logging.DefaultServiceLog.level='INFO', \ + org.osgi.test.testcase.scaling='1' + +-runvm="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" + +# The following is calculated by the bnd-resolver-maven-plugin and do not edit it manually +-runbundles: \ + jakarta.annotation-api;version='[1.3.5,1.3.6)',\ + javax.el-api;version='[3.0.3,3.0.4)',\ + javax.security.auth.message-api;version='[1.1.3,1.1.4)',\ + org.apache.felix.eventadmin;version='[1.6.4,1.6.5)',\ + org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\ + org.apache.tomcat-servlet-api;version='[9.0.73,9.0.74)',\ + org.eclipse.jdt.core.compiler.batch;version='[3.26.0,3.26.1)',\ + org.ops4j.pax.logging.pax-logging-api;version='[2.2.2,2.2.3)',\ + org.ops4j.pax.web.pax-web-api;version='[8.0.20,8.0.21)',\ + org.ops4j.pax.web.pax-web-compatibility-el2;version='[8.0.20,8.0.21)',\ + org.ops4j.pax.web.pax-web-extender-war;version='[8.0.20,8.0.21)',\ + org.ops4j.pax.web.pax-web-jsp;version='[8.0.20,8.0.21)',\ + org.ops4j.pax.web.pax-web-runtime;version='[8.0.20,8.0.21)',\ + org.ops4j.pax.web.pax-web-spi;version='[8.0.20,8.0.21)',\ + org.ops4j.pax.web.pax-web-tomcat;version='[8.0.20,8.0.21)',\ + org.ops4j.pax.web.pax-web-tomcat-common;version='[8.0.20,8.0.21)',\ + org.osgi.test.cases.webcontainer;version='[8.1.0,8.1.1)',\ + biz.aQute.bnd.util;version='[6.4.0,6.4.1)',\ + biz.aQute.bndlib;version='[6.4.0,6.4.1)',\ + junit-jupiter-api;version='[5.8.2,5.8.3)',\ + junit-jupiter-engine;version='[5.8.2,5.8.3)',\ + junit-jupiter-params;version='[5.8.2,5.8.3)',\ + junit-platform-commons;version='[1.8.2,1.8.3)',\ + junit-platform-engine;version='[1.8.2,1.8.3)',\ + junit-platform-launcher;version='[1.8.2,1.8.3)',\ + junit-vintage-engine;version='[5.8.2,5.8.3)',\ + org.opentest4j;version='[1.2.0,1.2.1)',\ + org.ops4j.base;version='[1.5.1,1.5.2)',\ + org.ops4j.pax.logging.pax-logging-log4j2;version='[2.2.2,2.2.3)',\ + org.ops4j.pax.swissbox.bnd;version='[1.8.5,1.8.6)',\ + org.ops4j.pax.swissbox.property;version='[1.8.5,1.8.6)',\ + org.ops4j.pax.url.commons;version='[2.6.13,2.6.14)',\ + org.ops4j.pax.url.war;version='[2.6.13,2.6.14)',\ + org.osgi.service.repository;version='[1.1.0,1.1.1)',\ + org.osgi.test.common;version='[1.2.0,1.2.1)',\ + org.osgi.test.junit4;version='[1.2.0,1.2.1)',\ + org.osgi.test.junit5;version='[1.2.0,1.2.1)',\ + org.osgi.util.function;version='[1.2.0,1.2.1)',\ + org.osgi.util.promise;version='[1.3.0,1.3.1)' diff --git a/pom.xml b/pom.xml index 99ebd39231..f23f1a838f 100644 --- a/pom.xml +++ b/pom.xml @@ -160,6 +160,7 @@ 4.1 1.4.0 1.6.13 + 6.4.0 @@ -585,6 +586,22 @@ ${dependency.org.eclipse.jetty} + + biz.aQute.bnd + bnd-maven-plugin + ${plugin.bnd.bnd-maven-plugin} + + + biz.aQute.bnd + bnd-resolver-maven-plugin + ${plugin.bnd.bnd-maven-plugin} + + + biz.aQute.bnd + bnd-testing-maven-plugin + ${plugin.bnd.bnd-maven-plugin} + + @@ -1398,56 +1415,36 @@ pax-web-jetty-keycloak ${project.version} - - org.ops4j.pax.web - pax-web-jetty-keycloak21 - ${project.version} - org.ops4j.pax.web pax-web-tomcat-keycloak ${project.version} - - org.ops4j.pax.web - pax-web-tomcat-keycloak21 - ${project.version} - org.ops4j.pax.web pax-web-undertow-keycloak ${project.version} - - org.ops4j.pax.web - pax-web-undertow-keycloak21 - ${project.version} - org.ops4j.pax.web keycloak-common ${project.version} - - org.ops4j.pax.web - keycloak21-common - ${project.version} - org.ops4j.pax.web keycloak-osgi-adapter ${project.version} - - org.ops4j.pax.web - keycloak21-osgi-adapter - ${project.version} - + + org.ops4j.base + ops4j-base + ${dependency.org.ops4j.base} + org.ops4j.base ops4j-base-exec @@ -1579,11 +1576,6 @@ pax-logging-api ${dependency.org.ops4j.pax.logging} - - org.ops4j.pax.logging - pax-logging-service - ${dependency.org.ops4j.pax.logging} - org.ops4j.pax.logging pax-logging-logback @@ -1761,6 +1753,17 @@ + + biz.aQute.bnd + biz.aQute.bnd + ${dependency.biz.aQute.bnd.bndlib} + + + org.osgi + org.osgi.core + + + org.apache.karaf.features @@ -1810,12 +1813,6 @@ - - org.apache.karaf - manual - ${dependency.org.apache.karaf} - war - org.apache.karaf.system org.apache.karaf.system.core @@ -2622,11 +2619,6 @@ - - org.apache.tomcat.embed - tomcat-embed-logging-juli - ${dependency.org.apache.tomcat} - org.apache.tomcat tomcat @@ -3023,16 +3015,6 @@ ${dependency.org.bouncycastle} - - org.jboss.weld - weld-core - ${dependency.org.jboss.weld} - - - org.jboss.weld - weld-core-jsf - ${dependency.org.jboss.weld} - org.jboss.weld weld-osgi-bundle