[jetty9] 118/135: Build the new version
Emmanuel Bourg
ebourg-guest at moszumanska.debian.org
Thu Dec 17 14:53:20 UTC 2015
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 <ebourg at apache.org>
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 <pkg-java-maintainers at lists.alioth.debian.org>
-Uploaders: Jakub Adam <jakub.adam at ktknet.cz>, Emmanuel Bourg <ebourg at apache.org>
+Uploaders: Emmanuel Bourg <ebourg at apache.org>
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 <ebourg at apache.org>
+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 <ebourg at apache.org>
+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
More information about the pkg-java-commits
mailing list