Skip to content

Ruby 4.0.2-1#20

Merged
N6REJ merged 1 commit intomainfrom
4.0.2-1
Apr 16, 2026
Merged

Ruby 4.0.2-1#20
N6REJ merged 1 commit intomainfrom
4.0.2-1

Conversation

@jwaisner
Copy link
Copy Markdown
Contributor

No description provided.

@jwaisner jwaisner requested a review from N6REJ as a code owner April 13, 2026 03:39
@jwaisner jwaisner added the enhancement ✨ Improve program label Apr 13, 2026
@qodo-code-review
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Add Ruby 4.0.2-1 release with configuration

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add Ruby 4.0.2-1 release configuration and installation files
• Update bundle release version to 2026.4.12
• Register new Ruby version in releases registry
• Include RubyGems installation and update scripts
Diagram
flowchart LR
  A["Ruby 4.0.2-1 Release"] --> B["Configuration Files"]
  A --> C["Installation Scripts"]
  A --> D["Version Registry"]
  B --> E["bearsampp.conf"]
  B --> F["rubygems.properties"]
  C --> G["install.bat"]
  D --> H["releases.properties"]
  D --> I["build.properties"]
Loading

Grey Divider

File Changes

1. bin/ruby4.0.2-1/rubygems/install.bat ⚙️ Configuration changes +10/-0

RubyGems installation script for Windows

• New batch script for installing and updating RubyGems
• Sets Ruby binary path and executes gem installation commands
• Includes error handling with exit code propagation

bin/ruby4.0.2-1/rubygems/install.bat


2. bin/ruby4.0.2-1/bearsampp.conf ⚙️ Configuration changes +5/-0

Bearsampp configuration for Ruby 4.0.2-1

• New configuration file for Ruby 4.0.2-1 module
• Specifies Ruby version, executable paths, and bundle release
• Defines console executable and release version placeholder

bin/ruby4.0.2-1/bearsampp.conf


3. bin/ruby4.0.2-1/rubygems/rubygems.properties ⚙️ Configuration changes +1/-0

RubyGems version and download configuration

• New properties file with RubyGems download URL
• References specific RubyGems version 4.0.10 from GitHub releases

bin/ruby4.0.2-1/rubygems/rubygems.properties


View more (2)
4. build.properties ⚙️ Configuration changes +1/-1

Update bundle release version number

• Update bundle release version from 2026.1.16 to 2026.4.12
• Aligns with new Ruby 4.0.2-1 release date

build.properties


5. releases.properties ⚙️ Configuration changes +1/-0

Register Ruby 4.0.2-1 in releases registry

• Add new entry for Ruby 4.0.2-1 release
• Points to GitHub release artifact with version 2026.4.12
• Maintains existing entries for Ruby 3.4.x versions

releases.properties


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review Bot commented Apr 13, 2026

Code Review by Qodo

🐞 Bugs (2)   📘 Rule violations (0)   📎 Requirement gaps (0)   🖥 UI issues (0)   🎨 UX Issues (0)
🐞\ ☼ Reliability (1) ⚙ Maintainability (1)

Grey Divider


Action required

1. Unquoted pushd path 🐞
Description
The new RubyGems installer batch script uses pushd %RUBYBINPATH% without quotes, which fails when
the computed path contains spaces. This can break the Gradle processRubyGems step because Gradle
executes the script from an absolute path where %~dp0 commonly includes spaces on Windows.
Code

bin/ruby4.0.2-1/rubygems/install.bat[R2-5]

+set RUBYBINPATH=%~dp0..\bin
+pushd %RUBYBINPATH%
+set RUBYBINPATH=%CD%
+popd
Evidence
The batch script constructs RUBYBINPATH from %~dp0 and then calls pushd without quoting, which
is unsafe for paths with spaces. Gradle runs this install.bat via ProcessBuilder using the file’s
absolute path and a working directory under the build workspace, so any spaces in the workspace path
can trigger the failure.

bin/ruby4.0.2-1/rubygems/install.bat[2-5]
build.gradle[826-834]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`bin/ruby4.0.2-1/rubygems/install.bat` uses `pushd %RUBYBINPATH%` without quotes. On Windows, this breaks when `%RUBYBINPATH%` contains spaces (common when the repo/build directory is under `C:\Users\<Name>\...`).

## Issue Context
Gradle executes this script via `cmd /c` and `%~dp0` expands to the absolute script directory. If that absolute path contains spaces, unquoted `pushd` will mis-parse the path.

## Fix Focus Areas
- bin/ruby4.0.2-1/rubygems/install.bat[1-6]

## Suggested change
- Use the safe quoting form for `set` and `pushd`, e.g.:
 - `set "RUBYBINPATH=%~dp0..\bin"`
 - `pushd "%RUBYBINPATH%"`
 - Keep the rest of the logic unchanged.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Inconsistent RubyGems tag casing 🐞
Description
The new rubygems.properties uses a lowercase ruby-2026.4.12 tag segment while a nearby version
uses Ruby-...; the build downloads the URL verbatim. This inconsistency increases the risk of an
incorrect URL (e.g., casing mismatch) causing a hard failure during RubyGems download/install.
Code

bin/ruby4.0.2-1/rubygems/rubygems.properties[1]

+rubygems = https://github.com/Bearsampp/modules-untouched/releases/download/ruby-2026.4.12/rubygems-update-4.0.10.gem
Evidence
The newly added URL uses lowercase ruby-2026.4.12, while the existing 4.0.0-1 URL uses
Ruby-2026.1.16, showing inconsistent casing conventions within this repo. processRubyGems loads
the rubygems property and downloadFile fetches it directly via new URL(url) without any
normalization, so any typo/casing mismatch in the URL will directly break the build step.

bin/ruby4.0.2-1/rubygems/rubygems.properties[1-1]
bin/ruby4.0.0-1/rubygems/rubygems.properties[1-1]
build.gradle[785-818]
build.gradle[480-497]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`bin/ruby4.0.2-1/rubygems/rubygems.properties` introduces a different casing convention for the GitHub release tag segment (`ruby-...` vs `Ruby-...` used elsewhere). The build consumes this URL verbatim, so small inconsistencies are easy to miss and can fail the build.

## Issue Context
- The Gradle build reads `rubygems.properties` and downloads the URL directly.
- There is already casing variance across versions; this change adds another variation.

## Fix Focus Areas
- bin/ruby4.0.2-1/rubygems/rubygems.properties[1-1]
- bin/ruby4.0.0-1/rubygems/rubygems.properties[1-1]

## Suggested change
- Pick a single casing convention for the `modules-untouched/releases/download/<TAG>/...` segment and apply it consistently (including this new file).
- Optionally add a short comment in the properties file indicating the expected tag format for the release to reduce future mismatches.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Comment on lines +2 to +5
set RUBYBINPATH=%~dp0..\bin
pushd %RUBYBINPATH%
set RUBYBINPATH=%CD%
popd
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Action required

1. Unquoted pushd path 🐞 Bug ☼ Reliability

The new RubyGems installer batch script uses pushd %RUBYBINPATH% without quotes, which fails when
the computed path contains spaces. This can break the Gradle processRubyGems step because Gradle
executes the script from an absolute path where %~dp0 commonly includes spaces on Windows.
Agent Prompt
## Issue description
`bin/ruby4.0.2-1/rubygems/install.bat` uses `pushd %RUBYBINPATH%` without quotes. On Windows, this breaks when `%RUBYBINPATH%` contains spaces (common when the repo/build directory is under `C:\Users\<Name>\...`).

## Issue Context
Gradle executes this script via `cmd /c` and `%~dp0` expands to the absolute script directory. If that absolute path contains spaces, unquoted `pushd` will mis-parse the path.

## Fix Focus Areas
- bin/ruby4.0.2-1/rubygems/install.bat[1-6]

## Suggested change
- Use the safe quoting form for `set` and `pushd`, e.g.:
  - `set "RUBYBINPATH=%~dp0..\bin"`
  - `pushd "%RUBYBINPATH%"`
  - Keep the rest of the logic unchanged.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@N6REJ N6REJ merged commit 34966d4 into main Apr 16, 2026
3 checks passed
@N6REJ N6REJ deleted the 4.0.2-1 branch April 16, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement ✨ Improve program

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants