This is an automated email from the git hooks/post-receive script. ebourg-guest pushed a commit to branch master in repository jetty9.
commit 1ddd537fbbc3c5396769657af74881fd641dc3fe Author: Emmanuel Bourg <[email protected]> Date: Thu Dec 3 17:07:21 2015 +0100 Build the new version --- debian/control | 28 +- debian/libjetty9-extra-java.poms | 7 - debian/libjetty9-java.poms | 125 +++++-- debian/maven.ignoreRules | 14 +- debian/maven.rules | 27 +- ....patch => 01-maven-bundle-plugin-version.patch} | 2 +- debian/patches/02-import-alpn-api.patch | 383 +++++++++++++++++++++ debian/patches/03-update-parent-pom-version.patch | 58 ++++ .../patches/04-weksocket-1.1-compatibility.patch | 24 ++ debian/patches/series | 5 +- 10 files changed, 606 insertions(+), 67 deletions(-) diff --git a/debian/control b/debian/control index 4caa43b..2d35cc5 100644 --- a/debian/control +++ b/debian/control @@ -2,24 +2,27 @@ Source: jetty9 Section: java Priority: optional Maintainer: Debian Java Maintainers <[email protected]> -Uploaders: Jakub Adam <[email protected]>, Emmanuel Bourg <[email protected]> +Uploaders: Emmanuel Bourg <[email protected]> Build-Depends: ant-optional, debhelper (>= 9), default-jdk, dh-exec, + glassfish-javaee, glassfish-jmac-api (>= 1:2.1.1-b31g-2), javahelper, junit, libasm4-java, libbuild-helper-maven-plugin-java, - libgeronimo-jta-1.1-spec-java, libmail-java, - libjetty-java, - libjstl1.1-java, + libjakarta-taglibs-standard-java (>= 1.1.2-4~), + libjcip-annotations-java, + libjstl1.1-java (>= 1.1.2-4~), libmaven-bundle-plugin-java, + libmaven-shade-plugin-java, libmockito-java, - libservlet3.0-java (>= 7.0.40-2), - libtomcat7-java (>= 7.0.56-1~), + libservlet3.1-java, + libspring-beans-java, + libtomcat8-java, maven-debian-helper, maven-repo-helper Standards-Version: 3.9.6 @@ -29,7 +32,7 @@ Homepage: http://www.eclipse.org/jetty/ Package: libjetty9-java Architecture: all -Depends: ${misc:Depends}, libservlet3.0-java +Depends: ${misc:Depends}, libservlet3.1-java Suggests: jetty9 Description: Java servlet engine and webserver -- core libraries Jetty is an Open Source HTTP Servlet Server written in 100% Java. @@ -41,13 +44,14 @@ Description: Java servlet engine and webserver -- core libraries Package: libjetty9-extra-java Architecture: all -Depends: libasm4-java, +Depends: glassfish-jmac-api, + libasm4-java, libmail-java, - libjakarta-taglibs-standard-java, + libjakarta-taglibs-standard-java (>= 1.1.2-4~), libjetty9-java (>= ${source:Version}), - libjstl1.1-java, - libservlet3.0-java, - libtomcat7-java (>= 7.0.56-1~), + libjstl1.1-java (>= 1.1.2-4~), + libspring-beans-java, + libtomcat8-java, ${misc:Depends} Suggests: jetty9 Description: Java servlet engine and webserver -- extra libraries diff --git a/debian/libjetty9-extra-java.poms b/debian/libjetty9-extra-java.poms deleted file mode 100644 index d706f28..0000000 --- a/debian/libjetty9-extra-java.poms +++ /dev/null @@ -1,7 +0,0 @@ -jetty-ajp/pom.xml --java-lib --usj-name=jetty9-ajp -jetty-annotations/pom.xml --java-lib --usj-name=jetty9-annotations -jetty-client/pom.xml --java-lib --usj-name=jetty9-client -jetty-jndi/pom.xml --java-lib --usj-name=jetty9-jndi -jetty-monitor/pom.xml --java-lib --usj-name=jetty9-monitor -jetty-plus/pom.xml --java-lib --usj-name=jetty9-plus -test-jetty-servlet/pom.xml --java-lib --usj-name=jetty9-test-servlet diff --git a/debian/libjetty9-java.poms b/debian/libjetty9-java.poms index 80692eb..488baac 100644 --- a/debian/libjetty9-java.poms +++ b/debian/libjetty9-java.poms @@ -1,34 +1,95 @@ +# List of POM files for the package +# Format of this file is: +# <path to pom file> [option]* +# where option can be: +# --ignore: ignore this POM and its artifact if any +# --ignore-pom: don't install the POM. To use on POM files that are created +# temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms] +# --no-parent: remove the <parent> tag from the POM +# --package=<package>: an alternative package to use when installing this POM +# and its artifact +# --has-package-version: to indicate that the original version of the POM is the same as the upstream part +# of the version for the package. +# --keep-elements=<elem1,elem2>: a list of XML elements to keep in the POM +# during a clean operation with mh_cleanpom or mh_installpom +# --artifact=<path>: path to the build artifact associated with this POM, +# it will be installed when using the command mh_install. [mh_install] +# --java-lib: install the jar into /usr/share/java to comply with Debian +# packaging guidelines +# --usj-name=<name>: name to use when installing the library in /usr/share/java +# --usj-version=<version>: version to use when installing the library in /usr/share/java +# --no-usj-versionless: don't install the versionless link in /usr/share/java +# --dest-jar=<path>: the destination for the real jar. +# It will be installed with mh_install. [mh_install] +# --classifier=<classifier>: Optional, the classifier for the jar. Empty by default. +# --site-xml=<location>: Optional, the location for site.xml if it needs to be installed. +# Empty by default. [mh_install] +# pom.xml --no-parent -jetty-webapp/pom.xml --java-lib --usj-name=jetty9-webapp -jetty-policy/pom.xml --java-lib --usj-name=jetty9-policy -jetty-jsp/pom.xml -jetty-security/pom.xml --java-lib --usj-name=jetty9-security -jetty-server/pom.xml --java-lib --usj-name=jetty9-server -jetty-jndi/pom.xml --ignore-pom -jetty-xml/pom.xml --java-lib --usj-name=jetty9-xml -jetty-aggregate/pom.xml -jetty-aggregate/jetty-websocket/pom.xml --java-lib --usj-name=jetty9-websocket -jetty-aggregate/jetty-servlet/pom.xml --java-lib --usj-name=jetty9-servlet -jetty-ajp/pom.xml --ignore-pom -jetty-continuation/pom.xml --java-lib --usj-name=jetty9-continuation -jetty-annotations/pom.xml --ignore-pom -jetty-nosql/pom.xml --ignore-pom -jetty-monitor/pom.xml --ignore-pom -jetty-client/pom.xml --ignore-pom -jetty-overlay-deployer/pom.xml --java-lib --usj-name=jetty9-overlay-deployer -jetty-rewrite/pom.xml --java-lib --usj-name=jetty9-rewrite -jetty-plus/pom.xml --ignore-pom -jetty-deploy/pom.xml --java-lib --usj-name=jetty9-deploy -jetty-distribution/pom.xml -jetty-http/pom.xml --java-lib --usj-name=jetty9-http -jetty-nested/pom.xml -jetty-websocket/pom.xml -jetty-start/pom.xml --java-lib --usj-name=jetty9-start -jetty-http-spi/pom.xml -jetty-io/pom.xml --java-lib --usj-name=jetty9-io -jetty-util/pom.xml --java-lib --usj-name=jetty9-util -jetty-jaspi/pom.xml -jetty-jmx/pom.xml --java-lib --usj-name=jetty9-jmx -jetty-servlets/pom.xml --java-lib --usj-name=jetty9-servlets -jetty-servlet/pom.xml --java-lib --usj-name=jetty9-servlet +apache-jsp/pom.xml --java-lib --usj-name=jetty9-apache-jsp +apache-jstl/pom.xml --java-lib --usj-name=jetty9-apache-jstl +jetty-alpn/pom.xml +jetty-alpn/jetty-alpn-api/pom.xml --java-lib --usj-name=jetty9-alpn-api --no-parent +jetty-alpn/jetty-alpn-client/pom.xml --java-lib --usj-name=jetty9-alpn-client +jetty-alpn/jetty-alpn-server/pom.xml --java-lib --usj-name=jetty9-alpn-server +jetty-continuation/pom.xml --java-lib --usj-name=jetty9-continuation +jetty-deploy/pom.xml --java-lib --usj-name=jetty9-deploy +jetty-http/pom.xml --java-lib --usj-name=jetty9-http +jetty-io/pom.xml --java-lib --usj-name=jetty9-io +jetty-jaas/pom.xml --java-lib --usj-name=jetty9-jaas +jetty-jmx/pom.xml --java-lib --usj-name=jetty9-jmx +jetty-overlay-deployer/pom.xml --java-lib --usj-name=jetty9-overlay-deployer +jetty-rewrite/pom.xml --java-lib --usj-name=jetty9-rewrite +jetty-security/pom.xml --java-lib --usj-name=jetty9-security +jetty-server/pom.xml --java-lib --usj-name=jetty9-server +jetty-servlet/pom.xml --java-lib --usj-name=jetty9-servlet +jetty-servlets/pom.xml --java-lib --usj-name=jetty9-servlets +jetty-start/pom.xml --java-lib --usj-name=jetty9-start +jetty-util/pom.xml --java-lib --usj-name=jetty9-util +jetty-util-ajax/pom.xml --java-lib --usj-name=jetty9-util-ajax +jetty-webapp/pom.xml --java-lib --usj-name=jetty9-webapp +jetty-xml/pom.xml --java-lib --usj-name=jetty9-xml +# Extras +jetty-annotations/pom.xml --java-lib --usj-name=jetty9-annotations --package=libjetty9-extra-java +jetty-cdi/pom.xml --java-lib --usj-name=jetty9-cdi --package=libjetty9-extra-java +jetty-client/pom.xml --java-lib --usj-name=jetty9-client --package=libjetty9-extra-java +jetty-fcgi/pom.xml --package=libjetty9-extra-java +jetty-fcgi/fcgi-client/pom.xml --java-lib --usj-name=jetty9-fcgi-client --package=libjetty9-extra-java +jetty-fcgi/fcgi-server/pom.xml --java-lib --usj-name=jetty9-fcgi-server --package=libjetty9-extra-java +jetty-jaspi/pom.xml --java-lib --usj-name=jetty9-jaspi --package=libjetty9-extra-java +jetty-jndi/pom.xml --java-lib --usj-name=jetty9-jndi --package=libjetty9-extra-java +jetty-monitor/pom.xml --java-lib --usj-name=jetty9-monitor --package=libjetty9-extra-java +jetty-plus/pom.xml --java-lib --usj-name=jetty9-plus --package=libjetty9-extra-java +jetty-proxy/pom.xml --java-lib --usj-name=jetty9-proxy --package=libjetty9-extra-java +jetty-quickstart/pom.xml --java-lib --usj-name=jetty9-quickstart --package=libjetty9-extra-java +jetty-rhttp/pom.xml --package=libjetty9-extra-java +jetty-rhttp/jetty-rhttp-client/pom.xml --java-lib --usj-name=jetty9-rhttp-client --package=libjetty9-extra-java +jetty-rhttp/jetty-rhttp-connector/pom.xml --java-lib --usj-name=jetty9-rhttp-connector --package=libjetty9-extra-java +jetty-rhttp/jetty-rhttp-gateway/pom.xml --java-lib --usj-name=jetty9-rhttp-gateway --package=libjetty9-extra-java +jetty-spring/pom.xml --java-lib --usj-name=jetty9-spring --package=libjetty9-extra-java +jetty-websocket/pom.xml --package=libjetty9-extra-java +jetty-websocket/javax-websocket-client-impl/pom.xml --java-lib --usj-name=jetty9-websocket-client-impl --package=libjetty9-extra-java +jetty-websocket/javax-websocket-server-impl/pom.xml --java-lib --usj-name=jetty9-websocket-server-impl --package=libjetty9-extra-java +jetty-websocket/websocket-api/pom.xml --java-lib --usj-name=jetty9-websocket-api --package=libjetty9-extra-java +jetty-websocket/websocket-client/pom.xml --java-lib --usj-name=jetty9-websocket-client --package=libjetty9-extra-java +jetty-websocket/websocket-common/pom.xml --java-lib --usj-name=jetty9-websocket-common --package=libjetty9-extra-java +jetty-websocket/websocket-server/pom.xml --java-lib --usj-name=jetty9-websocket-server --package=libjetty9-extra-java +jetty-websocket/websocket-servlet/pom.xml --java-lib --usj-name=jetty9-websocket-servlet --package=libjetty9-extra-java + +# Ignored +aggregates/jetty-all/pom.xml --ignore +aggregates/jetty-websocket-all/pom.xml --ignore +examples/pom.xml --ignore +jetty-ant/pom.xml --ignore +jetty-distribution/pom.xml --ignore +jetty-http-spi/pom.xml --ignore +jetty-jspc-maven-plugin/pom.xml --ignore +jetty-jsp/pom.xml --ignore +jetty-maven-plugin/pom.xml --ignore +jetty-nosql/pom.xml --ignore +jetty-osgi/pom.xml --ignore +jetty-rhttp/jetty-rhttp-loadtest/pom.xml --ignore +jetty-runner/pom.xml --ignore +jetty-spdy/pom.xml --ignore +tests/pom.xml --ignore diff --git a/debian/maven.ignoreRules b/debian/maven.ignoreRules index 04ba6c4..cdc087d 100644 --- a/debian/maven.ignoreRules +++ b/debian/maven.ignoreRules @@ -1,23 +1,35 @@ - com.mycila.maven-license-plugin maven-license-plugin * * * * com.sun.net.httpserver http * * * * org.apache.derby derby * * * * +org.apache.geronimo.components geronimo-jaspi * * * * org.apache.maven.plugins maven-assembly-plugin * * * * org.apache.maven.plugins maven-dependency-plugin * * * * org.apache.maven.plugins maven-eclipse-plugin * * * * org.apache.maven.plugins maven-enforcer-plugin * * * * +org.apache.maven.plugins maven-javadoc-plugin * * * * org.apache.maven.plugins maven-jxr-plugin * * * * org.apache.maven.plugins maven-pmd-plugin * * * * org.apache.maven.plugins maven-release-plugin * * * * org.apache.maven.plugins maven-remote-resources-plugin * * * * org.apache.maven.plugins maven-source-plugin * * * * +org.codehaus.mojo clirr-maven-plugin * * * * +org.codehaus.mojo exec-maven-plugin * * * * org.codehaus.mojo findbugs-maven-plugin * * * * org.eclipse.equinox.http servlet * * * * org.eclipse.jetty test-jetty-servlet * * * * org.eclipse.jetty test-jetty-webapp * * * * +org.eclipse.jetty.npn npn-api * * * * org.eclipse.jetty.orbit com.sun.el * * * * org.eclipse.jetty.orbit org.apache.taglibs.standard.glassfish * * * * org.eclipse.jetty.orbit org.eclipse.jdt.core * * * * +org.eclipse.jetty.spdy spdy-http-server * * * * +org.eclipse.jetty.tests test-mock-resources * * * * +org.eclipse.jetty.tests test-sessions-common * * * * +org.eclipse.jetty.toolchain jetty-perf-helper * * * * +org.eclipse.jetty.toolchain jetty-schemas * * * * org.eclipse.jetty.toolchain jetty-test-helper * * * * org.eclipse.jetty.toolchain jetty-version-maven-plugin * * * * +org.eclipse.jetty.websocket websocket-common jar * tests * org.ops4j.pax.exam * * * * * +org.sonatype.maven.plugin emma-maven-plugin * * * * +org.sonatype.maven.plugin emma4it-maven-plugin * * * * diff --git a/debian/maven.rules b/debian/maven.rules index 1834214..63fceba 100644 --- a/debian/maven.rules +++ b/debian/maven.rules @@ -1,20 +1,21 @@ -s/asm/org.ow2.asm/ asm* * s/.*/4.x/ * * +org.ow2.asm asm* * s/.*/4.x/ * * javax.servlet jstl jar s/.*/1.1/ * * -javax.servlet.jsp jsp-api jar s/.*/2.2/ * * -javax.servlet servlet-api jar s/.*/3.0/ * * -javax.el el-api jar s/.*/2.2/ * * +javax.servlet.jsp javax.jsp-api jar s/.*/2.3/ * * +javax.servlet javax.servlet-api * s/.*/3.1/ * * +javax.el javax.el-api jar s/.*/3.0/ * * +javax.websocket javax.websocket-api jar s/.*/1.0/ * * +javax.transaction s/javax.transaction-api/transaction-api/ jar s/.*/debian/ * * +s/javax.annotation/org.apache.tomcat/ s/javax.annotation-api/tomcat-annotations-api/ * s/.*/8.x/ * * junit junit * s/4\..*/4.x/ * * org.apache.felix maven-bundle-plugin * s/.*/2.3.5/ * * -s/org.eclipse.jetty.orbit/org.ow2.asm/ s/org.objectweb.asm/asm/ jar s/.*/4.x/ * * s/org.eclipse.jetty.orbit/com.sun.mail/ s/javax.mail.glassfish/javax.mail/ jar s/.*/debian/ * * s/org.eclipse.jetty.orbit/javax.security.auth.message/ s/javax.security.auth.message/jmac-api/ jar s/.*/debian/ * * -s/org.eclipse.jetty.orbit/org.apache.geronimo.specs/ s/javax.transaction/geronimo-jta_1.1_spec/ jar s/.*/debian/ * * -s/org.eclipse.jetty.orbit/org.apache.tomcat/ s/javax.annotation/tomcat-annotations-api/ jar s/.*/debian/ * * -s/org.eclipse.jetty.orbit/javax.el/ s/javax.el/el-api/ jar s/.*/2.2/ * * -s/org.eclipse.jetty.orbit/javax.servlet/ s/javax.servlet/servlet-api/ jar s/.*/3.0/ * * -s/org.eclipse.jetty.orbit/javax.servlet.jsp/ s/javax.servlet.jsp/jsp-api/ jar s/.*/2.2/ * * -s/org.eclipse.jetty.orbit/javax.servlet/ s/javax.servlet.jsp.jstl/jstl/ jar s/.*/1.1/ * * +s/org.apache.taglibs/javax.servlet/ s/taglibs-standard-spec/jstl/ * s/.*/1.1/ * * +s/org.apache.taglibs/taglibs/ s/taglibs-standard-impl/standard/ * s/.*/debian/ * * + s/org.eclipse.jetty.orbit/org.apache.tomcat/ s/org.apache.jasper.glassfish/tomcat-jasper/ jar s/.*/debian/ * * -s/org.mortbay.jetty/javax.servlet/ servlet-api jar s/.*/3.0/ * * -org.mortbay.jetty jetty-util * s/6\..*/6.x/ * * +s/org.mortbay.jasper/org.apache.tomcat/ s/apache-jsp/tomcat-jasper/ * s/.*/8.x/ * * +org.springframework spring-beans * s/.*/3.x/ * * +org.eclipse.jetty.alpn alpn-api * s/.*/1.1.2.v20150522/ * * +org.eclipse.jetty jetty-* * s/.*/9.x/ * * diff --git a/debian/patches/maven-bundle-plugin-version.patch b/debian/patches/01-maven-bundle-plugin-version.patch similarity index 95% rename from debian/patches/maven-bundle-plugin-version.patch rename to debian/patches/01-maven-bundle-plugin-version.patch index 64b1e3c..e9d39bc 100644 --- a/debian/patches/maven-bundle-plugin-version.patch +++ b/debian/patches/01-maven-bundle-plugin-version.patch @@ -3,7 +3,7 @@ Date: Thu, 1 Mar 2012 21:32:54 +0100 Subject: maven-bundle-plugin-version --- a/pom.xml +++ b/pom.xml -@@ -282,6 +282,7 @@ +@@ -290,6 +290,7 @@ <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> diff --git a/debian/patches/02-import-alpn-api.patch b/debian/patches/02-import-alpn-api.patch new file mode 100644 index 0000000..ff4aa55 --- /dev/null +++ b/debian/patches/02-import-alpn-api.patch @@ -0,0 +1,383 @@ +Description: Add the one-class ALPN API (http://git.eclipse.org/c/jetty/org.eclipse.jetty.alpn.git) +--- /dev/null ++++ b/jetty-alpn/jetty-alpn-api/pom.xml +@@ -0,0 +1,117 @@ ++<?xml version="1.0" encoding="UTF-8"?> ++<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ++ ++ <modelVersion>4.0.0</modelVersion> ++ <groupId>org.eclipse.jetty.alpn</groupId> ++ <artifactId>alpn-api</artifactId> ++ <version>1.1.2.v20150522</version> ++ <name>Jetty :: ALPN :: API</name> ++ ++ <scm> ++ <connection>scm:git:http://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.alpn.git</connection> ++ <developerConnection>scm:git:ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.alpn.git</developerConnection> ++ <url>http://git.eclipse.org/c/jetty/org.eclipse.jetty.alpn.git/tree</url> ++ </scm> ++ ++ <properties> ++ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> ++ <bundle-name>${project.artifactId}</bundle-name> ++ <bundle-symbolic-name>org.eclipse.jetty.alpn.api</bundle-symbolic-name> ++ <bundle-doc-url>http://www.eclipse.org/jetty/documentation/current/alpn-chapter.html</bundle-doc-url> ++ </properties> ++ ++ <build> ++ <plugins> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-enforcer-plugin</artifactId> ++ <version>1.1</version> ++ <executions> ++ <execution> ++ <id>enforce-versions</id> ++ <goals> ++ <goal>enforce</goal> ++ </goals> ++ <configuration> ++ <rules> ++ <requireJavaVersion> ++ <version>[1.7-40,)</version> ++ <message>[ERROR] OLD JDK [${java.version}] in use. Jetty ${project.version} requires JDK 1.7.0_40 or newer</message> ++ </requireJavaVersion> ++ <versionOsgiRule implementation="org.eclipse.jetty.toolchain.enforcer.rules.RequireOsgiCompatibleVersionRule" /> ++ </rules> ++ </configuration> ++ </execution> ++ </executions> ++ <dependencies> ++ <dependency> ++ <groupId>org.eclipse.jetty.toolchain</groupId> ++ <artifactId>jetty-build-support</artifactId> ++ <version>1.1</version> ++ </dependency> ++ </dependencies> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-compiler-plugin</artifactId> ++ <configuration> ++ <source>1.7</source> ++ <target>1.7</target> ++ </configuration> ++ </plugin> ++ <!-- Build helper maven plugin sets the parsedVersion.osgiVersion property --> ++ <plugin> ++ <groupId>org.codehaus.mojo</groupId> ++ <artifactId>build-helper-maven-plugin</artifactId> ++ <executions> ++ <execution> ++ <id>set-osgi-version</id> ++ <phase>validate</phase> ++ <goals> ++ <goal>parse-version</goal> ++ </goals> ++ </execution> ++ </executions> ++ </plugin> ++ <plugin> ++ <groupId>org.apache.felix</groupId> ++ <artifactId>maven-bundle-plugin</artifactId> ++ <extensions>true</extensions> ++ <executions> ++ <execution> ++ <goals> ++ <goal>manifest</goal> ++ </goals> ++ <configuration> ++ <instructions> ++ <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> ++ <Bundle-RequiredExecutionEnvironment>J2SE-1.7</Bundle-RequiredExecutionEnvironment> ++ <Bundle-DocURL>${bundle-doc-url}</Bundle-DocURL> ++ <Bundle-Vendor>Eclipse Jetty Project</Bundle-Vendor> ++ <Bundle-Name>${bundle-name}</Bundle-Name> ++ <Bundle-SymbolicName>${bundle-symbolic-name}</Bundle-SymbolicName> ++ <Bundle-Copyright>Copyright (c) 2008-2015 Mort Bay Consulting Pty. Ltd.</Bundle-Copyright> ++ <Export-Package> ++ org.eclipse.jetty.alpn.*;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}" ++ </Export-Package> ++ <Import-Package>*</Import-Package> ++ <Bundle-Description>Application Layer Protocol Negotiation API</Bundle-Description> ++ </instructions> ++ </configuration> ++ </execution> ++ </executions> ++ </plugin> ++ <plugin> ++ <!-- Required for OSGI --> ++ <groupId>org.apache.maven.plugins</groupId> ++ <artifactId>maven-jar-plugin</artifactId> ++ <configuration> ++ <archive> ++ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> ++ </archive> ++ </configuration> ++ </plugin> ++ </plugins> ++ </build> ++ ++</project> +--- a/jetty-alpn/pom.xml ++++ b/jetty-alpn/pom.xml +@@ -11,6 +11,7 @@ + <description>Jetty ALPN services parent</description> + <url>http://www.eclipse.org/jetty</url> + <modules> ++ <module>jetty-alpn-api</module> + <module>jetty-alpn-server</module> + <module>jetty-alpn-client</module> + </modules> +--- /dev/null ++++ b/jetty-alpn/jetty-alpn-api/src/main/java/org/eclipse/jetty/alpn/ALPN.java +@@ -0,0 +1,249 @@ ++// ++// ======================================================================== ++// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. ++// ------------------------------------------------------------------------ ++// All rights reserved. This program and the accompanying materials ++// are made available under the terms of the Eclipse Public License v1.0 ++// and Apache License v2.0 which accompanies this distribution. ++// ++// The Eclipse Public License is available at ++// http://www.eclipse.org/legal/epl-v10.html ++// ++// The Apache License v2.0 is available at ++// http://www.opensource.org/licenses/apache2.0.php ++// ++// You may elect to redistribute this code under either of these licenses. ++// ======================================================================== ++// ++ ++package org.eclipse.jetty.alpn; ++ ++import java.util.List; ++import java.util.Map; ++import java.util.concurrent.ConcurrentHashMap; ++ ++import javax.net.ssl.SSLEngine; ++import javax.net.ssl.SSLException; ++import javax.net.ssl.SSLSocket; ++ ++/** ++ * <p>{@link ALPN} provides an API to applications that want to make use of the ++ * <a href="http://tools.ietf.org/html/rfc7301">Application Layer Protocol Negotiation</a>.</p> ++ * <p>The ALPN extension is only available when using the TLS protocol, therefore applications must ++ * ensure that the TLS protocol is used:</p> ++ * <pre> ++ * SSLContext context = SSLContext.getInstance("TLSv1"); ++ * </pre> ++ * <p>Refer to the ++ * <a href="http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SSLContext">list ++ * of standard SSLContext protocol names</a> for further information on TLS protocol versions supported.</p> ++ * <p>Applications must register instances of either {@link SSLSocket} or {@link SSLEngine} with a ++ * {@link ClientProvider} or with a {@link ServerProvider}, depending whether they are on client or ++ * server side.</p> ++ * <p>The ALPN implementation will invoke the provider callbacks to allow applications to interact ++ * with the negotiation of the protocol.</p> ++ * <p>Client side typical usage:</p> ++ * <pre> ++ * final SSLSocket sslSocket = ...; ++ * ALPN.put(sslSocket, new ALPN.ClientProvider() ++ * { ++ * @Override ++ * public List<String> protocols() ++ * { ++ * return Arrays.asList("spdy/3", "http/1.1"); ++ * } ++ * ++ * @Override ++ * public void unsupported() ++ * { ++ * ALPN.remove(sslSocket); ++ * } ++ * ++ * @Override ++ * public void selected(String protocol) throws SSLException ++ * { ++ * System.out.println("Selected protocol: " + protocol); ++ * ALPN.remove(sslSocket); ++ * } ++ * }); ++ * </pre> ++ * <p>Server side typical usage:</p> ++ * <pre> ++ * final SSLSocket sslSocket = ...; ++ * ALPN.put(sslSocket, new ALPN.ServerProvider() ++ * { ++ * @Override ++ * public void unsupported() ++ * { ++ * ALPN.remove(sslSocket); ++ * } ++ * ++ * @Override ++ * public String select(List<String> protocols) throws SSLException ++ * { ++ * ALPN.remove(sslSocket); ++ * return protocols.get(0); ++ * } ++ * }); ++ * </pre> ++ * <p>Applications must ensure to deregister {@link SSLSocket} or {@link SSLEngine} instances, ++ * because they are kept in a JVM global map. ++ * Deregistration should typically happen when the application detects the end of the protocol ++ * negotiation, and/or when the associated socket connection is closed.</p> ++ * <p>In order to help application development, you can set the {@link ALPN#debug} field ++ * to {@code true} to have debug code printed to {@link System#err}.</p> ++ */ ++public class ALPN ++{ ++ /** ++ * Flag that enables printing of debug statements to {@link System#err}. ++ */ ++ public static boolean debug = false; ++ ++ private static Map<Object, Provider> objects = new ConcurrentHashMap<>(); ++ ++ private ALPN() ++ { ++ } ++ ++ /** ++ * Registers a SSLSocket with a provider. ++ * ++ * @param socket the socket to register with the provider ++ * @param provider the provider to register with the socket ++ * @see #remove(SSLSocket) ++ */ ++ public static void put(SSLSocket socket, Provider provider) ++ { ++ objects.put(socket, provider); ++ } ++ ++ /** ++ * @param socket a socket registered with {@link #put(SSLSocket, Provider)} ++ * @return the provider registered with the given socket ++ */ ++ public static Provider get(SSLSocket socket) ++ { ++ return objects.get(socket); ++ } ++ ++ /** ++ * Unregisters the given SSLSocket. ++ * ++ * @param socket the socket to unregister ++ * @return the provider registered with the socket ++ * @see #put(SSLSocket, Provider) ++ */ ++ public static Provider remove(SSLSocket socket) ++ { ++ return objects.remove(socket); ++ } ++ ++ /** ++ * Registers a SSLEngine with a provider. ++ * ++ * @param engine the engine to register with the provider ++ * @param provider the provider to register with the engine ++ * @see #remove(SSLEngine) ++ */ ++ public static void put(SSLEngine engine, Provider provider) ++ { ++ objects.put(engine, provider); ++ } ++ ++ /** ++ * @param engine an engine registered with {@link #put(SSLEngine, Provider)} ++ * @return the provider registered with the given engine ++ */ ++ public static Provider get(SSLEngine engine) ++ { ++ return objects.get(engine); ++ } ++ ++ /** ++ * Unregisters the given SSLEngine. ++ * ++ * @param engine the engine to unregister ++ * @return the provider registered with the engine ++ * @see #put(SSLEngine, Provider) ++ */ ++ public static Provider remove(SSLEngine engine) ++ { ++ return objects.remove(engine); ++ } ++ ++ /** ++ * Base, empty, interface for providers. ++ */ ++ public interface Provider ++ { ++ } ++ ++ /** ++ * The client-side provider interface that applications must ++ * implement to interact with the negotiation of the protocol. ++ */ ++ public interface ClientProvider extends Provider ++ { ++ /** ++ * <p>Callback invoked to let the implementation know the list ++ * of protocols that should be added to the ALPN extension in ++ * a ClientHello TLS message.</p> ++ * ++ * @return the list of protocols supported by the client; ++ * if {@code null} or empty, the ALPN extension is not sent ++ */ ++ public List<String> protocols(); ++ ++ /** ++ * Callback invoked to let the client application know that ++ * the server does not support ALPN. ++ */ ++ public void unsupported(); ++ ++ /** ++ * <p>Callback invoked to let the client application know ++ * the protocol chosen by the server.</p> ++ * <p>The implementation may throw an exception to indicate ++ * that the protocol selected by the server is not acceptable, ++ * causing the connection to be closed with a TLS alert of ++ * type {@code no_application_protocol(120)}.</p> ++ * ++ * @param protocol the protocol selected by the server. ++ * @throws SSLException if the protocol negotiation failed. ++ */ ++ public void selected(String protocol) throws SSLException; ++ } ++ ++ /** ++ * The server-side provider interface that applications must ++ * implement to interact with the negotiation of the protocol. ++ */ ++ public interface ServerProvider extends Provider ++ { ++ /** ++ * Callback invoked to let the server application know that ++ * the client does not support ALPN. ++ */ ++ public void unsupported(); ++ ++ /** ++ * <p>Callback invoked to let the server application select ++ * a protocol among the ones sent by the client.</p> ++ * <p>The implementation may throw an exception to indicate ++ * that the protocol negotiation is not possible, ++ * causing the connection to be closed with a TLS alert of ++ * type {@code no_application_protocol(120)}.</p> ++ * ++ * @param protocols the protocols sent by the client. ++ * @return the protocol selected by the server application. ++ * A {@code null} value will indicate the server will not ++ * include the {@code ALPN extension} message in the {@code ServerHello} ++ * message. This means the server appears as though it doesn't support ++ * ALPN and lets the client decide how to handle the situation. ++ * @throws SSLException if the protocol negotiation failed. ++ */ ++ public String select(List<String> protocols) throws SSLException; ++ } ++} ++ diff --git a/debian/patches/03-update-parent-pom-version.patch b/debian/patches/03-update-parent-pom-version.patch new file mode 100644 index 0000000..d1693fa --- /dev/null +++ b/debian/patches/03-update-parent-pom-version.patch @@ -0,0 +1,58 @@ +Description: Update the version of the parent pom in the modules to match the version currently packaged +Author: Emmanuel Bourg <[email protected]> +Forwarded: no +--- a/jetty-overlay-deployer/pom.xml ++++ b/jetty-overlay-deployer/pom.xml +@@ -2,7 +2,7 @@ + <parent> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-project</artifactId> +- <version>9.1.0-SNAPSHOT</version> ++ <version>9.2.14.v20151106</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <artifactId>jetty-overlay-deployer</artifactId> +--- a/jetty-rhttp/pom.xml ++++ b/jetty-rhttp/pom.xml +@@ -2,7 +2,7 @@ + <parent> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-project</artifactId> +- <version>9.0.0-SNAPSHOT</version> ++ <version>9.2.14.v20151106</version> + </parent> + + <modelVersion>4.0.0</modelVersion> +--- a/jetty-rhttp/jetty-rhttp-client/pom.xml ++++ b/jetty-rhttp/jetty-rhttp-client/pom.xml +@@ -3,7 +3,7 @@ + <parent> + <groupId>org.eclipse.jetty.rhttp</groupId> + <artifactId>jetty-rhttp-project</artifactId> +- <version>9.0.0-SNAPSHOT</version> ++ <version>9.2.14.v20151106</version> + </parent> + + <modelVersion>4.0.0</modelVersion> +--- a/jetty-rhttp/jetty-rhttp-gateway/pom.xml ++++ b/jetty-rhttp/jetty-rhttp-gateway/pom.xml +@@ -3,7 +3,7 @@ + <parent> + <groupId>org.eclipse.jetty.rhttp</groupId> + <artifactId>jetty-rhttp-project</artifactId> +- <version>9.0.0-SNAPSHOT</version> ++ <version>9.2.14.v20151106</version> + </parent> + + <modelVersion>4.0.0</modelVersion> +--- a/jetty-rhttp/jetty-rhttp-connector/pom.xml ++++ b/jetty-rhttp/jetty-rhttp-connector/pom.xml +@@ -3,7 +3,7 @@ + <parent> + <groupId>org.eclipse.jetty.rhttp</groupId> + <artifactId>jetty-rhttp-project</artifactId> +- <version>9.0.0-SNAPSHOT</version> ++ <version>9.2.14.v20151106</version> + </parent> + + <modelVersion>4.0.0</modelVersion> diff --git a/debian/patches/04-weksocket-1.1-compatibility.patch b/debian/patches/04-weksocket-1.1-compatibility.patch new file mode 100644 index 0000000..ef82ec0 --- /dev/null +++ b/debian/patches/04-weksocket-1.1-compatibility.patch @@ -0,0 +1,24 @@ +Description: Fix the compatibility with the websocket api 1.1 +Author: Emmanuel Bourg <[email protected]> +Forwarded: no +--- a/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/JsrSession.java ++++ b/jetty-websocket/javax-websocket-client-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/JsrSession.java +@@ -143,6 +143,18 @@ + } + + @Override ++ public <T> void addMessageHandler(Class<T> clazz, MessageHandler.Partial<T> handler) throws IllegalStateException ++ { ++ throw new UnsupportedOperationException(); ++ } ++ ++ @Override ++ public <T> void addMessageHandler(Class<T> clazz, MessageHandler.Whole<T> handler) throws IllegalStateException ++ { ++ throw new UnsupportedOperationException(); ++ } ++ ++ @Override + public void close(CloseReason closeReason) throws IOException + { + close(closeReason.getCloseCode().getCode(),closeReason.getReasonPhrase()); diff --git a/debian/patches/series b/debian/patches/series index f49b3d2..3698a31 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,4 @@ -maven-bundle-plugin-version.patch +01-maven-bundle-plugin-version.patch +02-import-alpn-api.patch +03-update-parent-pom-version.patch +04-weksocket-1.1-compatibility.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jetty9.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

