Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/pulsar-ci-flaky.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ on:
options:
- '25'
- '21'
- '26'
default: '25'
trace_test_resource_cleanup:
description: 'Collect thread & heap information before exiting a test JVM. When set to "on", thread dump and heap histogram will be collected. When set to "full", a heap dump will also be collected.'
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/pulsar-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ on:
options:
- '25'
- '21'
- '26'
default: '25'
trace_test_resource_cleanup:
description: 'Collect thread & heap information before exiting a test JVM. When set to "on", thread dump and heap histogram will be collected. When set to "full", a heap dump will also be collected.'
Expand Down
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ concurrency model.
## Build infrastructure

Apache Pulsar uses a **Gradle** build (migrated from Maven via PIP-463; some older tooling and docs
elsewhere still reference Maven). The wrapper `./gradlew` requires **JDK 21 or 25** (bytecode targets
elsewhere still reference Maven). The wrapper `./gradlew` requires **JDK 21, 25 or 26** (bytecode targets
Java 17). See [`CONTRIBUTING.md` → Building](CONTRIBUTING.md#building) for the build and lint commands.

- `settings.gradle.kts` — all modules, organized in dependency tiers (Tier 0 has no internal deps,
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ workflow (build, test, PR, CI). For the big-picture module map and the Gradle bu

## Building

**JDK 21 or 25** is required to build `master` (bytecode targets Java 17; `-PskipJavaVersionCheck`
**JDK 21, 25 or 26** is required to build `master` (bytecode targets Java 17; `-PskipJavaVersionCheck`
bypasses the check); `zip` is also needed. Use the bundled wrapper `./gradlew` (Linux/macOS) or
`gradlew.bat` (Windows) — no separate Gradle install. See the
[build-tooling setup guide](https://pulsar.apache.org/contribute/setup-buildtools/) and the
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ for the Gradle build infrastructure and how to change build files.

| Pulsar Version | JDK Version |
|------------------|:--------------------------------------------------------------------------------:|
| master | [JDK 21](https://adoptium.net/en-GB/temurin/releases?version=21&os=any&arch=any) or [JDK 25](https://adoptium.net/en-GB/temurin/releases?version=25&os=any&arch=any) |
| master | [JDK 21](https://adoptium.net/en-GB/temurin/releases?version=21&os=any&arch=any), [JDK 25](https://adoptium.net/en-GB/temurin/releases?version=25&os=any&arch=any) or [JDK 26](https://adoptium.net/en-GB/temurin/releases?version=26&os=any&arch=any) |
| 4.0+ | [JDK 21](https://adoptium.net/en-GB/temurin/releases?version=21&os=any&arch=any) |
| 2.11 + | [JDK 17](https://adoptium.net/en-GB/temurin/releases?version=17&os=any&arch=any) |
| 2.8 / 2.9 / 2.10 | [JDK 11](https://adoptium.net/en-GB/temurin/releases?version=11&os=any&arch=any) |
Expand Down
10 changes: 6 additions & 4 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ dependencyResolutionManagement {
}
}

// override docker-jdk version with -PdockerJavaVersion=21|25
// override docker-jdk version with -PdockerJavaVersion=21|25|26
val overrideDockerJavaVersion = settings.providers.gradleProperty("dockerJavaVersion")
if (overrideDockerJavaVersion.isPresent) {
versionCatalogs {
Expand All @@ -50,11 +50,13 @@ dependencyResolutionManagement {

rootProject.name = "pulsar"

// Running this build requires Java 21 or 25. Version check can be skipped with -PskipJavaVersionCheck parameter.
// Running this build requires Java 21, 25 or 26. Version check can be skipped with -PskipJavaVersionCheck parameter.
val javaVersion = providers.provider { JavaVersion.current() }
val statisfiedJavaVersion = javaVersion.map { it == JavaVersion.VERSION_21 || it == JavaVersion.VERSION_25 }
val statisfiedJavaVersion = javaVersion.map {
it == JavaVersion.VERSION_21 || it == JavaVersion.VERSION_25 || it == JavaVersion.VERSION_26
}
require(providers.gradleProperty("skipJavaVersionCheck").isPresent || statisfiedJavaVersion.get()) {
"This build requires Java 21 or 25, but is running on Java ${javaVersion.get()}. Pass -PskipJavaVersionCheck to skip this check."
"This build requires Java 21, 25 or 26, but is running on Java ${javaVersion.get()}. Pass -PskipJavaVersionCheck to skip this check."
}

// ──────────────────────────────────────────────────────────────────────────────
Expand Down
Loading