diff --git a/Jenkinsfile b/Jenkinsfile index 0d9b2c54a3d..bfbf28a8a79 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,62 +14,63 @@ pipeline { mavenBuild("jdk11", "-Pmongodb install", "maven3", true) // -Pautobahn // Collect up the jacoco execution results (only on main build) jacoco inclusionPattern: '**/org/eclipse/jetty/**/*.class', - exclusionPattern: '' + - // build tools - '**/org/eclipse/jetty/ant/**' + - ',**/org/eclipse/jetty/maven/**' + - ',**/org/eclipse/jetty/jspc/**' + - // example code / documentation - ',**/org/eclipse/jetty/embedded/**' + - ',**/org/eclipse/jetty/asyncrest/**' + - ',**/org/eclipse/jetty/demo/**' + - // special environments / late integrations - ',**/org/eclipse/jetty/gcloud/**' + - ',**/org/eclipse/jetty/infinispan/**' + - ',**/org/eclipse/jetty/osgi/**' + - ',**/org/eclipse/jetty/spring/**' + - ',**/org/eclipse/jetty/http/spi/**' + - // test classes - ',**/org/eclipse/jetty/tests/**' + - ',**/org/eclipse/jetty/test/**', - execPattern: '**/target/jacoco.exec', - classPattern: '**/target/classes', - sourcePattern: '**/src/main/java' + exclusionPattern: '' + + // build tools + '**/org/eclipse/jetty/ant/**' + + ',**/org/eclipse/jetty/maven/**' + + ',**/org/eclipse/jetty/jspc/**' + + // example code / documentation + ',**/org/eclipse/jetty/embedded/**' + + ',**/org/eclipse/jetty/asyncrest/**' + + ',**/org/eclipse/jetty/demo/**' + + // special environments / late integrations + ',**/org/eclipse/jetty/gcloud/**' + + ',**/org/eclipse/jetty/infinispan/**' + + ',**/org/eclipse/jetty/osgi/**' + + ',**/org/eclipse/jetty/spring/**' + + ',**/org/eclipse/jetty/http/spi/**' + + // test classes + ',**/org/eclipse/jetty/tests/**' + + ',**/org/eclipse/jetty/test/**', + execPattern: '**/target/jacoco.exec', + classPattern: '**/target/classes', + sourcePattern: '**/src/main/java' warnings consoleParsers: [[parserName: 'Maven'], [parserName: 'Java']] junit testResults: '**/target/surefire-reports/*.xml,**/target/invoker-reports/TEST*.xml,**/target/autobahntestsuite-reports/*.xml' } } - + stage("Build / Test - JDK12") { agent { node { label 'linux' } } - options { timeout(time: 120, unit: 'MINUTES') } steps { - mavenBuild("jdk12", "-Pmongodb install", "maven3", true) - warnings consoleParsers: [[parserName: 'Maven'], [parserName: 'Java']] - junit testResults: '**/target/surefire-reports/*.xml,**/target/invoker-reports/TEST*.xml' + timeout(time: 120, unit: 'MINUTES') { + mavenBuild("jdk12", "-Pmongodb install", "maven3", true) + warnings consoleParsers: [[parserName: 'Maven'], [parserName: 'Java']] + junit testResults: '**/target/surefire-reports/*.xml,**/target/invoker-reports/TEST*.xml' + } } } stage("Build Javadoc") { agent { node { label 'linux' } } - options { timeout(time: 30, unit: 'MINUTES') } steps { - mavenBuild("jdk11", "install javadoc:javadoc -DskipTests", "maven3", true) - warnings consoleParsers: [[parserName: 'Maven'], [parserName: 'JavaDoc'], [parserName: 'Java']] + timeout(time: 30, unit: 'MINUTES') { + mavenBuild("jdk11", "install javadoc:javadoc -DskipTests", "maven3", true) + warnings consoleParsers: [[parserName: 'Maven'], [parserName: 'JavaDoc'], [parserName: 'Java']] + } } } stage("Checkstyle ") { agent { node { label 'linux' } } - options { timeout(time: 30, unit: 'MINUTES') } steps { - mavenBuild("jdk11", "install -DskipTests", "maven3", true) - mavenBuild("jdk11", "install -f build-resources", "maven3", true) - mavenBuild("jdk11", "install checkstyle:check -DskipTests", "maven3", true) - recordIssues( - enabledForFailure: true, aggregatingResults: true, - tools: [java(), checkStyle(pattern: '**/target/checkstyle-result.xml', reportEncoding: 'UTF-8')] - ) + timeout(time: 30, unit: 'MINUTES') { + mavenBuild("jdk11", "install -f build-resources", "maven3", true) + mavenBuild("jdk11", "install checkstyle:check -DskipTests", "maven3", true) + recordIssues( + enabledForFailure: true, aggregatingResults: true, + tools: [java(), checkStyle(pattern: '**/target/checkstyle-result.xml', reportEncoding: 'UTF-8')]) + } } } } @@ -88,28 +89,24 @@ pipeline { } } - def slackNotif() { - script { - try - { - if ( env.BRANCH_NAME == 'jetty-10.0.x' || env.BRANCH_NAME == 'jetty-9.4.x' ) - { - //BUILD_USER = currentBuild.rawBuild.getCause(Cause.UserIdCause).getUserId() - // by ${BUILD_USER} - COLOR_MAP = ['SUCCESS': 'good', 'FAILURE': 'danger', 'UNSTABLE': 'danger', 'ABORTED': 'danger'] - slackSend channel: '#jenkins', - color: COLOR_MAP[currentBuild.currentResult], - message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} - ${env.BUILD_URL}" - } - } catch (Exception e) { - e.printStackTrace() - echo "skip failure slack notification: " + e.getMessage() + script { + try { + if (env.BRANCH_NAME == 'jetty-10.0.x' || env.BRANCH_NAME == 'jetty-9.4.x') { + //BUILD_USER = currentBuild.rawBuild.getCause(Cause.UserIdCause).getUserId() + // by ${BUILD_USER} + COLOR_MAP = ['SUCCESS': 'good', 'FAILURE': 'danger', 'UNSTABLE': 'danger', 'ABORTED': 'danger'] + slackSend channel: '#jenkins', + color: COLOR_MAP[currentBuild.currentResult], + message: "*${currentBuild.currentResult}:* Job ${env.JOB_NAME} build ${env.BUILD_NUMBER} - ${env.BUILD_URL}" } + } catch (Exception e) { + e.printStackTrace() + echo "skip failure slack notification: " + e.getMessage() } + } } - /** * To other developers, if you are using this method above, please use the following syntax. * @@ -125,15 +122,16 @@ def mavenBuild(jdk, cmdline, mvnName, junitPublishDisabled) { def mavenOpts = '-Xms1g -Xmx4g -Djava.awt.headless=true' withMaven( - maven: mvnName, - jdk: "$jdk", - publisherStrategy: 'EXPLICIT', - options: [junitPublisher(disabled: junitPublishDisabled),mavenLinkerPublisher(disabled: false),pipelineGraphPublisher(disabled: false)], - mavenOpts: mavenOpts, - mavenLocalRepo: localRepo) { + maven: mvnName, + jdk: "$jdk", + publisherStrategy: 'EXPLICIT', + options: [junitPublisher(disabled: junitPublishDisabled), mavenLinkerPublisher(disabled: false), pipelineGraphPublisher(disabled: false)], + mavenOpts: mavenOpts, + mavenLocalRepo: localRepo) { // Some common Maven command line + provided command line sh "mvn -Pci -V -B -T3 -e -fae -Dmaven.test.failure.ignore=true -Djetty.testtracker.log=true $cmdline -Dunix.socket.tmp=" + env.JENKINS_HOME } } + // vim: et:ts=2:sw=2:ft=groovy diff --git a/KEYS.txt b/KEYS.txt index acf04a8cc33..73b9fb49a4e 100644 --- a/KEYS.txt +++ b/KEYS.txt @@ -2,6 +2,6 @@ Jan Bartel AED5 EE6C 45D0 FE8D 5D1B 164F 27DE D4BF 6216 DB8F Jesse McConnell 2A68 4B57 436A 81FA 8706 B53C 61C3 351A 438A 3B7D Joakim Erdfelt 5989 BAF7 6217 B843 D66B E55B 2D0E 1FB8 FE4B 68B4 -Joakim Erdfelt B59B 67FD 7904 9843 67F9 3180 0818 D9D6 8FB6 7BAC +Joakim Erdfelt B59B 67FD 7904 9843 67F9 3180 0818 D9D6 8FB6 7BAC Joakim Erdfelt BFBB 21C2 46D7 7768 3628 7A48 A04E 0C74 ABB3 5FEA Simone Bordet 8B09 6546 B1A8 F026 56B1 5D3B 1677 D141 BCF3 584D diff --git a/VERSION.txt b/VERSION.txt index 8f50d35d1be..84b55cbe58f 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -77,8 +77,9 @@ jetty-10.0.0-alpha0 - 11 July 2019 + 2061 WebSocket hangs in blockingWrite + 2075 Deprecating MultiException + 2095 Remove FastCGI multiplexing - + 2103 Server should open connectors early in start sequence + + 2103 Server should open connectors early in start sequence + 2108 Update licence headers and plugin for 2018 + + 2140 Infinispan and hazelcast changes to scavenge zombie expired sessions. + 2172 Support javax.websocket 1.1 + 2175 Refactor WebSocket close handling + 2191 JPMS Support @@ -191,8 +192,51 @@ jetty-10.0.0-alpha0 - 11 July 2019 + 3840 Byte-range request performance problems with large files + 3849 ClosedChannelException from jetty-test-webapp javax websocket chat example - + 467246 null - + jetty-10 null + +jetty-9.4.20.v20190813 - 13 August 2019 + + 300 Implement Deflater / Inflater Object Pool + + 2061 WebSocket hangs in blockingWrite + + 3601 HTTP2 stall on reset streams + + 3648 javax.websocket client container incorrectly creates Server + SslContextFactory + + 3698 Missing WebSocket ServerContainer after server restart + + 3700 stackoverflow in WebAppClassLoaderUrlStreamTest + + 3708 Swap various java.lang.String replace() methods for better performant + ones + + 3731 Add testing of CDI behaviors + + 3736 NPE from WebAppClassLoader during CDI + + 3746 ClassCastException in WriteFlusher.java - IdleState cannot be cast to + FailedState + + 3749 Memory leak while processing AsyncListener annotations + + 3755 ServerWithAnnotations doesn't do anything + + 3758 Avoid sending empty trailer frames for http/2 requests + + 3782 X-Forwarded-Port overrides X-Forwarded-For + + 3786 ALPN support for Java 14 + + 3798 ClasspathPattern match method throws NPE. URI can be null + + 3799 Programmatically added listeners from + ServletContextListener.contextInitialzed() are not called + + 3804 Weld/CDI XML backwards compat + + 3805 XmlConfiguration odd behavior for numbers + + 3806 The error page handler didn't process correctly in proxy + + 3815 PropertyFileLoginModule adds user principle as a role + + 3822 trustAll will not work on some servers + + 3829 Avoid sending empty trailer frames for http/2 responses + + 3835 WebSocketSession are not being stopped properly + + 3840 Byte-range request performance problems with large files + + 3856 Different behaviour with maxFormContentSize=0 if Content-Length header + is present/missing + + 3876 WebSocketPartialListener is only called for initial frames, not for + continuation frames + + 3884 @WebSocket without @OnWebSocketMessage handler fails when receiving a + continuation frame + + 3888 BufferUtil.toBuffer(Resource resource,boolean direct) does not like + large (4G+) Resources + + 3906 Fix for #3840 breaks Path encapsulation in PathResource + + 3929 Deadlock between new HTTP2Connection() and Server.stop() + + 3940 Double initialization of Log + + 3957 CustomRequestLog bad usage of MethodHandles.lookup() + + 3960 Fix HttpConfiguration copy constructor + + 3969 X-Forwarded-Port header customization isn't possible jetty-9.4.19.v20190610 - 10 June 2019 + 2909 Remove B64Code @@ -246,6 +290,7 @@ jetty-9.4.18.v20190429 - 29 April 2019 + 3609 Fix infinispan start module dependencies jetty-9.4.17.v20190418 - 18 April 2019 + + 2140 Infinispan and hazelcast changes to scavenge zombie expired sessions. + 3464 Split SslContextFactory into Client and Server + 3549 Directory Listing on Windows reveals Resource Base path + 3555 DefaultHandler Reveals Base Resource Path of each Context diff --git a/build-resources/jetty-codestyle-eclipse-ide.xml b/build-resources/jetty-codestyle-eclipse-ide.xml index d3960f495f0..be0cefb9e8a 100644 --- a/build-resources/jetty-codestyle-eclipse-ide.xml +++ b/build-resources/jetty-codestyle-eclipse-ide.xml @@ -347,7 +347,7 @@ - + diff --git a/build-resources/jetty-codestyle-intellij.xml b/build-resources/jetty-codestyle-intellij.xml index 1f276e4f415..131dcd75a29 100644 --- a/build-resources/jetty-codestyle-intellij.xml +++ b/build-resources/jetty-codestyle-intellij.xml @@ -1,4 +1,4 @@ - +