I recommend creating this small task on GitHub Issues or JIRA, adding the 
"newcomer" tag to provide a good chance (to contribute) for newcomers.

Supporting new developers is the best thing for the Drill community.

Thanks.

> 2022年1月24日 下午5:01,James Turton <[email protected]> 写道:
> 
> Okay, let's approach it that way around: remove it entirely, and Lombok can 
> make a return to plugins *after* they start being built and tested away from 
> the main tree, if any plugin authors want it.
> 
> P.S. Plugins did indeed not annotate any data objects.  Lombok's use there, 
> in what I've seen, has been for the automatic generation of stuff like 
> constructors, getters, setters, loggers, toStrings and hashCodes.  That's 
> just for interest's sake, not an effort to remotivate Lombok's inclusion.
> 
> On 2022/01/24 10:16, Paul Rogers wrote:
>> A quick check of the source suggests that the Easy Format config builder
>> (which is a nice addition) does not use Lomboc. Someone coded up (or had
>> their IDE code up) the setters one-by-one. Makes sense, Lombok isn't for
>> the builder pattern.
>> 
>> Note that, allowing Lomboc in any part of Drill is the same as allowing it
>> everywhere. The old CS thing that the only numbers that matter are 0, 1 and
>> infinity. To do a PR, all tests should pass, which means that the IDE needs
>> to be able to debug any that have problems. If any plugin uses Lomboc, then
>> developers have to wrestle with it. (But, what is a plugin doing with data
>> objects?)
>> 
>> So, perhaps remove it entirely for now. It can be added back for extensions
>> when those extensions are separate projects. (Though, adding that
>> dependency on one extension adds it for everyone. Will there be Lomboc
>> version conflicts? Should we wait for class loader isolation before
>> allowing it back?)
>> 
>> In general, Drill is so large that it should not take on more dependencies
>> unless they are a huge win. This is a reason to move the obscure plugins
>> out of the core: mucking with distributed systems should also require one
>> to muck with Excel.
>> 
>> - Paul
>> 
>> On Sun, Jan 23, 2022 at 11:59 PM James Turton <[email protected]> wrote:
>> 
>>> I'll prepare a PR that unlomboks everything except contrib.  Since we're
>>> talking about contrib splitting off into one or many independent code
>>> bases (c.f. install "Drill 2 and plug-in organisation"), working to make
>>> it conform to coding standards that we're selecting for core Drill
>>> probably won't pay.
>>> 
>>> On 2022/01/23 01:36, Charles Givre wrote:
>>>> I guess the question is do we de-lombok what has already been done?  I
>>> really like the builders for plugin configs, but I'm generally in agreement
>>> that if it is causing problems building, we should ditch it.
>>>> Best,
>>>> -- C
>>>> 
>>>> 
>>>> 
>>>>> On Jan 22, 2022, at 5:02 PM, Ted Dunning <[email protected]> wrote:
>>>>> 
>>>>> The Lombok story is better in Intellij, possibly because the Lombok devs
>>>>> use IntelliJ like the majority of devs. Once I knew to install the
>>> plugin,
>>>>> things were at least comprehensible.
>>>>> 
>>>>> But the problem is that it isn't obvious. As a newcomer, you don't know
>>>>> what you don't know and because Lombok's major effect is code that isn't
>>>>> there, it isn't obvious where to look.
>>>>> 
>>>>> The point about it not helping that much due to Drill's design (good
>>> point,
>>>>> paul) is apposite, but I think the naive reader issue is even bigger.
>>>>> 
>>>>> Net, as a person who isn't developing anything for Drill just lately, I
>>>>> don't think it's a good idea at all.
>>>>> 
>>>>> 
>>>>> 
>>>>> On Sat, Jan 22, 2022 at 6:37 AM luoc <[email protected]> wrote:
>>>>> 
>>>>>> Hi all,
>>>>>> 
>>>>>> I have a story here. In Oct 2021, I upgraded Eclipse to the latest
>>> release
>>>>>> (2021–09) and then found out that the Lombok dependency was added Drill
>>>>>> repository, So I installed Lombok (as a new plugin) from Eclipse
>>>>>> Marketplace as I used to. Finally, restarted the IDE and prepared to
>>> open
>>>>>> the Drill project, but it is crushed cause by the issue #2956 <
>>>>>> https://github.com/projectlombok/lombok/issues/2956>, Lombok was not
>>>>>> available until I looked at a temporary solution..
>>>>>> 
>>>>>> I use both Eclipse and IDEA, but I use Eclipse more often. I have no
>>>>>> objection to the use of Lombok, but suggest the following three points
>>> :
>>>>>> 1. Could we use Lombok only in `drill-contrib` module?
>>>>>> 
>>>>>> 2. Could we agree not to use Lombok in common module?
>>>>>> 
>>>>>> 3. It is best to update the dev documentation to describe this results
>>> if
>>>>>> we continue to use Lombok.
>>>>>> 
>>>>>> In fact, I have the same idea as Paul, more about balancing choices.
>>>>>> 
>>>>>> Thanks.
>>>>>> 
>>>>>>> 2022年1月22日 下午5:34,Paul Rogers <[email protected]> 写道:
>>>>>>> 
>>>>>>> Hi All,
>>>>>>> 
>>>>>>> I look at any tool as a cost/benefit tradeoff. If Drill were a typical
>>>>>>> business app, with lots of "data objects", then the hassle of Lomboc
>>>>>> might
>>>>>>> be a net win. However, the nature of Drill is that we have very few
>>> data
>>>>>>> objects. We have lots of Protobuf objects, or Jackson-serialized
>>> objects,
>>>>>>> but not too many data objects of the kind used with object-relational
>>>>>>> mappers.
>>>>>>> 
>>>>>>> On the other hand, I had to spend an hour or so trying to figure out
>>> why
>>>>>>> things would not build in Eclipse. Then, more time to figure out how
>>> to
>>>>>>> install the half-finished Lomboc plugin for Eclipse and various other
>>>>>>> fiddling.
>>>>>>> 
>>>>>>> So, I'd guess, on balance, Lombok has cost, and will continue to cost,
>>>>>> more
>>>>>>> time than it saved avoiding a few getter/setter methods. And, I agree
>>>>>> with
>>>>>>> Ted, Eclipse (and, I assume IntelliJ), is pretty quick at generating
>>>>>> those
>>>>>>> methods.
>>>>>>> 
>>>>>>> Since Lomboc has a cost, and is not a huge win, KISS suggests we avoid
>>>>>>> adding extra dependencies unnecessarily.
>>>>>>> 
>>>>>>> That's my 2 cents...
>>>>>>> 
>>>>>>> - Paul
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> On Fri, Jan 21, 2022 at 8:51 AM Ted Dunning <[email protected]>
>>>>>> wrote:
>>>>>>>> A couple of years ago, I had a dev introduce Lombok into some code
>>>>>> without
>>>>>>>> me knowing. That let me be a classic naive user.
>>>>>>>> 
>>>>>>>> The result was total confusion on my part. Sooo much code was being
>>>>>>>> automagically generated that I couldn't figure out the code and
>>> spent a
>>>>>> lot
>>>>>>>> of time chasing my tail and very little time looking at the crux of
>>> the
>>>>>>>> code.
>>>>>>>> 
>>>>>>>> My own personal preference is either
>>>>>>>> 
>>>>>>>> - use a language like Julia if you want magic. It's fantastic and
>>> all to
>>>>>>>> have amazing stuff and coders expect to see it.
>>>>>>>> 
>>>>>>>> - use an IDE to generate the boiler plate and put it into its own
>>> little
>>>>>>>> annex in the code with the interesting bits near the top of classes.
>>>>>> That
>>>>>>>> lets debuggers and IDEs that don't understand Lombok to function
>>> without
>>>>>>>> impairing readability much. Concurrent with that, use discipline to
>>> not
>>>>>> do
>>>>>>>> strange things like changing the expected meaning of the boilerplate.
>>>>>>>> 
>>>>>>>> That's my preference, but I wouldn't want to push that preference
>>> very
>>>>>>>> hard. My own prioritization is on readability of the code by
>>> outsiders.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Fri, Jan 21, 2022 at 2:25 AM James Turton <[email protected]>
>>> wrote:
>>>>>>>>> Hi again Devs
>>>>>>>>> 
>>>>>>>>> This one is simple to describe.  Lombok entered the Drill code base
>>>>>> this
>>>>>>>>> year, but not everyone feels that Lombok is appropriate for every
>>> code
>>>>>>>>> base.  To my, fairly limited, understanding the advantage of Lombok
>>> is
>>>>>>>>> that boilerplate code is reduced while the disadvantage is the
>>>>>>>>> deployment of code generation magic that can have untoward effects
>>> on
>>>>>>>>> build-time tools and IDEs.
>>>>>>>>> 
>>>>>>>>> So here is a chance to opine on Lombok if you'd like to.  My own
>>>>>> opinion
>>>>>>>>> is very near neutral and goes something like "It burned me a bit
>>> once,
>>>>>>>>> but hasn't since, and less boilerplate is nice.  I guess it can stay
>>>>>>>>> <shrug>.  I hope I don't regret this one day."
>>>>>>>>> 
>>>>>>>>> Regards
>>>>>>>>> James
>>>>>>>>> 
>>> 

Reply via email to