4.0.0
org.apache.felix
org.apache.felix.http.parent
13
../parent/pom.xml
Apache Felix Http Jetty
This is an implementation of the R7 OSGi Http Service and the R7 OSGi Http Whiteboard Specification
org.apache.felix.http.jetty
4.2.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-4.2.28
8
9.4.56.v20240826
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() )) {
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.3
true
${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.eclipse.jetty,
!org.eclipse.jetty.util.log.jmx,
!org.eclipse.jetty.version,
org.eclipse.jetty.*,
org.apache.felix.http.jetty
org.apache.felix.http.base.*,
org.apache.felix.http.jetty.*,
org.eclipse.jetty,
org.eclipse.jetty.security.authentication,
org.eclipse.jetty.util.log.jmx,
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.slf4j.*;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.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.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=3.1))",
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
true
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.apache.felix.http.jetty
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)",
org.eclipse.jetty.webapp;resolution:=optional,
*
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.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=3.1))"
{maven-resources}
<_removeheaders>
X-Jetty-Version,Private-Package,Conditional-Package
javax.servlet
javax.servlet-api
org.osgi
osgi.core
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-jmx
${jetty.version}
org.eclipse.jetty
jetty-security
${jetty.version}
org.eclipse.jetty
jetty-webapp
${jetty.version}
org.eclipse.jetty.websocket
websocket-servlet
${jetty.version}
org.eclipse.jetty.websocket
websocket-server
${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.osgi
org.osgi.service.http
1.2.1
provided
org.osgi
org.osgi.service.http.whiteboard
1.1.0
provided
org.apache.felix
org.apache.felix.http.base
4.2.14
commons-fileupload
commons-fileupload
1.5
commons-io
commons-io
2.11.0
org.osgi
org.osgi.service.log
1.3.0
test