Skip to content

Commit

Permalink
Merge branch 'jetty-12.0.x' into jetty-12.0.x
Browse files Browse the repository at this point in the history
  • Loading branch information
shaoxt authored Oct 29, 2024
2 parents a3f25e9 + cccfd20 commit 3be5004
Show file tree
Hide file tree
Showing 1,832 changed files with 44,755 additions and 41,931 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Jetty Security Reports
url: https://eclipse.dev/jetty/security_reports.php
url: https://jetty.org/security.html
about: Please raise security issues here.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/enhancement-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ labels: Enhancement
---

**Jetty version(s)**
_[Jetty 9.x is now at End of Community Support](https://github.com/eclipse/jetty.project/issues/7958)_
_[Jetty 9.x is now at End of Community Support](https://github.com/jetty/jetty.project/issues/7958)_

**Enhancement Description**

4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/issue-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ labels: Bug
---

**Jetty version(s)**
<!--[Jetty 9.x is now at End of Community Support](https://github.com/eclipse/jetty.project/issues/7958) -->
<!--[Jetty 9.x is now at End of Community Support](https://github.com/jetty/jetty.project/issues/7958) -->

**Jetty Environment**
<!-- Applicable for jetty-12 only, choose: core, ee8, ee9, ee10 -->
Expand All @@ -18,7 +18,7 @@ labels: Bug
**OS type/version**

**Description**
<!-- Do not report security issues here! See [Jetty Security Reports](https://eclipse.dev/jetty/security_reports.php) -->
<!-- Do not report security issues here! See [Jetty Security Reports](https://jetty.org/security.html) -->

**How to reproduce?**

Expand Down
36 changes: 19 additions & 17 deletions .github/ISSUE_TEMPLATE/release-template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: 'Release Process'
about: 'COMMITTER ONLY: Managing the Jetty release process'
title: 'Jetty Releases 9.4.x, 10.0.y, 11.0.y'
title: 'Jetty Releases 9.4.x, 10.0.y, 11.0.y, 12.0.y'
assignees: ''
labels: Build

Expand All @@ -16,53 +16,55 @@ This release process will produce releases:
- [x] Create the release(s) issue.
- [ ] Update the target Jetty version(s) in the issue.
- [ ] Update the target release date in the issue.
- [ ] Link this issue to the target [GitHub Project(s)](https://github.com/eclipse/jetty.project/projects).
- [ ] Link this issue to the target [GitHub Project(s)](https://github.com/jetty/jetty.project/projects).
- [ ] Assign this issue to a "release manager".
- [ ] Review [draft security advisories](https://github.com/eclipse/jetty.project/security/advisories). Ensure that issues are created and assigned to GitHub Projects to capture any advisories that will be announced.
- [ ] Update [GitHub Project(s)](https://github.com/eclipse/jetty.project/projects)
- [ ] Review [draft security advisories](https://github.com/jetty/jetty.project/security/advisories). Ensure that issues are created and assigned to GitHub Projects to capture any advisories that will be announced.
- [ ] Update [GitHub Project(s)](https://github.com/jetty/jetty.project/projects)
+ [ ] Create new project for the next releases (not this release).
+ [ ] Ensure new project is public (not private)
+ [ ] Freeze the target [GitHub Project(s)](https://github.com/eclipse/jetty.project/projects) by editing their names to "Jetty X.Y.Z FROZEN"
+ [ ] Review the issues/PRs assigned to the target [GitHub Project(s)](https://github.com/eclipse/jetty.project/projects). Any tasks that are not-yet-started are moved to next releases.
- [ ] Review dependabot status. [Manually](https://github.com/eclipse/jetty.project/network/updates) run dependabot if needed and review resulting PRs for inclusion.
+ [ ] Freeze the target [GitHub Project(s)](https://github.com/jetty/jetty.project/projects) by editing their names to "Jetty X.Y.Z FROZEN"
+ [ ] Review the issues/PRs assigned to the target [GitHub Project(s)](https://github.com/jetty/jetty.project/projects). Any tasks that are not-yet-started are moved to next releases.
- [ ] Review dependabot status. [Manually](https://github.com/jetty/jetty.project/network/updates) run dependabot if needed and review resulting PRs for inclusion.
Such updates should only be included in the week before a release if there is a compelling security or stability reason to do so.
- [ ] Wait 24 hours from last change to the issues/PRs included in FROZEN GitHub Project(s).
- [ ] Verify target [project(s)](https://github.com/eclipse/jetty.project/projects) are complete.
- [ ] Verify target [project(s)](https://github.com/jetty/jetty.project/projects) are complete.
- [ ] Verify that branch `jetty-10.0.x` is merged to branch `jetty-11.0.x`.
- [ ] Assign issue to "build manager", who will stage the releases.
+ [ ] Create and use branches `release/<ver>` to perform version specific release work from.
+ [ ] Ensure `git fetch --tags` (as we potentially rewrite tag when re staging local tag can be out of sync and this command will fail and so fail the release script)
+ [ ] Ensure `VERSION.txt` additions for each release will be meaningful, descriptive, correct text.
+ [ ] Stage 9.4 release with Java 11.
+ [ ] Stage 10 release with Java 21.
+ [ ] Stage 11 release with Java 21.
+ [ ] Push release branches `release/<ver>` to to https://github.com/eclipse/jetty.project
+ [ ] Push release tags `jetty-<ver>` to https://github.com/eclipse/jetty.project
+ [ ] Edit a draft release (for each Jetty release) in GitHub (https://github.com/eclipse/jetty.project/releases). Content is generated with the "changelog tool".
+ [ ] Stage 12 release with Java 22.
+ [ ] Push release branches `release/<ver>` to to https://github.com/jetty/jetty.project
+ [ ] Push release tags `jetty-<ver>` to https://github.com/jetty/jetty.project
+ [ ] Edit a draft release (for each Jetty release) in GitHub (https://github.com/jetty/jetty.project/releases). Content is generated with the "changelog tool".
- [ ] Assign issue to "test manager", who will oversee the testing of the staged releases.
+ [ ] Test [CometD](https://github.com/cometd/cometd).
+ [ ] Test [Reactive HttpClient](https://github.com/jetty-project/jetty-reactive-httpclient).
+ [ ] Test [Load Generator](https://github.com/jetty-project/jetty-load-generator).
+ [ ] Test [Jetty Docker images](https://github.com/eclipse/jetty.docker).
+ [ ] Test [Jetty Docker images](https://github.com/jetty/jetty.docker).
+ [ ] Test other [Jetty OSS integrations](https://jenkins.webtide.net/job/external_oss).
+ [ ] Check [TCK CI](https://jenkins.webtide.net/job/tck).
+ [ ] Test sponsored integrations.
+ [ ] Check CI for performance regressions.
+ [ ] Notify interested parties and invite testing of the staged release(s).
+ [ ] Assign issue back to "release manager".
- [ ] Collect release votes from committers.
- [ ] Promote staged releases.
- [ ] Merge release branches back to main branches and delete release branches.
- [ ] Verify release existence in Maven Central by triggering the Jenkins builds of CometD.
- [ ] Update Jetty versions on the website ( follow instructions in [jetty-website](https://github.com/eclipse/jetty-website/blob/master/README.md) ).
+ [ ] Update (or check) [Download](https://eclipse.dev/jetty/download.php) page is updated.
- [ ] Update Jetty versions on the website ( follow instructions in [jetty-website](https://github.com/jetty/jetty.website/blob/main/README.adoc) ).
+ [ ] Update (or check) [Download](https://jetty.org/download.html) page is updated.
+ [ ] Update (or check) documentation page(s) are updated.
- [ ] Publish GitHub Releases.
- [ ] Prepare release announcement for mailing lists.
- [ ] Publish any [security advisories](https://github.com/eclipse/jetty.project/security/advisories).
- [ ] Send release announcement to mailing lists ([@jetty-announce](https://accounts.eclipse.org/mailing-list/jetty-announce), [@jetty-dev](https://accounts.eclipse.org/mailing-list/jetty-dev), and [@jetty-users](https://accounts.eclipse.org/mailing-list/jetty-users))
- [ ] Publish any [security advisories](https://github.com/jetty/jetty.project/security/advisories).
+ [ ] Edit `VERSION.txt` to include any actual CVE number next to correspondent issue.
+ [ ] Edit any issues for CVEs in github with their CVE number
- [ ] Upgrade versions in SDKMAN. [Example PR](https://github.com/sdkman/sdkman-db-migrations/pull/711)
- [ ] Notify downstream maintainers.
+ [ ] Eclipse p2 maintainer.
+ [ ] Docker maintainer.
+ [ ] Jenkins maintainer.
+ [ ] Other maintainers.
1 change: 1 addition & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ updates:
versions: [ ">=12" ]
- dependency-name: "com.hazelcast:*"
- dependency-name: "org.apache.directory*"
- dependency-name: "org.apache.maven.plugin-tools:*"
- dependency-name: "org.apache.felix:*"
versions: [ ">=4" ]
- dependency-name: "org.jboss.weld.servlet:*"
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,5 @@ bin/

# reports
reports/

.launchable
20 changes: 14 additions & 6 deletions .mvn/maven-build-cache-config.xml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
<cache xmlns="http://maven.apache.org/BUILD-CACHE-CONFIG/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/BUILD-CACHE-CONFIG/1.0.0 https://maven.apache.org/xsd/build-cache-config-1.0.0.xsd">
<cache xmlns="https://maven.apache.org/BUILD-CACHE-CONFIG/1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://maven.apache.org/BUILD-CACHE-CONFIG/1.2.0 https://maven.apache.org/xsd/build-cache-config-1.2.0.xsd">
<configuration>
<hashAlgorithm>XXMM</hashAlgorithm>
<enabled>true</enabled>
<!-- activated via cli -->
<!-- to disable it just use -Dmaven.build.cache.enabled=false -->
<!--
-Dmaven.build.cache.remote.url=dav:http://nginx-cache-service.jenkins.svc.cluster.local:80 -Dmaven.build.cache.remote.enabled=true
-Dmaven.build.cache.remote.save.enabled=true -Dmaven.build.cache.remote.server.id=remote-build-cache-server
-Dmaven.build.cache.remote.url=http://nexus-service.nexus.svc.cluster.local:8081/repository/maven-build-cache -Dmaven.build.cache.remote.enabled=true
-Dmaven.build.cache.remote.save.enabled=true -Dmaven.build.cache.remote.server.id=nexus-cred
-->
<!-- <remote enabled="true" saveToRemote="true" id="remote-build-cache-server">-->
<!-- <url>dav:http://nginx-cache-service.jenkins.svc.cluster.local:80</url>-->
<!-- <remote enabled="true" saveToRemote="true" id="nexus-cred">-->
<!-- <url>http://nexus-service.nexus.svc.cluster.local:8081/repository/maven-build-cache</url>-->
<!-- </remote>-->
<multiModule>
<discovery>
Expand All @@ -19,10 +19,18 @@
</scanProfiles>
</discovery>
</multiModule>
<attachedOutputs>
<dirNames>
<dirName>jetty-home</dirName>
</dirNames>
</attachedOutputs>
</configuration>
<input>
<global>
<glob>{*.java,*.xml,*.properties,*.mod,*.adoc}</glob>
<includes>
<include glob="{*.xml,*.properties,*.jsp,*.css}">src/main/webapp</include>
</includes>
<excludes>
<exclude glob="*Jenkinsfile*" />
<exclude glob="./idea/*" />
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Contributing to Jetty

Contributions are always welcome!
Please see our [Contribution Guide](https://eclipse.dev/jetty/documentation/contribution-guide/index.html) for instructions on how to set up your development environment, as well as information on our processes and coding standards.
Please see our [Contribution Guide](https://jetty.org/docs/contribution-guide/index.html) for instructions on how to set up your development environment, as well as information on our processes and coding standards.

Here are some quick links to other useful resources:

* [**Source code.**](https://github.com/jetty/jetty.project) Jetty's canonical git repository is located on GitHub at https://github.com/jetty/jetty.project.

* [**Mailing list.**](https://accounts.eclipse.org/mailing-list/jetty-users) The [`jetty-users@eclipse.org`](mailto:jetty-users@eclipse.org) mailing list is a forum for technical discussion.

* [**Issue tracking.**](https://github.com/jetty/jetty.project/issues) We use [GitHub Issues](https://github.com/eclipse/jetty.project/issues) to track ongoing development and issues.
* [**Issue tracking.**](https://github.com/jetty/jetty.project/issues) We use [GitHub Issues](https://github.com/jetty/jetty.project/issues) to track ongoing development and issues.


## Eclipse Contributor Agreement
Expand Down
63 changes: 55 additions & 8 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ pipeline {
buildDiscarder logRotator( numToKeepStr: '60' )
disableRestartFromStage()
}
environment {
LAUNCHABLE_TOKEN = credentials('launchable-token')
}
stages {
stage("Parallel Stage") {
parallel {
Expand All @@ -25,13 +28,13 @@ pipeline {
}
}

stage("Build / Test - JDK22") {
stage("Build / Test - JDK23") {
agent { node { label 'linux' } }
steps {
timeout( time: 180, unit: 'MINUTES' ) {
checkout scm
mavenBuild( "jdk22", "clean install -Dspotbugs.skip=true -Djacoco.skip=true", "maven3")
recordIssues id: "jdk22", name: "Static Analysis jdk22", aggregatingResults: true, enabledForFailure: true, tools: [mavenConsole(), java(), checkStyle(), javaDoc()]
mavenBuild( "jdk23", "clean install -Dspotbugs.skip=true -Djacoco.skip=true", "maven3")
recordIssues id: "jdk23", name: "Static Analysis jdk23", aggregatingResults: true, enabledForFailure: true, tools: [mavenConsole(), java(), checkStyle(), javaDoc()]
}
}
}
Expand Down Expand Up @@ -62,6 +65,10 @@ pipeline {
}
fixed {
slackNotif()
websiteBuild()
}
success {
websiteBuild()
}
}
}
Expand Down Expand Up @@ -107,18 +114,24 @@ def mavenBuild(jdk, cmdline, mvnName) {
buildCache = useBuildCache()
if (buildCache) {
echo "Using build cache"
extraArgs = " -Dmaven.build.cache.restoreGeneratedSources=false -Dmaven.build.cache.remote.url=http://nginx-cache-service.jenkins.svc.cluster.local:80 -Dmaven.build.cache.remote.enabled=true -Dmaven.build.cache.remote.save.enabled=true -Dmaven.build.cache.remote.server.id=remote-build-cache-server -Daether.connector.http.supportWebDav=true "
extraArgs = " -Dmaven.build.cache.restoreGeneratedSources=false -Dmaven.build.cache.remote.url=http://nexus-service.nexus.svc.cluster.local:8081/repository/maven-build-cache -Dmaven.build.cache.remote.enabled=true -Dmaven.build.cache.remote.save.enabled=true -Dmaven.build.cache.remote.server.id=nexus-cred "
} else {
// when not using cache
echo "Not using build cache"
extraArgs = " -Dmaven.test.failure.ignore=true -Dmaven.build.cache.skipCache=true -Dmaven.build.cache.remote.url=http://nginx-cache-service.jenkins.svc.cluster.local:80 -Dmaven.build.cache.remote.enabled=true -Dmaven.build.cache.remote.save.enabled=true -Dmaven.build.cache.remote.server.id=remote-build-cache-server -Daether.connector.http.supportWebDav=true "
extraArgs = " -Dmaven.test.failure.ignore=true -Dmaven.build.cache.skipCache=true -Dmaven.build.cache.remote.url=http://nexus-service.nexus.svc.cluster.local:8081/repository/maven-build-cache -Dmaven.build.cache.remote.enabled=true -Dmaven.build.cache.remote.save.enabled=true -Dmaven.build.cache.remote.server.id=nexus-cred "
}
if (env.BRANCH_NAME ==~ /PR-\d+/) {
if (pullRequest.labels.contains("build-all-tests")) {
extraArgs = " -Dmaven.test.failure.ignore=true "
}
}
sh "mvn $extraArgs -DsettingsPath=$GLOBAL_MVN_SETTINGS -Dmaven.repo.uri=http://nexus-service.nexus.svc.cluster.local:8081/repository/maven-public/ -ntp -s $GLOBAL_MVN_SETTINGS -Dmaven.repo.local=.repository -Pci -V -B -e -U $cmdline"
runLaunchable ("verify")
runLaunchable ("record build --name jetty-12.0.x")
dashProfile = ""
if(useEclipseDash()) {
dashProfile = " -Peclipse-dash "
}
sh "mvn $extraArgs $dashProfile -DsettingsPath=$GLOBAL_MVN_SETTINGS -Dmaven.repo.uri=http://nexus-service.nexus.svc.cluster.local:8081/repository/maven-public/ -ntp -s $GLOBAL_MVN_SETTINGS -Dmaven.repo.local=.repository -Pci -V -B -e -U $cmdline"
if(saveHome()) {
archiveArtifacts artifacts: ".repository/org/eclipse/jetty/jetty-home/**/jetty-home-*", allowEmptyArchive: true, onlyIfSuccessful: false
}
Expand All @@ -127,7 +140,9 @@ def mavenBuild(jdk, cmdline, mvnName) {
}
finally
{
junit testResults: '**/target/surefire-reports/*.xml,**/target/invoker-reports/TEST*.xml', allowEmptyResults: true
junit testDataPublishers: [[$class: 'JUnitFlakyTestDataPublisher']], testResults: '**/target/surefire-reports/**/*.xml,**/target/invoker-reports/TEST*.xml', allowEmptyResults: true
echo "Launchable record tests"
runLaunchable ("record tests --build jetty-12.0.x maven '**/target/surefire-reports/**/*.xml' '**/target/invoker-reports/TEST*.xml'")
}
}
}
Expand All @@ -138,19 +153,51 @@ def mavenBuild(jdk, cmdline, mvnName) {
def useBuildCache() {
def labelNoBuildCache = false
if (env.BRANCH_NAME ==~ /PR-\d+/) {
labelNoBuildCache = pullRequest.labels.contains("build-no-cache")
labelNoBuildCache = pullRequest.labels.contains("build-no-cache") || pullRequest.labels.contains("dependencies")
}
def noBuildCache = (env.BRANCH_NAME == 'jetty-12.0.x') || labelNoBuildCache;
return !noBuildCache;
// want to skip build cache
// return false
}

def useEclipseDash() {
if (env.BRANCH_NAME ==~ /PR-\d+/) {
return pullRequest.labels.contains("eclipse-dash")
}
return false
}

def saveHome() {
if (env.BRANCH_NAME ==~ /PR-\d+/) {
return pullRequest.labels.contains("save-home")
}
return false;
}

def websiteBuild() {
script {
try {
if (env.BRANCH_NAME == 'jetty-10.0.x' || env.BRANCH_NAME == 'jetty-11.0.x' || env.BRANCH_NAME == 'jetty-12.0.x') {
build(job: 'website/jetty.website/main', propagate: false, wait: false)
}
} catch (Exception e) {
e.printStackTrace()
echo "skip website build triggering: " + e.getMessage()
}
}
}
/**
* run launchable with args and ignore any errors
* @param args
*/
def runLaunchable(args) {
try {
sh "launchable $args"
} catch (Exception e) {
e.printStackTrace()
echo "skip failure running Launchable: " + e.getMessage()
}
}

// vim: et:ts=2:sw=2:ft=groovy
17 changes: 9 additions & 8 deletions KEYS.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# GPG Release Key Fingerprints
Jan Bartel <janb@mortbay.com> AED5 EE6C 45D0 FE8D 5D1B 164F 27DE D4BF 6216 DB8F
Jesse McConnell <jesse.mcconnell@gmail.com> 2A68 4B57 436A 81FA 8706 B53C 61C3 351A 438A 3B7D
Joakim Erdfelt <joakim.erdfelt@gmail.com> 5989 BAF7 6217 B843 D66B E55B 2D0E 1FB8 FE4B 68B4
Joakim Erdfelt <joakime@apache.org> B59B 67FD 7904 9843 67F9 3180 0818 D9D6 8FB6 7BAC
Joakim Erdfelt <joakim@erdfelt.com> BFBB 21C2 46D7 7768 3628 7A48 A04E 0C74 ABB3 5FEA
Simone Bordet <simone.bordet@gmail.com> 8B09 6546 B1A8 F026 56B1 5D3B 1677 D141 BCF3 584D
Olivier Lamy <olamy@apache.org> F254 B356 17DC 255D 9344 BCFA 873A 8E86 B437 2146
Ludovic Orban <lorban@bitronix.be> CD38 A1DA DA34 13BE 96DF 547F 3D14 6A4A 1C58 367E
Jan Bartel <janb@mortbay.com> AED5 EE6C 45D0 FE8D 5D1B 164F 27DE D4BF 6216 DB8F
Jesse McConnell <jesse.mcconnell@gmail.com> 2A68 4B57 436A 81FA 8706 B53C 61C3 351A 438A 3B7D
Joakim Erdfelt <joakim.erdfelt@gmail.com> 5989 BAF7 6217 B843 D66B E55B 2D0E 1FB8 FE4B 68B4
Joakim Erdfelt <joakime@apache.org> B59B 67FD 7904 9843 67F9 3180 0818 D9D6 8FB6 7BAC
Joakim Erdfelt <joakim@erdfelt.com> BFBB 21C2 46D7 7768 3628 7A48 A04E 0C74 ABB3 5FEA
Simone Bordet <simone.bordet@gmail.com> 8B09 6546 B1A8 F026 56B1 5D3B 1677 D141 BCF3 584D
Olivier Lamy <olamy@apache.org> F254 B356 17DC 255D 9344 BCFA 873A 8E86 B437 2146
Ludovic Orban <lorban@bitronix.be> CD38 A1DA DA34 13BE 96DF 547F 3D14 6A4A 1C58 367E
Lachlan Roberts <lachlan.p.roberts@gmail.com> 75DE 085F 73C1 2232 6066 3C24 5663 FB7A 8FF7 E348
2 changes: 1 addition & 1 deletion NOTICE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Notices for Eclipse Jetty
=========================
This content is produced and maintained by the Eclipse Jetty project.

Project home: https://eclipse.dev/jetty/
Project home: https://jetty.org/

Trademarks
----------
Expand Down
Loading

0 comments on commit 3be5004

Please sign in to comment.