If the component codebase is java-only, is it permissible to use test
frameworks that use other JVM languages?  I am talking about things like
Spock or Kotest.

On Sun, Nov 19, 2023 at 9:21 AM Steve973 <steve...@gmail.com> wrote:

> Oh, regarding my other question, which might have gotten lost among the
> bigger discussion about Lombok: is the camel component codebase java-only,
> or is Kotlin also ok?
>
> On Sun, Nov 19, 2023 at 9:20 AM Steve973 <steve...@gmail.com> wrote:
>
>> Thanks, Andra, for the informative reply.  I understand and appreciate
>> your assessment, and it seems like the correct decision for Apache
>> Camel, given your reasoning.  That clears a lot of things up for me.  My
>> questions are only out of curiosity, so I hope this discussion is
>> reasonable and welcome for you and Claus.  Making the decision for everyone
>> else -- a considerably large community -- is, perhaps, my favorite point on
>> your list.  I had not considered that, but that's huge!  It is also good to
>> know that delombok might not be reliable, since I have not used it before.
>> I will keep that in mind in the future.  I am going to experiment with
>> that, so that I might know what to expect.
>>
>> For only the sake of this discussion (and not in the hope that the use of
>> lombok might be reconsidered), I would like to offer a couple of points for
>> lombok use *outside of Camel and its related repositories*:
>> 1. Since version 1.12, javadoc is handled quite well, and you can see
>> more here <https://projectlombok.org/features/GetterSetter> at the end
>> of the "overview" section (at the top).
>> 2. For me, it is not a matter of laziness; as you said, most of the
>> boilerplate is easily generated by IDEs.  To me, it is a matter of "
>> *boilerplate noise"*.  When I look at source code, and when most of the
>> code that is on my screen is only the business logic, then that makes for a
>> nicely decluttered view.  As a workaround, we could utilize things like
>> editor folding regions for getter/setter methods.  Another workaround, for
>> builders, is to use an IDE plugin to generate them.
>>
>> Thanks again!  I always enjoy the discussion.
>>
>> On Sun, Nov 19, 2023 at 8:51 AM Andrea Cosentino <anco...@gmail.com>
>> wrote:
>>
>>> Last but not least, there are no clear, IMO, advantages is using it,
>>> despite the fact you'll see less boilerplate code. This laziness is
>>> something I don't understand. IDEs will generate setters/getters for you
>>> just with a shortcut on classes with thousands of fields.
>>>
>>> Il giorno dom 19 nov 2023 alle ore 14:47 Andrea Cosentino <
>>> anco...@gmail.com>
>>> ha scritto:
>>>
>>> > Hello,
>>> >
>>> > Let me add also add a couple of points:
>>> > 1. It's true that is just a compile dependency but when you decide to
>>> use
>>> > lombok, you also decide that everyone else who deals with your code
>>> will
>>> > have to use lombok. Lombok is special in that it is a build-time
>>> dependency
>>> > and your IDE needs plugins to figure out what is going on. So this is
>>> a big
>>> > drawback in my opinion.
>>> > 2. Going back from Lombok to without Lombok, in big projects is not
>>> easy.
>>> > Delombok is not an answer, because it's not reliable.
>>> > 3. We are using the javadoc on getter and setter for generating
>>> > documentation, with Lombok we need to find a different way and since
>>> the
>>> > code is generated I don't think it would be easy.
>>> > 4. Debugging Lombok is a pain.
>>> >
>>> > and I could go ahead.
>>> >
>>> > Il giorno dom 19 nov 2023 alle ore 14:12 Claus Ibsen <
>>> > claus.ib...@gmail.com> ha scritto:
>>> >
>>> >> Hi
>>> >>
>>> >> No lombok is not allowed - we have as minimal dependency as possible.
>>> >>
>>> >>
>>> >>
>>> >> On Sun, Nov 19, 2023 at 2:06 PM Steve973 <steve...@gmail.com> wrote:
>>> >>
>>> >> > Hello.  I completely understand the perspective of limiting the
>>> >> addition of
>>> >> > libraries for various reasons, and especially when the library is
>>> >> included
>>> >> > in the distribution.  I know that I have asked about Lombok before,
>>> but
>>> >> it
>>> >> > is great for eliminating a lot of boilerplate code, especially when
>>> a
>>> >> class
>>> >> > cannot be created as a Java 17 record.  Also, Lombok is a
>>> compile-only
>>> >> > dependency that uses annotation processing to generate the
>>> >> aforementioned
>>> >> > boilerplate.  The license also seems compatible.  Is this something
>>> that
>>> >> > can be used in the coding of a component?  If not, could somebody
>>> please
>>> >> > explain the problem with it?
>>> >> >
>>> >> > Thanks,
>>> >> > Steve
>>> >> >
>>> >>
>>> >>
>>> >> --
>>> >> Claus Ibsen
>>> >> -----------------
>>> >> @davsclaus
>>> >> Camel in Action 2: https://www.manning.com/ibsen2
>>> >>
>>> >
>>>
>>

Reply via email to