Skip to content

Ruby 4.0.2-1#20

Open
jwaisner wants to merge 1 commit intomainfrom
4.0.2-1
Open

Ruby 4.0.2-1#20
jwaisner wants to merge 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

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.

1 participant