-
Notifications
You must be signed in to change notification settings - Fork 14.9k
KAFKA-19761 Gradle Shadow plugin version upgrade: 8.3.9 -->> 9.3.1 #20866
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
base: trunk
Are you sure you want to change the base?
Conversation
|
@chia7712 Please review when you have some time. |
e96bddd to
1292e30
Compare
|
I'll rebase this onto trunk (to include a new, updated Gradle version into this branch/PR). |
1292e30 to
4543ec2
Compare
fcaf575 to
fbb1dc5
Compare
fbb1dc5 to
1354d5d
Compare
|
Hi @apoorvmittal10, Can you please allocate some time to provide a review ? |
1354d5d to
19bc87c
Compare
|
Gradle task that ends up with one failed test works as expected on my machine: 💡 I will try to execute entire test suite on Github Action CI server once more. |
19bc87c to
4196380
Compare
|
All tests are fine now ✅ @chia7712 can you allocate some time to review this one ? |
|
Thanks for the change and apologies for the delay! It may be because my expertise in Gradle is not my strong suit, but I would encourage you to give a brief overview of why all the changes in the PR are required! The real problem is that if we just bump Gradle Shadow from 8 to 9 we run into which appears to be because :core only has build/classes/scala while all other dependencies have build/classes/java and Gradle Shadow 9 appears to be more strict in requiring that directory to exist. I am a bit on the fence for this change. On one hand, I don't like depending on .sourceSets.test.output in some places in the build.gradle file and on configurations/artifacts in others. On the other hand, I also don't like generating an empty folder (i.e. build/classes/java) just to satisfy a stricter expectation. What are the opinions of others in the community? |
|
Hi @clolov and thanks for a review/comment ! You are rasing some valid questions here. But first: can you please share your environment details (thing is that Gradle build task |
I can relate with all of this @clolov. Thing is that Kafka Gradle build is complicated due to a fact that people want Kafka to perform various complicated things. And on top of that: dependencies versions just have to move forward: sooner or later this Shadow gradle plugin version will have to be bumped, one way or another. All-in-all, we can either choose to:
Open invitation to entire community: what is your take on this ? |
Rationale section is added into description above. |

Prologue:
#19513 (comment)
💡 Rationale: Gradle 10 will be released in Q4 2026 or Q1 2027
and we can't expect that Shadow plugin version 8 will be compatible:
Release notes for Shadow plugin:
I did some testing, and results look just fine ✅:
./gradlew :jmh-benchmarks:shadowJarand./gradlew releaseTarGzare successfulkafka_2.13-4.3.0-SNAPSHOT-site-docs.tgz andand
kafka_2.13-4.3.0-SNAPSHOT.tgz) have identical file numbers (fortrunk and this branch)
https://kafka.apache.org/quickstart
KAFKA-19761