[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