4.0.0
org.apache.felix
felix-parent
9
../../pom/pom.xml
Apache Felix Http Jetty 11.x
This is an implementation of the R8.1 OSGi Servlet Service, the R7 OSGi Http Service and the R7 OSGi Http Whiteboard Specification
org.apache.felix.http.jetty
5.1.28
bundle
scm:git:https://github.com/apache/felix-dev.git
scm:git:https://github.com/apache/felix-dev.git
https://gitbox.apache.org/repos/asf?p=felix-dev.git
org.apache.felix.http.jetty-5.1.28
11
11.0.24
true
4.13.3
-Xmx512M
org.codehaus.gmaven
groovy-maven-plugin
2.1.1
groovy-magic
prepare-package
execute
if (artifact.getArtifactHandler().isAddedToClasspath() && !org.apache.maven.artifact.Artifact.SCOPE_TEST.equals( artifact.getScope() )
&& !"org.eclipse.jetty.websocket".equals(artifact.getGroupId()) // skip the optional websocket artifacts
&& !"jetty-annotations".equals(artifact.getArtifactId()) // skip the transitive artifacts from the optional websocket artifacts
&& !"jetty-plus".equals(artifact.getArtifactId())
&& !"jetty-webapp".equals(artifact.getArtifactId())) {
def jar;
try {
jar = new java.util.jar.JarFile(artifact.file)
jar.stream().each() { entry ->
if (!entry.isDirectory() && entry.name.startsWith("META-INF/services/")) {
// check if we already have a file with this name
def svcFile = new File(slDir, entry.name)
def svcSet = new LinkedHashSet();
if (svcFile.exists()) {
// found existing file, so load the items from the existing file so we can merge
svcFile.eachLine { className ->
className = className.trim();
if (!className.isEmpty()) {
svcSet.add(className);
}
}
}
// read the content of the found entry
def lineReader;
try {
lineReader = new BufferedReader(new InputStreamReader(jar.getInputStream(entry), java.nio.charset.StandardCharsets.UTF_8));
def className;
while ( ( className = lineReader.readLine() ) != null ) {
className = className.trim();
if (!className.isEmpty()) {
svcSet.add(className);
}
}
} finally {
// cleanup
if (lineReader != null) {
lineReader.close()
}
}
// write the merged data to the output file
if (!svcSet.isEmpty()) {
// make any missing folders
svcFile.getParentFile().mkdirs();
svcFile.withWriter('utf-8') { writer ->
svcSet.each() { item ->
writer.writeLine item;
}
// finish up with a blank line
writer.println();
}
}
}
}
} finally {
// cleanup
if (jar != null) {
jar.close();
}
}
}
}
]]>
org.apache.felix
maven-bundle-plugin
5.1.9
true
${project.artifactId}
${project.version}
${jetty.version}
org.apache.felix.http.jetty.internal.JettyActivator
org.osgi.service.http,
org.osgi.service.http.context,
org.osgi.service.http.runtime,
org.osgi.service.http.runtime.dto,
org.osgi.service.http.whiteboard,
org.osgi.service.servlet.context,
org.osgi.service.servlet.runtime,
org.osgi.service.servlet.runtime.dto,
org.osgi.service.servlet.whiteboard,
org.eclipse.jetty.alpn.server,
org.eclipse.jetty.http.*,
org.eclipse.jetty.http2.*,
org.eclipse.jetty.io.*,
org.eclipse.jetty.jmx.*,
org.eclipse.jetty.security.*,
org.eclipse.jetty.server.*,
org.eclipse.jetty.servlet.*,
org.eclipse.jetty.util.*,
org.apache.felix.http.jetty,
org.apache.felix.http.jakartawrappers,
org.apache.felix.http.javaxwrappers
org.apache.felix.http.base.*,
org.apache.felix.http.jetty.*,
org.eclipse.jetty,
org.eclipse.jetty.version
org.apache.commons.*
sun.misc;resolution:=optional,
sun.nio.ch;resolution:=optional,
javax.imageio;resolution:=optional,
javax.sql;resolution:=optional,
org.ietf.jgss;resolution:=optional,
org.osgi.service.cm;resolution:=optional;version="[1.3,2)",
org.osgi.service.event;resolution:=optional;version="[1.2,2)",
org.osgi.service.log;resolution:=optional;version="[1.3,2)",
org.osgi.service.metatype;resolution:=optional;version="[1.1,2)",
org.osgi.service.useradmin;resolution:=optional;version="[1.1,2)",
org.osgi.service.http;version="[1.2.1,1.3)",
org.osgi.service.http.context;version="[1.1,1.2)",
org.osgi.service.http.runtime;version="[1.1,1.2)",
org.osgi.service.http.runtime.dto;version="[1.1,1.2)",
org.slf4j;version="[1.0,3.0)",
*
org.osgi.service.cm;version="[1.3,2)",
org.osgi.service.event;version="[1.2,2)",
org.osgi.service.log;version="[1.3,2)",
org.osgi.service.metatype;version="[1.4,2)"
osgi.implementation;osgi.implementation="osgi.http";version:Version="1.1";
uses:="javax.servlet,javax.servlet.http,org.osgi.service.http.context,org.osgi.service.http.whiteboard",
osgi.implementation;osgi.implementation="osgi.http";version:Version="2.0";
uses:="jakarta.servlet,jakarta.servlet.http,org.osgi.service.servlet.context,org.osgi.service.servlet.whiteboard",
osgi.service;objectClass:List<String>="org.osgi.service.servlet.runtime.HttpServiceRuntime";
uses:="org.osgi.service.servlet.runtime,org.osgi.service.servlet.runtime.dto",
osgi.service;objectClass:List<String>="org.osgi.service.http.runtime.HttpServiceRuntime";
uses:="org.osgi.service.http.runtime,org.osgi.service.http.runtime.dto",
osgi.service;objectClass:List<String>="org.osgi.service.http.HttpService";
uses:="org.osgi.service.http",
osgi.serviceloader;osgi.serviceloader="org.eclipse.jetty.http.HttpFieldPreEncoder"
osgi.contract;filter:="(&(osgi.contract=JavaServlet)(version=4.0))",
osgi.contract;filter:="(&(osgi.contract=JakartaServlet)(version=5.0))",
osgi.extender;filter:="(osgi.extender=osgi.serviceloader.registrar)";resolution:=optional,
osgi.extender;filter:="(osgi.extender=osgi.serviceloader.processor)";resolution:=optional,
osgi.serviceloader;filter:="(osgi.serviceloader=org.eclipse.jetty.http.HttpFieldPreEncoder)";resolution:=optional;cardinality:=multiple,
osgi.serviceloader;filter:="(osgi.serviceloader=org.eclipse.jetty.io.ssl.ALPNProcessor$Server)";resolution:=optional;cardinality:=multiple
{maven-resources},${project.build.directory}/serviceloader-resources
<_removeheaders>
Private-Package,Conditional-Package
bundle
package
bundle
baseline
baseline
light-bundle
bundle
light
${project.name} Light
${project.artifactId}.light
foo
org.osgi.service.http,
org.osgi.service.http.context,
org.osgi.service.http.runtime,
org.osgi.service.http.runtime.dto,
org.osgi.service.http.whiteboard,
org.osgi.service.servlet.context,
org.osgi.service.servlet.runtime,
org.osgi.service.servlet.runtime.dto,
org.osgi.service.servlet.whiteboard,
org.apache.felix.http.jetty,
org.apache.felix.http.javaxwrappers,
org.apache.felix.http.jakartawrappers
org.apache.felix.http.base.*,
org.apache.felix.http.jetty.*,
org.osgi.service.cm;resolution:=optional;version="[1.3,2)",
org.osgi.service.event;resolution:=optional;version="[1.2,2)",
org.osgi.service.log;resolution:=optional;version="[1.3,2)",
org.osgi.service.metatype;resolution:=optional;version="[1.4,2)",
org.osgi.service.useradmin;resolution:=optional;version="[1.1,2)",
org.osgi.service.http;version="[1.2.1,1.3)",
org.osgi.service.http.context;version="[1.1,1.2)",
org.osgi.service.http.runtime;version="[1.1,1.2)",
org.osgi.service.http.runtime.dto;version="[1.1,1.2)",
*
osgi.implementation;osgi.implementation="osgi.http";version:Version="1.1";
uses:="javax.servlet,javax.servlet.http,org.osgi.service.http.context,org.osgi.service.http.whiteboard",
osgi.implementation;osgi.implementation="osgi.http";version:Version="2.0";
uses:="jakarta.servlet,jakarta.servlet.http,org.osgi.service.servlet.context,org.osgi.service.servlet.whiteboard",
osgi.service;objectClass:List<String>="org.osgi.service.servlet.runtime.HttpServiceRuntime";
uses:="org.osgi.service.servlet.runtime,org.osgi.service.servlet.runtime.dto",
osgi.service;objectClass:List<String>="org.osgi.service.http.runtime.HttpServiceRuntime";
uses:="org.osgi.service.http.runtime,org.osgi.service.http.runtime.dto",
osgi.service;objectClass:List<String>="org.osgi.service.http.HttpService";
uses:="org.osgi.service.http"
osgi.contract;filter:="(&(osgi.contract=JavaServlet)(version=4.0))",
osgi.contract;filter:="(&(osgi.contract=JakartaServlet)(version=5.0))"
{maven-resources}
<_removeheaders>
X-Jetty-Version,Private-Package,Conditional-Package
maven-surefire-plugin
true
org.apache.maven.plugins
maven-failsafe-plugin
integration-test
integration-test
integration-test
verify
integration-test
verify
true
${jetty.version}
${basedir}/target/${project.build.finalName}.jar
${pax.vm.options}
javax.servlet
javax.servlet-api
3.1.0
provided
org.osgi
osgi.core
6.0.0
provided
org.osgi
org.osgi.service.cm
1.5.0
provided
org.osgi
org.osgi.service.event
1.3.1
provided
org.osgi
org.osgi.service.metatype
1.4.0
provided
org.osgi
org.osgi.service.useradmin
1.1.0
provided
org.eclipse.jetty
jetty-servlet
${jetty.version}
org.eclipse.jetty
jetty-server
${jetty.version}
org.eclipse.jetty
jetty-util
${jetty.version}
org.eclipse.jetty
jetty-util-ajax
${jetty.version}
org.eclipse.jetty
jetty-jmx
${jetty.version}
org.eclipse.jetty
jetty-security
${jetty.version}
org.eclipse.jetty.http2
http2-server
${jetty.version}
org.eclipse.jetty.http2
http2-common
${jetty.version}
org.eclipse.jetty.http2
http2-hpack
${jetty.version}
org.eclipse.jetty
jetty-alpn-server
${jetty.version}
org.eclipse.jetty.websocket
websocket-jakarta-server
${jetty.version}
true
org.eclipse.jetty.websocket
websocket-jetty-server
${jetty.version}
true
org.osgi
org.osgi.service.servlet
2.0.0
provided
org.osgi
org.osgi.service.http
1.2.1
provided
org.osgi
org.osgi.service.http.whiteboard
1.1.1
provided
org.apache.felix
org.apache.felix.http.base
5.1.10
org.apache.felix
org.apache.felix.http.wrappers
1.0.6
commons-fileupload
commons-fileupload
1.5
commons-io
commons-io
2.14.0
junit
junit
4.13.2
test
org.mockito
mockito-core
5.7.0
test
org.osgi
org.osgi.service.log
1.3.0
test
org.apache.felix
org.apache.felix.framework
7.0.5
test
javax.inject
javax.inject
1
test
org.ops4j.pax.exam
pax-exam
${org.ops4j.pax.exam.version}
test
org.ops4j.pax.exam
pax-exam-cm
${org.ops4j.pax.exam.version}
test
org.ops4j.pax.exam
pax-exam-container-forked
${org.ops4j.pax.exam.version}
test
org.ops4j.pax.exam
pax-exam-junit4
${org.ops4j.pax.exam.version}
test
org.ops4j.pax.exam
pax-exam-link-mvn
${org.ops4j.pax.exam.version}
test
org.eclipse.jetty
jetty-client
${jetty.version}
test
org.eclipse.jetty.websocket
websocket-jetty-client
${jetty.version}
test
org.awaitility
awaitility
4.2.1
test
org.slf4j
slf4j-simple
2.0.13
test