4.0.0 org.apache.felix felix-parent 8 ../../pom/pom.xml Apache Felix Http Jetty 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.10 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.10 11 11.0.20 true 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.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, !org.eclipse.jetty.version, org.eclipse.jetty.*, 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.*, 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.servlet.* 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 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.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.0 provided org.apache.felix org.apache.felix.http.base 5.1.6 org.apache.felix org.apache.felix.http.wrappers 1.0.2 commons-fileupload commons-fileupload 1.5 commons-io commons-io 2.11.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