Hello Jimin,

I think that's a great idea.👍🏻
If there are no objections from other members, I'll proceed with the
approach you suggested.

Best Regards,
Yongjun


> Hi Yongjun,
> Just quickly looked at the PR you mentioned – that's definitely a
> hefty change! Considering the trade-offs, I think it'd be wiser to
> limit its scope to only change files for now. Here's an idea: When
> contributors submit PRs, let the workflow run Spotless formatting
> specifically on the changed files. What do you think?
>
> Warm regards,
>
> Ji Min
>
> Yongjun Hong <dev.yongj...@gmail.com> 于2025年3月16日周日 21:12写道:
> >
> > Hello Jimim,
> > This is a very insightful point. In fact, after applying Spotless to all
> > files, 1,914 files were changed. As you mentioned, applying it to all
> files
> > at once can indeed shift line numbers, making it harder to match changes
> > back to their original context.
> >
> > Currently, I see two possible approaches:
> >
> > 1. Apply Spotless only to changed files
> > By implementing this method, Spotless will only be applied to the
> modified
> > code when each user changes the code. This will prevent a large number of
> > changes from being made all at once.
> >
> > 2. Apply Spotless to all files
> > This is the approach used by open-source projects like JUnit5, among
> > others, that have already applied Spotless in the early stages. Since
> they
> > applied Spotless early on, they didn't need to consider situations like
> > ours.
> >
> > However, after actually applying Spotless, most of the changes were
> related
> > to whitespace or import statements.
> > Below is a link to a PR I created after applying Spotless to all files in
> > my personal repository.
> > - https://github.com/YongGoose/incubator-seata/pull/2
> >
> > Best Regards,
> > Yongjun
> >
> >
> > > Hi Yongjun,
> > >
> > > Can Spotless only work on the change files instead of all files? Most
> > > IDEs come with Git tracing plugins. These tools can show you
> > > line-by-line history—like which commit last changed a specific line of
> > > code and why it was modified. That’s super handy for untangling
> > > complex code logic. But if you apply this to the entire codebase all
> > > at once, it can mess up the traceability. Line numbers might shift
> > > around, making it hard to match changes back to their original
> > > context. Basically, you lose that precise 'who did what and where'
> > > clarity.
> > >
> > > Warm regards,
> > >
> > > Ji Min
> > >
> > > Jiangke Wu <xingfude...@apache.org> 于2025年3月14日周五 16:55写道:
> > > >
> > > > Dear Yongjun,
> > > >
> > > > This is a fantastic proposal! 🎉 I wholeheartedly agree that
> automating
> > > > code formatting aligns perfectly with Seata’s goals of improving
> > > > contributor experience and maintaining consistent code quality. Your
> > > points
> > > > about Checkstyle’s limitations (especially the lack of auto-fixing)
> and
> > > > Spotless’ actionable “apply” feature are spot-on.
> > > >
> > > > The community-friendly aspect you highlighted is crucial for our
> global
> > > > contributors. By reducing friction around formatting rules (even for
> > > those
> > > > unfamiliar with Alibaba’s specific guidelines), Spotless could lower
> the
> > > > barrier to entry and streamline collaboration. The JUnit reference
> adds
> > > > significant credibility—seeing a widely-used project successfully
> adopt
> > > it
> > > > gives confidence in its feasibility.
> > > >
> > > >
> > > > Best Regards,
> > > > Jiangke Wu(xingfudeshi)
> > > >
> > > >
> > > > On Sat, Feb 22, 2025 at 5:30 PM Yongjun Hong <dev.yongj...@gmail.com
> >
> > > wrote:
> > > >
> > > > > Dear Seata community,
> > > > >
> > > > > Checkstyle is a great tool for maintaining code formatting, but it
> only
> > > > > points out issues without automatically fixing them. On the other
> hand,
> > > > > Spotless provides an apply feature that can automatically format
> the
> > > code,
> > > > > making it much more convenient to use.Since Seata is an open-source
> > > project
> > > > > under Apache, developers from all over the world contribute to it.
> > > While it
> > > > > would be ideal if everyone were already familiar with Alibaba's
> > > Checkstyle
> > > > > rules, many contributors, including myself, may not be.
> > > > >
> > > > > With that in mind, adopting Spotless could be a good option. For
> > > reference,
> > > > > JUnit, a project I have contributed to multiple times, has
> integrated
> > > > > Spotless, and I found it to be very convenient. What do you think
> about
> > > > > using Spotless?
> > > > >
> > > > > Best regards,
> > > > > Yongjun
> > > > >
> > > > > PS. Dubbo community is using the Spotless plugin.
> > > > >
> > > > >
> > >
> https://github.com/apache/dubbo/blob/cedc58316ddce533644aa627e5233711907c2e62/pom.xml#L172
> > > > >
> > > > > Related document
> > > > > - https://github.com/diffplug/spotless
> > > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscr...@seata.apache.org
> > > For additional commands, e-mail: dev-h...@seata.apache.org
> > >
> > >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@seata.apache.org
> For additional commands, e-mail: dev-h...@seata.apache.org
>
>

Reply via email to