Skip to content

deps(java): bump gradle-wrapper from 9.2.1 to 9.3.1#15623

Merged
dweiss merged 11 commits intomainfrom
dependabot/gradle/gradle-wrapper-9.3.0
Feb 8, 2026
Merged

deps(java): bump gradle-wrapper from 9.2.1 to 9.3.1#15623
dweiss merged 11 commits intomainfrom
dependabot/gradle/gradle-wrapper-9.3.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 27, 2026

Bumps gradle-wrapper from 9.2.1 to 9.3.0.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps gradle-wrapper from 9.2.1 to 9.3.0.

---
updated-dependencies:
- dependency-name: gradle-wrapper
  dependency-version: 9.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Dependency Updates skip-changelog Apply to PRs that don't need a changelog entry, stopping the automated changelog check. labels Jan 27, 2026
@dweiss dweiss self-assigned this Jan 28, 2026
@dweiss dweiss added this to the 11.0.0 milestone Jan 28, 2026
@dweiss
Copy link
Contributor

dweiss commented Jan 28, 2026

I'll take a look at this.

@dweiss
Copy link
Contributor

dweiss commented Jan 28, 2026

Something is wrong with test discovery.
gradle/gradle#36508

@uschindler
Copy link
Contributor

Can we somehow tell @dependabot to not touch the shell files gradlew, gradlew.bat)?

@dweiss
Copy link
Contributor

dweiss commented Jan 29, 2026

I don't know but I don't think so. I also don't mind - there is a check that ensures those Lucene specific additions are there so it fails when they're not.

@dweiss
Copy link
Contributor

dweiss commented Feb 7, 2026

Test discovery still doesn't work in 9.3.1.

@uschindler
Copy link
Contributor

Did they say it's fixed?

@dweiss
Copy link
Contributor

dweiss commented Feb 7, 2026

Yes. Not working for me though - benchmarks-jmh still shows no tests even though they're clearly there. I'll investigate when I have some time but I don't think it's our fault.

@dweiss
Copy link
Contributor

dweiss commented Feb 7, 2026

I've left some comments on why it's not working on gradle's issue
gradle/gradle#36508. In short: the new release tries to outsmart everything and everyone. I don't know what the rationale is here but in this case, it's not working as expected. I'll wait for feedback from gradle folks.

@dweiss
Copy link
Contributor

dweiss commented Feb 8, 2026

For now, I've implemented a custom TestFramework strategy which bypasses any class file parsing and just uses the set of files passed to it directly.

Comment on lines +652 to +665
var cc =
ClassFile.of(
ClassFile.ConstantPoolSharingOption.NEW_POOL,
ClassFile.DebugElementsOption.DROP_DEBUG,
ClassFile.LineNumbersOption.DROP_LINE_NUMBERS,
ClassFile.StackMapsOption.DROP_STACK_MAPS);

try {
ClassModel parsed = cc.parse(testClassFile.getFile().toPath());
String internalName = parsed.thisClass().asInternalName().replace('/', '.');
testDefinitionProcessor.processTestDefinition(new ClassTestDefinition(internalName));
} catch (Exception e) {
throw new RuntimeException(e);
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Get fully qualified class name from a file. Perhaps it could be less fancy than actually parsing the file, don't know.

Copy link
Contributor

Choose a reason for hiding this comment

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

It won't parse the full file. So should be fine.

Comment on lines +126 to +147
Path wrapperProperties =
destination.resolveSibling(
destination.getFileName().toString().replace(".jar", ".properties"));
if (!Files.exists(wrapperProperties)) {
throw new IOException("Wrapper property file not found: " + wrapperProperties);
}
String wrapperVersion = Files.readString(versionPath, StandardCharsets.UTF_8).trim();

Pattern versionPattern = Pattern.compile("gradle-(?<version>.+?)-bin.zip");
String wrapperVersion =
Files.readAllLines(wrapperProperties, StandardCharsets.UTF_8).stream()
.map(
line -> {
var matcher = versionPattern.matcher(line);
if (matcher.find()) {
return matcher.group("version");
} else {
return null;
}
})
.filter(Objects::nonNull)
.findAny()
.orElseThrow();
Copy link
Contributor

Choose a reason for hiding this comment

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

Unrelated simplification - removed the duplication of gradle version and parse the property file instead.

@dweiss
Copy link
Contributor

dweiss commented Feb 8, 2026

Ok. All tests pass with this somewhat internal hack. I also updated perl files to fake user agent because http 403 errors on github jobs shown without it.

@dweiss dweiss changed the title deps(java): bump gradle-wrapper from 9.2.1 to 9.3.0 deps(java): bump gradle-wrapper from 9.2.1 to 9.3.1 Feb 8, 2026
@dweiss dweiss merged commit 7082489 into main Feb 8, 2026
16 checks passed
@dependabot dependabot bot deleted the dependabot/gradle/gradle-wrapper-9.3.0 branch February 8, 2026 18:31

@Override
public boolean processTestClass(RelativeFile testClassFile) {
var cc =
Copy link
Contributor

Choose a reason for hiding this comment

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

Juhu. ♥️


try {
ClassModel parsed = cc.parse(testClassFile.getFile().toPath());
String internalName = parsed.thisClass().asInternalName().replace('/', '.');
Copy link
Contributor

Choose a reason for hiding this comment

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

This var should be named binaryNane. I stumbled on the same search/replace bullshit, but there's no way to get the binary name from an internal name with plain Java API. I worked around that in the JS compiler by never actually requiring it (only use ClassDesc) and load as anonymous class.

As far as I remember, there's an issue open to add a method in jdk...

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah... I checked the test count in each project before and after this change and they align, so I don't think we miss anything. I agree this code isn't too elegant but it works fine (for us). We can remove it entirely if gradle's bug is fixed, eventually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency Updates module:build-infra module:test-framework skip-changelog Apply to PRs that don't need a changelog entry, stopping the automated changelog check.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants