-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JavaCompile tasks may be in up-to-date state when modular dependencies have changed leading to odd runtime errors #12742
Comments
It's not incremental compilation - it's something that is related to task inputs and (likely) modular dependencies. Seems like we're missing something that makes the test compilation task to be marked as up-to-date, even though its dependencies (core) have been recompiled. I couldn't find the cause yet, but I'll keep digging. |
I think the reason for an up-to-date status is because we handle module path ourselves
which means gradle can't inspect the contents of those dependencies (as it would with regular classpath entries). I have to think how to handle this better. It's already hairy enough. |
I've provided a PR that fixes this. It is a corner case of us providing custom javac parameters (modular classpath). I am surprised this took so long to be discovered and I apologize - it's an oversight - we did have a dependsOn clause but it's different than task inputs (dependsOn is more of a task graph scheduling hint, inputs is a task status hint). I've checked the PR by running Hoss's repro:
everything works and the code is recompiled as it should now. |
…e#12742 (apache#12745) Fix javac task inputs so that they include modular dependencies apache#12742
Description
Recent builds failed with:
As Hoss noticed, there is a repro to get the above error:
I'll try to figure out why this can happen, it shouldn't.
Version and environment details
No response
The text was updated successfully, but these errors were encountered: