Forgot to post this when it went up. <@U58GRE73J> ...
# ktlint
j
Forgot to post this when it went up. @tapchicoma and I co-spoke on a podcast about maintaining Ktlint-Gradle back in May 2022. Please feel free to check it out here: https://thebakery.dev/35/ In there, I spoke about how the project is no longer my top priority as my career has shifted from being a Software Engineer into being a Software Security Researcher. I've taken a back seat on maintaining the project. Thankfully, @wakingrufus has stepped up and has taken over maintaining the plugin while I remain the primary reviewer on contributions.
🎉 4
g
❤️
s
Without wanting to sound negative in any way. I’ve listened to this podcast episode and have seen for the past year a bunch of discussions etc from various individuals regarding this topic, but I haven’t properly understood why since you’re clearly busy with other stuff in your career right now you haven’t taken the decision to simply let this gradle plugin go into an archived mode and have everyone in this community focus their efforst on other options which are more actively maintained like the kotlinter plugin? I applaud your efforts to still find the time to review PRs, keep up with the API changes, have discussions here and so on, but wouldn’t it be easier if you didn’t have to do all this work and could focus on your new goals completely, while gathering everyone’s efforts into kotlinter?
In fact, I now remembered there was this discussion that happened in this slack channel https://kotlinlang.slack.com/archives/CKS3XG0LS/p1661630223962909?thread_ts=1661381921.902119&amp;cid=CKS3XG0LS some months ago, but there was no follow-up as far as I can tell.
Again, I find it a bit hard to express what I want to say here in text, I need to repeat I am not saying this with any hint of hostility towards you or your decisions to keep the repo going, if anything I am impressed that you have kept going so far. But I am simply wondering for the sake of making everyone’s (especially yours) life easier.
w
ktlint-gradle is still very popular, so EOLing it would put a burden on all of those people who use it to migrate. now, you might say "we have no obligation to keep maintaining it for their sake". Fair. However: I literally do, since I am responsible for gradle JVM tooling at my company. ktlint-gradle is used heavily there. if ktlint-gradle became unmaintained, we would be more likely to just create an internal fork of it than migrate to something else, at least for awhile. And I would probably be the one to create and maintain that internal fork. So for me, I might as well just do the work to keep the OSS ktlint-gradle going, as its probably less work for me, in the end. one other point: we have done one thing in ktlint-gradle that ktlinter has not, which is maintain compatibility with multiple versions of ktlint even through the breaking API changes. you can currently use ktlint-gradle with ktlint 0.34-0.48, where as kotlinter currently will only work with ktlint 0.48+. This gives teams flexibility in when they upgrade their ktlint version according to when they have the time to address any changes, but still keep up to date with the plugin to ensure gradle version compatibility and such. It also exposes the ktlint version configuration in a much better way. This is just my personal take on why it is worth it to keep the project going.
j
@Stylianos Gakis it was certainly my long-term plan if @wakingrufus hadn't stepped up to take on the project as a collaborator. Your caution in your communication is appreciated, but unneeded , but it was genuinely something I was thinking about doing. I did quite a bit of work reaching out asking people to assist before taking that option.
Eventually, it may come to that. But for now @wakingrufus has brought new life to the project that wasn't there before
s
Yes with all this context this makes sense, especially since you have this personal responsibility in your company. That’s great news then that it all fell into place as I see it. Thanks for replying both of you!
t
I would say - I had a same motivation to start contributing into ktlint-gradle project as I was using it at my previous places of work. And I am happy that @wakingrufus step up to continue plugin development đź‘Ť
j
As a security researcher, I feel a personal responsibility to make sure any hand off doesn't happen in a way that allows an attacker to hijack the builds of the users Ktlint-Gradle has. So I've been very cautious handing over the reigns to anyone. I don't want Ktlint-Gradle to be the Event-Stream incident of the Gradle ecosystem