Has anyone looked into eclipse-jdt or have any experience with that in the past?

Any ideas on how to change the max line length in the Google format? I know it 
is their deliberate choice not to expose that config but I would not mind a 
workaround.

- Anton

> On Jul 29, 2022, at 5:58 PM, Szehon Ho <szehon.apa...@gmail.com> wrote:
> 
> Thanks for the auto formatting initiative, I think its really a time saver.  
> 
> I also agree about the line length, it would be better to keep it at 120 and 
> a bummer it has to be reduced to 100 now.  
> 
> Looking at palantir-format, I actually like some of their format choices like 
> line-length and also not splitting lambda argument (which is usually a few 
> characters) and block into multiple line like the google-format like we had 
> before, its too bad they can't customize the indent.  Not sure if there's an 
> easy way forward with that, and someone with interest/time to do it.
> 
> Thanks
> Szehon
> 
> On Fri, Jul 29, 2022 at 12:27 PM Anton Okolnychyi 
> <aokolnyc...@apple.com.invalid> wrote:
> I am afraid it is not easily possible. I looked into it a bit and even if we 
> create a custom formatting step in Spotless (easy), there is no way to simply 
> change the line limit. We would have to fork the Google format lib. I don’t 
> think it is worth. Let’s just stick to 100 then.
> 
> - Anton
> 
>> On Jul 29, 2022, at 10:03 AM, Ryan Blue <b...@tabular.io 
>> <mailto:b...@tabular.io>> wrote:
>> 
>> Is line length something that we can fix? That seems like a reasonable 
>> change to Google style that we may be able to do something about.
>> 
>> On Fri, Jul 29, 2022 at 9:52 AM Anton Okolnychyi 
>> <aokolnyc...@apple.com.invalid <mailto:aokolnyc...@apple.com.invalid>> wrote:
>> Austin, I don’t think anyone questions the value of consistent code or the 
>> value of automatic formatting. It is quite the opposite, actually. I think 
>> everyone on this thread actually cares about those things :)
>> 
>> Was automatic formatting helpful? For sure! Did changing the line limit from 
>> 120 to 100 on a 4+ year project brought a lot of value, for example? I am 
>> not sure.
>> 
>> - Anton
>> 
>>> On Jul 29, 2022, at 9:44 AM, Yufei Gu <flyrain...@gmail.com 
>>> <mailto:flyrain...@gmail.com>> wrote:
>>> 
>>> It is the right direction to remove the trivial part of the coding. Just 
>>> wondering why we change the max line length from 120 to 100.
>>> 
>>> Best,
>>> 
>>> Yufei
>>> 
>>> `This is not a contribution`
>>> 
>>> 
>>> On Fri, Jul 29, 2022 at 9:21 AM Austin Bennett <whatwouldausti...@gmail.com 
>>> <mailto:whatwouldausti...@gmail.com>> wrote:
>>> Probably worthwhile to really think about the long-term desired outcomes.  
>>> Even a large, one-time, disruption of the codebase for the sake of future 
>>> consistency could be quite valuable.  Remember you'll also lose fidelity 
>>> with history/blame.  At some point a 'breaking' ( in a different sense ) 
>>> change might be useful rather than anchoring on what exists.  
>>> 
>>> 
>>> 
>>> On Fri, Jul 29, 2022 at 8:59 AM Anton Okolnychyi 
>>> <aokolnyc...@apple.com.invalid <mailto:aokolnyc...@apple.com.invalid>> 
>>> wrote:
>>> On a side note, having automatic formatting was really nice. I think it is 
>>> the right direction. If we only had a way to tweak a few rules like the max 
>>> line length, one-line Javadoc and maybe consider using the Google format 
>>> for 1.8 cause we are using the 1.7 format at the moment, which was not 
>>> designed for lambdas. That way we may have all the benefits of automatic 
>>> formatting with less disruption to the code.
>>> 
>>> - Anton
>>> 
>>>> On Jul 28, 2022, at 7:35 PM, Anton Okolnychyi 
>>>> <aokolnyc...@apple.com.INVALID <mailto:aokolnyc...@apple.com.INVALID>> 
>>>> wrote:
>>>> 
>>>> I had a chance to rebase one of my PRs. It is really hard to justify the 
>>>> new max line length of 100 chars. I think the most unreadable code is 
>>>> usually around places when single statements are split into multiple 
>>>> lines. Since Java has explicit types and we prefer full and elaborate 
>>>> class/var names, the new line limit alone triggered so many changes and 
>>>> requires splitting a lot of statements that would previously fit on a 
>>>> single line.
>>>> 
>>>> The max line length is one of the reasons why Palantir folks forked the 
>>>> Google format.
>>>> 
>>>> https://github.com/palantir/palantir-java-format 
>>>> <https://github.com/palantir/palantir-java-format>
>>>> 
>>>> - Anton
>>>> 
>>>> 
>>>>> On Jul 28, 2022, at 7:42 AM, Eduard Tudenhoefner <edu...@tabular.io 
>>>>> <mailto:edu...@tabular.io>> wrote:
>>>>> 
>>>>> Thanks for your honest feedback Anton, which I really appreciate. I agree 
>>>>> with the points you brought up.
>>>>> 
>>>>> I don't prefer the Google Java Format either, but it is at least 
>>>>> something that produces consistent results across tools.
>>>>> If you ask me, I would love to customize the code format and have it as 
>>>>> close as possible to what the Iceberg project had. But one of the reasons 
>>>>> why the format isn't customizable is because it is difficult to support 
>>>>> such customizations across tools.
>>>>> 
>>>>> The problem with code format is that there is no single format that can 
>>>>> satisfy the preferences of everybody. However, from my experience, once 
>>>>> people start to use any code format that produces consistent results
>>>>> across Eclipse/IntelliJ/cmd line, people stop worrying about code format 
>>>>> details.
>>>>> 
>>>>> This is also one of the reasons why the creators of Go decided to have a 
>>>>> code formatter built-in (https://go.dev/doc/effective_go#formatting 
>>>>> <https://go.dev/doc/effective_go#formatting>).
>>>>> 
>>>>> In the long run I think the decision to use Spotless + code formatting 
>>>>> helps, especially for new people that want to contribute and don't want 
>>>>> to feel frustrated due to review feedback around code style.
>>>>> 
>>>>> Eduard
>>>>> 
>>>>> On Thu, Jul 28, 2022 at 6:15 AM Anton Okolnychyi <aokolnyc...@apple.com 
>>>>> <mailto:aokolnyc...@apple.com>> wrote:
>>>>> I am late to the discussion, but I would like to express my opinion.
>>>>> 
>>>>> As someone who deeply cares about the code consistency and leaves a lot 
>>>>> of style-related nits, I am definitely happy to see efforts to simplify 
>>>>> the life of the reviewers and automate the formatting process. Explaining 
>>>>> the code style to new contributors consumes a lot of time and results in 
>>>>> more iterations on PRs. Automating this would be great!
>>>>> 
>>>>> However, I am concerned regarding the changes merged in PR #5312.
>>>>> 
>>>>> - Many changes that went in that PR were against the original code style 
>>>>> of the project that we, committers and contributors, tried to maintain 
>>>>> for all these years. I think we had a lot of well-structured and 
>>>>> consistent places, which attracted devs to Iceberg.
>>>>> - I feel the code quality dropped as some places were written in the old 
>>>>> style and now look really weird. If we followed the new style originally, 
>>>>> maybe, it would look much better as we would structure the code 
>>>>> differently.
>>>>> - As a someone whose team maintains an internal fork that is very close 
>>>>> to master (I know we are not the only ones), I feel such a massive change 
>>>>> will be a challenge to cherry-pick. I am not convinced introducing 
>>>>> automatic formatting had to be so radical.
>>>>> 
>>>>> The first two points concern me the most. Since I am late to the 
>>>>> discussion, it would not be fair for me to request changes. However, I 
>>>>> strongly suggest the community to reconsider the approach we took while 
>>>>> we haven’t merged many changes on top of PR #5312. 
>>>>> 
>>>>> To sum up, I definitely support automating the formatting to simplify 
>>>>> reviews and help new contributors but I would try to come with a way to 
>>>>> make it less radical and follow whatever we had all these years. We did 
>>>>> discuss some of the formatting guidelines a few years ago and it is all 
>>>>> different now.
>>>>> 
>>>>> - Anton
>>>>> 
>>>>>> On Jul 27, 2022, at 11:40 AM, Steven Wu <stevenz...@gmail.com 
>>>>>> <mailto:stevenz...@gmail.com>> wrote:
>>>>>> 
>>>>>> Eduard, thank you for driving this effort! Great work!
>>>>>> 
>>>>>> On Wed, Jul 27, 2022 at 11:11 AM Eduard Tudenhoefner <edu...@tabular.io 
>>>>>> <mailto:edu...@tabular.io>> wrote:
>>>>>> Hey everyone, 
>>>>>> 
>>>>>> Google Java Format + Spotless integration have been merged as part of 
>>>>>> https://github.com/apache/iceberg/pull/5266 
>>>>>> <https://github.com/apache/iceberg/pull/5266>.
>>>>>> 
>>>>>> The big bang reformatting (aka spotlessApply) will happen as part of 
>>>>>> https://github.com/apache/iceberg/pull/5312 
>>>>>> <https://github.com/apache/iceberg/pull/5312> and once this PR is 
>>>>>> merged, please perform the following steps if you have open PRs: 
>>>>>> 
>>>>>> 1. Rebase your PR branch against the commit before the „Big Bang“
>>>>>> 2. Run `./gradlew spotlessApply`
>>>>>> 3. Squash all commits
>>>>>> 4. Rebase against the latest HEAD of the master branch
>>>>>> 5. Force-push your branch
>>>>>> 
>>>>>> This should hopefully produce a minimum of conflicts on PRs.
>>>>>> 
>>>>>> Additionally, make sure to install the google-java-format plugin for 
>>>>>> your IDE as outlined in https://github.com/apache/iceberg-docs/pull/125 
>>>>>> <https://github.com/apache/iceberg-docs/pull/125> so that you can format 
>>>>>> code inside the IDE as well.
>>>>>> 
>>>>>> Eduard
>>>>>> 
>>>>>> On Fri, Jul 15, 2022 at 12:45 PM Eduard Tudenhoefner <edu...@tabular.io 
>>>>>> <mailto:edu...@tabular.io>> wrote:
>>>>>> That's correct Ryan. The Google style is what can be applied across 
>>>>>> tools and Spotless is the tool that we use to check and apply that style 
>>>>>> (and also auto-apply the license header). The apply part is the 
>>>>>> important piece that Checkstyle for example is missing (as it's tedious 
>>>>>> to manually apply what checkstyle:check complains about).
>>>>>> 
>>>>>> Additionally, Spotless 
>>>>>> <https://github.com/diffplug/spotless/tree/main/plugin-gradle> supports 
>>>>>> a bunch of other languages, so it would even be possible to use it for 
>>>>>> auto-formatting Gradle files (or Scala files using scalafmt) if we 
>>>>>> wanted to, but for now I would probably focus on the Java codebase.
>>>>>> 
>>>>>> Eduard
>>>>>> 
>>>>>> On Thu, Jul 14, 2022 at 6:58 PM Ryan Blue <b...@tabular.io 
>>>>>> <mailto:b...@tabular.io>> wrote:
>>>>>> Okay, I understand. So it isn't that spotless is supported across tools, 
>>>>>> it is that google style is supported and we can use Spotless to both 
>>>>>> check and apply that style. Is that correct?
>>>>>> 
>>>>>> On Thu, Jul 14, 2022 at 9:56 AM Eduard Tudenhoefner <edu...@tabular.io 
>>>>>> <mailto:edu...@tabular.io>> wrote:
>>>>>> Yeah it's how Dmitri said, the Google style is most likely on purpose 
>>>>>> not configurable, because otherwise it's getting more difficult to 
>>>>>> achieve the same formatting results across IDEs & CMD line. 
>>>>>> 
>>>>>> 
>>>>>> On Wed, Jul 13, 2022 at 7:39 PM Dmitri Bourlatchkov 
>>>>>> <dmitri.bourlatch...@dremio.com <mailto:dmitri.bourlatch...@dremio.com>> 
>>>>>> wrote:
>>>>>> Yeah, the Google style has very specific wrapping limits and javadoc 
>>>>>> format. It is not configurable, if we go with it.
>>>>>> 
>>>>>> From my POV, using another style would be fine. However, with a custom 
>>>>>> style it can be hard and tricky to ensure that all IDEs enforce it the 
>>>>>> same way as spotless.
>>>>>> 
>>>>>> The Google style has a plugin at least for IntelliJ (and likely for 
>>>>>> Eclipse too) so it will behave the same way in IDE and cmd. line build.
>>>>>> 
>>>>>> On Wed, Jul 13, 2022 at 1:28 PM Ryan Blue <b...@tabular.io 
>>>>>> <mailto:b...@tabular.io>> wrote:
>>>>>> Is there any value in trying to get Spotless to match the current format 
>>>>>> as closely as possible? It would be great to have fewer changes.
>>>>>> 
>>>>>> For example, when I tested the apply, I see this:
>>>>>> 
>>>>>> -  /**
>>>>>> -   * Returns an initialized {@link AliyunProperties}
>>>>>> -   */
>>>>>> +  /** Returns an initialized {@link AliyunProperties} */
>>>>>> Changes like that don’t seem very valuable to me. Similarly, it looks 
>>>>>> like a lot of text is wrapped at a different line length. If we can 
>>>>>> alter that, we could easily avoid a lot of changes.
>>>>>> 
>>>>>> Ryan
>>>>>> 
>>>>>> 
>>>>>> On Wed, Jul 13, 2022 at 7:41 AM Eduard Tudenhoefner <edu...@tabular.io 
>>>>>> <mailto:edu...@tabular.io>> wrote:
>>>>>> As a first step, I created https://github.com/apache/iceberg/pull/5266 
>>>>>> <https://github.com/apache/iceberg/pull/5266> which configures Spotless 
>>>>>> to use the Google Java Format and also apply the correct copyright 
>>>>>> header for Java files.
>>>>>> 
>>>>>> Once this PR is merged, the next steps would be:
>>>>>> removing conflicting Checkstyle rules that are not in line with the 
>>>>>> Google format
>>>>>> formatting the entire code base via `./gradlew spotlessApply`
>>>>>> setting `enforceCheck` to `true` in 
>>>>>> https://github.com/apache/iceberg/blob/80318d8cfbeb0d96d0afc27c84bc3dbddde35344/baseline.gradle#L48
>>>>>>  
>>>>>> <https://github.com/apache/iceberg/blob/80318d8cfbeb0d96d0afc27c84bc3dbddde35344/baseline.gradle#L48>
>>>>>>  so that validation fails if code isn't properly formatted
>>>>>> updating docs around the current Formatter usage and how to configure 
>>>>>> Eclipse/IntelliJ
>>>>>> The first 3 steps should be done together as part of the big bang.
>>>>>> 
>>>>>> Eduard
>>>>>> 
>>>>>> On Mon, Jul 11, 2022 at 10:54 PM Ryan Blue <b...@apache.org 
>>>>>> <mailto:b...@apache.org>> wrote:
>>>>>> Okay, it sounds like there's mostly agreement for going with spotless. 
>>>>>> Let's try that out. We'll work on some changes to add spotless so that 
>>>>>> `spotlessApply` works. Then we can do the big bang migration (which I 
>>>>>> also agree is the best option) just before the 1.0.
>>>>>> 
>>>>>> Thanks, everyone!
>>>>>> 
>>>>>> On Mon, Jul 11, 2022 at 11:50 AM Dmitri Bourlatchkov 
>>>>>> <dmitri.bourlatch...@dremio.com <mailto:dmitri.bourlatch...@dremio.com>> 
>>>>>> wrote:
>>>>>> My experience with the Google Code Style + Spotless was positive too.
>>>>>> 
>>>>>> I'd be fine with another code style as long as it is "deterministic" 
>>>>>> (e.g. does not make changes on repeated execution) and works in IntelliJ 
>>>>>> IDEA / Eclipse / etc.
>>>>>> 
>>>>>> Regarding cherry-picking into older branches, I think Robert's 
>>>>>> suggestion can be tweaked slightly to be helpful there too:
>>>>>> 
>>>>>> 1. Checkout old branch
>>>>>> 2. Apply the new style (run gradle ...)
>>>>>> 3. Cherry-pick without committing
>>>>>> 4. Manually revert to old style
>>>>>> 5. Commit
>>>>>> 6. Reset to original branch HEAD
>>>>>> 7. Cherry pick commit 5 again
>>>>>> 
>>>>>> It's a bit lengthy and may be a tedious process, but it should allow 
>>>>>> applying the git-level changes mostly automatically. 
>>>>>> 
>>>>>> Cheers,
>>>>>> Dmitri.
>>>>>> 
>>>>>> 
>>>>>> On Fri, Jul 8, 2022 at 2:53 AM Robert Stupp <sn...@snazy.de 
>>>>>> <mailto:sn...@snazy.de>> wrote:
>>>>>> From my experience, it’s a big win to have automatic code formatting.
>>>>>> 
>>>>>> In projectnessie we use automatic code formatting for all languages and 
>>>>>> haven’t serious issues with Spotless. It is just nice to not have to 
>>>>>> bike shed about whitespaces, line breaks, brackets, etc. It was a bit of 
>>>>>> discussion, because people had bad memories from past experiences with 
>>>>>> automatic code formatting breaking code and introducing subtle bugs.
>>>>>> 
>>>>>> I think that using code styles that „do not allow bike shedding“ (Google 
>>>>>> Code Style) are a very good option.
>>>>>> 
>>>>>> So far none of us has seen issues with any of the Spotless code 
>>>>>> formatters that we use: XML, Kotlin/Gradle, Kotlin, Antlr4, Java, Scala 
>>>>>> - relying on the „standard“ settings w/o any customizations. We use this 
>>>>>> piece of code, externalized into an internal Gradle plugin: 
>>>>>> https://github.com/projectnessie/gradle-build-plugins/blob/main/spotless/src/main/kotlin/org/projectnessie/buildtools/spotless/SpotlessHelperPlugin.kt
>>>>>>  
>>>>>> <https://github.com/projectnessie/gradle-build-plugins/blob/main/spotless/src/main/kotlin/org/projectnessie/buildtools/spotless/SpotlessHelperPlugin.kt>
>>>>>>  For Iceberg, it would probably be nice to have some Groovy code 
>>>>>> formatting for the build scripts as well.
>>>>>> 
>>>>>> Sure, the migration will add some pain. IMHO the best option is a „big 
>>>>>> bang“ across the whole code base, because it happens only once. 
>>>>>> Migrating one module after another is a „repeated series of pains“.
>>>>>> 
>>>>>> Since the result of a `./gradlew spotlessApply` is deterministic, people 
>>>>>> that have open PRs could:
>>>>>> 1. Rebase their PR branch against the commit before the „Big Bang“
>>>>>> 2. Include a commit with the necessary Gradle build change (one the only 
>>>>>> contains the changes to add Spotless)
>>>>>> 3. Do the `./gradlew spotlessApply`
>>>>>> 4. Squash all commits in the PR-branch
>>>>>> 5. Rebase again - against the HEAD of the master branch
>>>>>> 6. Force-push PR-branch
>>>>>> Because git is „clever enough“ to eliminate the „duplicated/unrelated 
>>>>>> changes“, the final result of the above steps is just the diff with the 
>>>>>> changes for the open PR.
>>>>>> 
>>>>>> 
>>>>>>> Am 08.07.2022 um 00:59 schrieb Ryan Blue <b...@tabular.io 
>>>>>>> <mailto:b...@tabular.io>>:
>>>>>>> 
>>>>>>> We were just talking about this proposal internally. I think it would 
>>>>>>> be great to have automatic code formatting, especially since we have to 
>>>>>>> point out a lot of changes manually. The main question is how to get 
>>>>>>> there without too much disruption. This came up in our discussions 
>>>>>>> around the upcoming 1.0 release, since that may be a good opportunity 
>>>>>>> to make all of the code changes.
>>>>>>> 
>>>>>>> For background, the main concern about adding something like this is 
>>>>>>> applying all of the changes needed to get the existing code to conform 
>>>>>>> to the new style. That is really disruptive because it will cause all 
>>>>>>> of the PRs to need to be rebased and makes it really difficult to 
>>>>>>> cherry-pick changes from after the code formatting happens to branches 
>>>>>>> that were created before code formatting. The 1.0 release makes a good 
>>>>>>> opportunity because we are making other changes (removing deprecations) 
>>>>>>> and will hopefully have people upgrading their branches to the new 
>>>>>>> major version, rather than cherry picking.
>>>>>>> 
>>>>>>> This is as good a time as any to add automatic code formatting, but 
>>>>>>> it's up to the community: so should we refromat the project and apply 
>>>>>>> spotless code formatting everywhere? I'm interested to hear opinions!
>>>>>>> 
>>>>>>> Ryan
>>>>>>> 
>>>>>>> On Thu, Mar 10, 2022 at 3:00 AM Eduard Tudenhoefner <edu...@dremio.com 
>>>>>>> <mailto:edu...@dremio.com>> wrote:
>>>>>>> Hello everyone,
>>>>>>> 
>>>>>>> I would like to get the discussion started around automatic code 
>>>>>>> formatting + enforcing and how we get there.
>>>>>>> 
>>>>>>> Currently we use Checkstyle check to enforce formatting. However, the 
>>>>>>> problem with that is that you still have to manually do the actual 
>>>>>>> formatting.
>>>>>>> 
>>>>>>> What I would like to propose is the usage of Spotless 
>>>>>>> (https://github.com/diffplug/spotless 
>>>>>>> <https://github.com/diffplug/spotless>) for checking and enforcing Java 
>>>>>>> code style (it can also enforce code style for Scala, Markdown, ... 
>>>>>>> btw). Spotless is being used by many projects 
>>>>>>> (https://github.com/search?l=gradle&q=spotless&type=Code 
>>>>>>> <https://github.com/search?l=gradle&q=spotless&type=Code>) and comes 
>>>>>>> essentially with two tasks:
>>>>>>> * spotlessCheck: Checks that sourcecode satisfies formatting steps
>>>>>>> * spotlessApply: Applies code formatting steps to sourcecode in-place
>>>>>>> 
>>>>>>> 
>>>>>>> Code format
>>>>>>> 
>>>>>>> The problem with code format is that there is no single format that can 
>>>>>>> satisfy the preferences of everybody. However, from my experience, once 
>>>>>>> people start to use any code format that produces consistent results 
>>>>>>> across Eclipse/IntelliJ/cmd line, people stop worrying about code 
>>>>>>> format details. 
>>>>>>> This is also one of the reasons why the creators of Go decided to have 
>>>>>>> a code formatter built-in (https://go.dev/doc/effective_go#formatting 
>>>>>>> <https://go.dev/doc/effective_go#formatting>):
>>>>>>> 
>>>>>>> Formatting issues are the most contentious but the least consequential. 
>>>>>>> People can adapt to different formatting styles but it's better if they 
>>>>>>> don't have to, and less time is devoted to the topic if everyone 
>>>>>>> adheres to the same style. The problem is how to approach this Utopia 
>>>>>>> without a long prescriptive style guide.
>>>>>>> With Go we take an unusual approach and let the machine take care of 
>>>>>>> most formatting issues. The gofmt program (also available as go fmt, 
>>>>>>> which operates at the package level rather than source file level) 
>>>>>>> reads a Go program and emits the source in a standard style of 
>>>>>>> indentation and vertical alignment, retaining and if necessary 
>>>>>>> reformatting comments.
>>>>>>> 
>>>>>>> 
>>>>>>> I would like to propose using the Google Java Format with Spotless. The 
>>>>>>> reason for this format is essentially that this is a widely-adopted 
>>>>>>> code format that is designed specifically for code reviews (since we're 
>>>>>>> spending more time reviewing code than writing it). 
>>>>>>> Additionally, it produces consistent formatting results across 
>>>>>>> Eclipse/IntelliJ/cmd line, which I think is another very important 
>>>>>>> factor.
>>>>>>> 
>>>>>>> Thus, our initial Gradle spotless configuration could look similar to 
>>>>>>> the above below:
>>>>>>> 
>>>>>>> 
>>>>>>> pluginManager.withPlugin('com.diffplug.spotless') {
>>>>>>>     spotless {
>>>>>>>       // don't run spotlessCheck during gradle check task during the 
>>>>>>> transition phase
>>>>>>>       enforceCheck = false
>>>>>>>       java {
>>>>>>>         target 'src/main/java/**/*.java', 'src/test/java/**/*.java', 
>>>>>>> 'src/jmh/java/**/*.java'
>>>>>>>         googleJavaFormat()
>>>>>>>       }
>>>>>>>     }
>>>>>>> }
>>>>>>> 
>>>>>>> We don't have to use Google Java Format. Spotless also supports 
>>>>>>> formatting the code with other formats, but from previous experience 
>>>>>>> the Google Java Format seemed to be really the only one to produce 
>>>>>>> consistent results across Eclipse/IntelliJ/cmd line.
>>>>>>> 
>>>>>>> 
>>>>>>> How do we get to a point where the entire codebase is properly 
>>>>>>> formatted (and enforceCheck = false can be removed)?
>>>>>>> 
>>>>>>> Now this is a difficult question. Obviously we don't want to have a 
>>>>>>> single format-everything commit, as that would affect lots of in-flight 
>>>>>>> PRs.
>>>>>>> 
>>>>>>> There would have to be some form of gradual formatting, for example 
>>>>>>> module by module. Spotless offers something called Ratched 
>>>>>>> (https://github.com/diffplug/spotless/tree/main/plugin-gradle#ratchet 
>>>>>>> <https://github.com/diffplug/spotless/tree/main/plugin-gradle#ratchet>) 
>>>>>>> that allows to enforce code format gradually (but I'm not sure this 
>>>>>>> would be a good thing either).
>>>>>>> 
>>>>>>> How exactly we'd like to approach this transitioning phase this is a 
>>>>>>> completely separate discussion, but I feel like at least we could get 
>>>>>>> the ball rolling so that we make it also easier for newcomers to 
>>>>>>> contribute to the project, since it would be straightforward for them 
>>>>>>> to make their PRs adhere to the code format and also save time during 
>>>>>>> PR reviews.
>>>>>>> 
>>>>>>> 
>>>>>>> Eduard 
>>>>>>> 
>>>>>>> 
>>>>>>> -- 
>>>>>>> Ryan Blue
>>>>>>> Tabular
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> Ryan Blue
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> Ryan Blue
>>>>>> Tabular
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> Ryan Blue
>>>>>> Tabular
>>>>> 
>>>> 
>>> 
>> 
>> 
>> 
>> -- 
>> Ryan Blue
>> Tabular
> 

Reply via email to