Skip to content

Use patched Gradle version#15034

Merged
koppor merged 4 commits intomainfrom
update-gradle
Feb 4, 2026
Merged

Use patched Gradle version#15034
koppor merged 4 commits intomainfrom
update-gradle

Conversation

@koppor
Copy link
Copy Markdown
Member

@koppor koppor commented Feb 4, 2026

User description

Follow-up to #15021

We still need gradle/gradle#34227 on Windows.

I also added a check for Windows if Gradle update bot comes around.

Steps to test

gradlew :jabgui:run works on your machine

Mandatory checks


PR Type

Enhancement, Other


Description

  • Use JabRef's patched Gradle 9.5.0 version from custom repository

  • Disable automatic Gradle wrapper updates via workflow

  • Enable Java toolchain auto-download in Gradle configuration

  • Run Windows tests on Gradle update PRs for validation


Diagram Walkthrough

flowchart LR
  A["Gradle 9.3.1"] -->|"Update to patched version"| B["Gradle 9.5.0-jabref-1"]
  B -->|"Custom distribution URL"| C["files.jabref.org"]
  D["Gradle Wrapper Update"] -->|"Disable auto-update"| E["Manual control"]
  E -->|"Enable on PR"| F["Windows test validation"]
  G["Gradle Properties"] -->|"Enable auto-download"| H["Java Toolchains"]
Loading

File Walkthrough

Relevant files
Configuration changes
tests-code.yml
Enable Windows tests on Gradle updates                                     

.github/workflows/tests-code.yml

  • Modified Windows test job condition to run on Gradle Wrapper update
    PRs
  • Added check for pull requests with title starting with 'Update Gradle
    Wrapper'
  • Reformatted conditional logic for better readability
+7/-1     
update-gradle-wrapper.yml
Disable automatic Gradle wrapper updates                                 

.github/workflows/update-gradle-wrapper.yml

+2/-0     
gradle.properties
Enable Java toolchain auto-download                                           

gradle.properties

  • Added Java toolchain auto-download configuration
  • Enables automatic downloading of Java installations for Gradle builds
+3/-0     
Dependencies
gradle-wrapper.properties
Update to patched Gradle 9.5.0 version                                     

gradle/wrapper/gradle-wrapper.properties

  • Updated Gradle version from 9.3.1 to 9.5.0-jabref-1
  • Changed distribution URL to custom JabRef repository
  • Removed SHA256 checksum validation
  • Disabled distribution URL validation
+2/-3     

@koppor koppor changed the title Run tests on Windows on Gradle update Use patched Gradle version Feb 4, 2026
@koppor
Copy link
Copy Markdown
Member Author

koppor commented Feb 4, 2026

OMG - auto download did not working - sorry @ThiloteE - after this PR is merged, you should really have less issues with gradlew on your machine - no gg.cmd any more (maybe ^^)

   > Cannot find a Java installation on your machine (Windows 10 10.0 amd64) matching: {languageVersion=25, vendor=Amazon Corretto, implementation=vendor-specific, nativeImageCapable=false}. No matching toolchain could be found in the configured toolchain download repositories.

@koppor
Copy link
Copy Markdown
Member Author

koppor commented Feb 4, 2026

Hotfix, therefore automerge.

@koppor koppor marked this pull request as ready for review February 4, 2026 12:53
@koppor koppor added the automerge PR is tagged with that label will be merged if workflows are green label Feb 4, 2026
@qodo-free-for-open-source-projects
Copy link
Copy Markdown
Contributor

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🔴
Supply chain vulnerability

Description: Using a custom Gradle distribution from files.jabref.org with disabled URL validation and
no SHA256 checksum verification creates a supply chain security risk, as the distribution
integrity cannot be verified and could be tampered with.
gradle-wrapper.properties [3-5]

Referred Code
distributionUrl=https://files.jabref.org/gradle-9.5.0-jabref-1-bin.zip
networkTimeout=10000
validateDistributionUrl=false
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

🔴
Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status:
Typo in comment: Comment contains typo 'Tollchains' instead of 'Toolchains', reducing
code clarity and professionalism.

Referred Code
# Tweak Java Tollchains
org.gradle.java.installations.auto-download=true

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
Disabled distribution validation: Distribution URL validation and SHA256 checksum verification are disabled, potentially
allowing man-in-the-middle attacks or compromised distribution downloads.

Referred Code
distributionUrl=https://files.jabref.org/gradle-9.5.0-jabref-1-bin.zip
networkTimeout=10000
validateDistributionUrl=false

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@qodo-free-for-open-source-projects
Copy link
Copy Markdown
Contributor

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Security
Reinstate checksum for build security

Reinstate the distributionSha256Sum and set validateDistributionUrl to true in
gradle-wrapper.properties to mitigate a significant security vulnerability and
prevent potential supply-chain attacks.

gradle/wrapper/gradle-wrapper.properties [3-5]

-distributionSha256Sum=b266d5ff6b90eada6dc3b20cb090e3731302e553a27c5d3e4df1f0d76beaff06
-distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
+distributionSha256Sum=<YOUR-SHA-256-CHECKSUM-HERE>
+distributionUrl=https://files.jabref.org/gradle-9.5.0-jabref-1-bin.zip
 networkTimeout=10000
 validateDistributionUrl=true

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 10

__

Why: The suggestion correctly identifies a critical security vulnerability introduced by removing the distribution checksum and disabling URL validation, which could expose the build process to supply-chain attacks.

High
Learned
best practice
Fix typo in comment

Correct the spelling of "Tollchains" to "Toolchains" in the comment to maintain
professional documentation standards.

gradle.properties [22-23]

-# Tweak Java Tollchains
+# Tweak Java Toolchains
 org.gradle.java.installations.auto-download=true
  • Apply / Chat
Suggestion importance[1-10]: 5

__

Why:
Relevant best practice - Fix typographical errors in comments, documentation, changelog entries, and user-facing strings to maintain professionalism and clarity.

Low
  • More

@koppor koppor added this pull request to the merge queue Feb 4, 2026
@github-actions github-actions Bot added the status: to-be-merged PRs which are accepted and should go into the merge-queue. label Feb 4, 2026
Merged via the queue into main with commit 5238b50 Feb 4, 2026
70 of 77 checks passed
@koppor koppor deleted the update-gradle branch February 4, 2026 13:49
Siedlerchr added a commit that referenced this pull request Feb 4, 2026
* upstream/main:
  New Crowdin updates (#15035)
  Use patched Gradle version (#15034)
  Add OpenAlex-based Citation Fetcher (#15023)
  Update null annotaitons at EntryBasedFetcher (#15024)
  Fix CHANGELOG.md test
  Use _ for unused variables (#15028)
  Use ubuntu-latest for checkstyle and javadoc
  Update Gradle Wrapper from 9.3.0-jabref-2 to 9.3.1 (#15021)
  Use "ubuntu-slim" for most workflows (#15019)
  Refine GroupsTree (#15013)
Siedlerchr added a commit to Jalina2007/jabref that referenced this pull request Feb 5, 2026
…4902

* upstream/main: (23 commits)
  Some more recipes from OpenRewrite (JabRef#15030)
  feat: Add PDF Upload endpoint to EntryResource (JabRef#14963)
  Heuristics also used at batch (JabRef#15025)
  Fix cleanup-pr.yml
  New Crowdin updates (JabRef#15035)
  Use patched Gradle version (JabRef#15034)
  Add OpenAlex-based Citation Fetcher (JabRef#15023)
  Update null annotaitons at EntryBasedFetcher (JabRef#15024)
  Fix CHANGELOG.md test
  Use _ for unused variables (JabRef#15028)
  Use ubuntu-latest for checkstyle and javadoc
  Update Gradle Wrapper from 9.3.0-jabref-2 to 9.3.1 (JabRef#15021)
  Use "ubuntu-slim" for most workflows (JabRef#15019)
  Refine GroupsTree (JabRef#15013)
  New Crowdin updates (JabRef#15018)
  Added Clear group option (JabRef#15017)
  Chore(deps): Bump com.uber.nullaway:nullaway from 0.12.15 to 0.13.1 in /versions (JabRef#15006)
  Chore(deps): Bump tools.jackson:jackson-bom in /versions (JabRef#15007)
  No rush in Docker building
  Yaml issue workaround
  ...
Siedlerchr added a commit that referenced this pull request Feb 8, 2026
…es/jablib/src/main/resources/csl-styles-6c79ffe

* upstream/main: (68 commits)
  Chore(deps): Bump org.apache.httpcomponents.client5:httpclient5 (#15060)
  Chore(deps): Bump com.google.errorprone:error_prone_core in /versions (#15059)
  Chore(deps): Bump de.undercouch.download:de.undercouch.download.gradle.plugin (#15057)
  Chore(deps): Bump org.postgresql:postgresql in /versions (#15058)
  Chore(deps): Bump de.undercouch.download:de.undercouch.download.gradle.plugin (#15056)
  Updates on Wednesday, not on Sunday
  Add screenshot requirement (#15050)
  Switch image for javadoc
  Better docker layer caching during build (#15042)
  New Crowdin updates (#15045)
  Chore: reuse shared 'setup-gradle' in all places in test-code.yml (#15043)
  Chore: add 'testlens-app/setup-testlens' GH action (#15044)
  Add: HTTP Server and LSP server toggles to quick settings (#14972)
  Some more recipes from OpenRewrite (#15030)
  feat: Add PDF Upload endpoint to EntryResource (#14963)
  Heuristics also used at batch (#15025)
  Fix cleanup-pr.yml
  New Crowdin updates (#15035)
  Use patched Gradle version (#15034)
  Add OpenAlex-based Citation Fetcher (#15023)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge PR is tagged with that label will be merged if workflows are green Review effort 2/5 status: to-be-merged PRs which are accepted and should go into the merge-queue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants