Skip to content

Conversation

@WordlessEcho
Copy link
Contributor

@WordlessEcho WordlessEcho commented Dec 22, 2025

Closes #576

intellij-jbr25*: JetBrains Runtime is a fork of OpenJDK available for Windows, Mac OS X, and Linux. It supports enhanced class redefinition (DCEVM), features optional JCEF, a framework for embedding Chromium-based browsers, includes a number of improvements in font rendering, keyboards support, windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration and bugfixes not yet present in OpenJDK.

Summary by CodeRabbit

  • New Features
    • Added JetBrains Runtime 25 support in four variants: runtime, SDK, SDK+JCEF, and runtime+JCEF.
    • Windows x64 and ARM64 packages with per-architecture downloads and extraction.
    • Built-in automatic version detection and autoupdate driven from upstream releases.
    • Environment setup: sets JAVA_HOME and adds runtime bin to PATH for immediate use.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 22, 2025

Walkthrough

Adds four new Scoop manifest files for JetBrains Runtime 25 variants (base, SDK, JCEF, SDK+JCEF) for Windows x64 and arm64, including metadata, per-arch download URLs and SHA-512 checksums, extract directories, environment variables (JAVA_HOME, PATH), PowerShell checkver scripts parsing GitHub release tags, and autoupdate rules.

Changes

Cohort / File(s) Summary
JetBrains Runtime JBR 25 manifests
bucket/intellij-jbr25.json, bucket/intellij-jbr25-sdk.json, bucket/intellij-jbr25-jcef.json, bucket/intellij-jbr25-sdk-jcef.json
Add four new Scoop manifests for JBR 25 variants. Each provides version/homepage/description/license, 64-bit and arm64 blocks with url, sha512, and extract_dir, environment setup (JAVA_HOME, add bin to PATH), a PowerShell checkver script to extract build/patch from GitHub release tags, and autoupdate rules constructing per-arch URLs and checksum references using matched version components.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • se35710

Poem

🐇 I hopped through manifests, tidy and light,
Four JBR packages, ready to bite.
x64 and arm64, checksums aligned,
JAVA_HOME set — binaries signed.
Hop, fetch, extract — a rabbit's delight.

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: adding intellij-jbr25* package manifests for version 25-b176.4, which matches the file additions and content in the changeset.
Description check ✅ Passed The description provides context on what JetBrains Runtime is, references the linked issue (#576), and confirms reading the contributing guide as required by template.
Linked Issues check ✅ Passed The PR successfully addresses issue #576 by adding four manifest files (intellij-jbr25.json, intellij-jbr25-sdk.json, intellij-jbr25-jcef.json, intellij-jbr25-sdk-jcef.json) for JetBrains Runtime 25-b176.4, meeting all stated criteria: Java runtime, well-known tool, latest stable version, standard install, and no sign-in required.
Out of Scope Changes check ✅ Passed All four new manifest files directly support the objective of adding intellij-jbr25* package variants for version 25-b176.4 as requested in issue #576, with no extraneous changes detected.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between aae89f9 and f7fd495.

📒 Files selected for processing (4)
  • bucket/intellij-jbr25-jcef.json
  • bucket/intellij-jbr25-sdk-jcef.json
  • bucket/intellij-jbr25-sdk.json
  • bucket/intellij-jbr25.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • bucket/intellij-jbr25-jcef.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: WindowsPowerShell
🔇 Additional comments (10)
bucket/intellij-jbr25-sdk.json (4)

1-5: LGTM! Metadata is well-structured.

The version format, homepage, description, and license are all correctly specified and align with the PR objectives.


18-21: LGTM! Standard Java environment configuration.

Setting JAVA_HOME and adding bin to PATH is the correct setup for Java runtimes.


22-63: LGTM! Checkver and autoupdate logic is well-implemented.

The PowerShell script correctly:

  • Queries the GitHub releases API for JetBrains Runtime
  • Includes a fallback with the current version to handle API issues
  • Parses release tags matching the pattern jbr-release-25b{BuildNum}.{Patch}
  • Sorts releases numerically by build number and patch version
  • Outputs the latest tag for regex matching

The regex and replace rules correctly transform jbr-release-25b176.4 into 25-b176.4, and the autoupdate configuration properly constructs URLs and extract directories using $matchBuild and $matchPatch.


6-17: Hash and URL formats are structurally valid, but full verification is required in production environment.

The SHA-512 hashes are correctly formatted (128 hexadecimal characters each), and the URL structure follows the expected pattern. However, actual verification—confirming that the URLs are accessible and that downloaded files match the provided checksums—requires network access to the JetBrains CDN, which cannot be completed in the sandbox environment. These URLs and checksums should be validated by downloading and verifying the packages before merging.

bucket/intellij-jbr25-sdk-jcef.json (3)

1-5: LGTM! Metadata correctly describes the SDK+JCEF variant.

The metadata is consistent with the SDK variant and appropriately describes the JCEF integration.


18-63: LGTM! Consistent environment setup and update logic.

The environment configuration and version checking logic are consistent with the SDK variant, with appropriate package name adjustments for the JCEF variant.


6-17: Both download URLs are accessible and valid. No issues found with the SDK+JCEF variant configuration.

bucket/intellij-jbr25.json (3)

1-5: LGTM! Metadata for base JBR runtime variant.

The metadata correctly describes the base JetBrains Runtime and is consistent with the SDK variants.


18-63: LGTM! Consistent implementation across JBR variants.

The environment configuration and automated update logic maintain consistency with the SDK and SDK+JCEF variants, appropriately using the base package name "jbr" in URLs and extraction directories.


6-17: JBR-25 Windows base runtime URLs verified as accessible.

Both 64-bit and ARM64 download URLs are confirmed working. SHA-512 hashes are correctly documented in the configuration.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

intellij-jbr25-jcef

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

intellij-jbr25-sdk-jcef

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

intellij-jbr25-sdk

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

intellij-jbr25

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5a11ef5 and d6ea30d.

📒 Files selected for processing (4)
  • bucket/intellij-jbr25-jcef.json
  • bucket/intellij-jbr25-sdk-jcef.json
  • bucket/intellij-jbr25-sdk.json
  • bucket/intellij-jbr25.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: WindowsPowerShell
  • GitHub Check: PullRequestHandler
🔇 Additional comments (8)
bucket/intellij-jbr25-sdk.json (2)

22-43: Well-designed version checking logic.

The checkver script correctly handles version detection with a two-stage approach: the script pattern (line 29) captures numeric values for proper integer sorting, while the final regex (line 41) preserves the full "b176" format needed for version strings and URLs. The fallback mechanism on line 28 is a good safeguard.


8-15: The manifest structure and hash format are correct; direct URL/checksum verification requires external network access.

The manifest is valid JSON with properly formatted SHA-512 hashes (128 hex characters each). The structure is consistent with existing JBR manifests (jbr21, jbr17, jbr11). The autoupdate mechanism correctly references external checksum files via .checksum URLs, delegating validation to the published sources. Note: jbr25 only includes 64bit and arm64 architectures, unlike jbr21 which includes 32bit. The license field uses "GPL-2.0-only" (differs from previous versions using "GPL-2.0").

bucket/intellij-jbr25.json (2)

22-43: Well-designed version checking logic.

The checkver implementation is consistent across all JBR 25 variants and correctly handles version parsing and sorting.


8-15: Incorrect file references for JBR 25-b176.4 Windows builds.

Windows distributions for JBR 25-b176.4 are only available as jbr_jcef variants (with JCEF bundled), not as vanilla base JBR. The correct filenames should reference jbr_jcef-25-windows-x64-b176.4 and jbr_jcef-25-windows-aarch64-b176.4, not plain jbr-25-windows-* files. Update the URLs and comment accordingly, or clarify whether the intent was to reference a different JBR variant or platform.

Likely an incorrect or invalid review comment.

bucket/intellij-jbr25-jcef.json (2)

22-43: Consistent version checking implementation.

The checkver logic is properly implemented and consistent with the other JBR 25 variants.


8-15: All download URLs for the JCEF variant are accessible and the SHA-512 checksums are correct for both architectures (x64 and aarch64).

bucket/intellij-jbr25-sdk-jcef.json (2)

22-43: Consistent version checking implementation.

The checkver logic is properly implemented and consistent across all four JBR 25 variant manifests.


8-15: SDK+JCEF variant URLs are accessible and correctly configured.

Both JBR SDK+JCEF download URLs for Windows x64 and aarch64 architectures are accessible. The SHA-512 checksums are provided in the correct format and the extract directory names match their corresponding archive filenames.

@WordlessEcho WordlessEcho changed the title intellij-jbr25*: Add version 25b176.4 intellij-jbr25*: Add version 25-b176.4 Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request] intellij-jbr25*

1 participant