Sounds the proper and pragmatic approach.

Even if it generates too much code, we can clean it up later. That's better that wasting a lot of time rewriting the code by hand with the risk of introducing errors.

On 18/03/2025 20:43, Brian Demers wrote:
I've got a handful of delombok changes locally that I'll push later tonight.

My _normal_ process for this is using the "delombok" integration in Intellij, and then cleaning up any of the generated code.
reorganizing the getter/setters, removing any unrelated formatting changes.

The result should be the same code as with Lombok, but there are a couple cases where classes should just be marked deprecated.



On Tue, Mar 18, 2025 at 2:13 AM Emmanuel Lécharny <elecha...@gmail.com <mailto:elecha...@gmail.com>> wrote:

    Hi Brian,

    I changed the topic for clarity.

    The @Data is used quite extensively (122 instances). Many of them are
    totally useless, like for classes UnableToCreateResourceException,
    UnableToDeleteResourceException, etc.

    We most certainly can get rid of it for such class. For some others,
    like RepositoryRegistry, it's not obvious what it brings, as we will
    never use the hashCode or equals method, the public constructor with 2
    arguments will never be called either, and I question the toString()
    method.

    There is some work to be done in evaluating the 'cost' of such removal,
    so that we don't add unneeded methods.

    And btw this is the pb with Lombok: it offers you some convenient ways
    to add boilerplate code that could be tedious to write (hashCode,
    equals
    and toString), but do it witha  carpet bombing approach when applied
    blindly.


    Anyway, I'll analyze the various usage.

    On 15/03/2025 13:00, Brian Demers wrote:
     > Please do!
     > -Brian
     >
     >> On Mar 15, 2025, at 2:51 AM, Emmanuel Lécharny
    <elecha...@gmail.com <mailto:elecha...@gmail.com>> wrote:
     >>
     >> I have already removed all the @SLF4J bit, wanna me to push it?
     >>
     >>> On 14/03/2025 14:54, Brian Demers wrote:
     >>>     java -jar ~/Downloads/lombok.jar delombok src -d src-delomboked
     >>>     It generates Java classes with boilerplate code (but it's
    rather ugly).
     >>> Yeah, I did this to a few classes when fixing some chaining
    setters.  I should have a little time in the near future to do the
    rest (and clean up the generated bits) :D
     >>>     On 13/03/2025 17:01, Emmanuel Lécharny wrote:
     >>>      > Now, let's say that with Java records, most of Lombok
    usage has just
     >>>      > vanished. It's just a matter of switching to a recent
    JVM version
     >>>      >   (Java 17).
     >>>      >
     >>>      >
     >>>      > On 13/03/2025 16:06, Brian Demers wrote:
     >>>      >> Sounds like we have similar opinions on Lombok 😉
     >>>      >>
     >>>      >> On Thu, Mar 13, 2025 at 11:01 AM Emmanuel Lecharny
     >>>      >> <elecha...@gmail.com <mailto:elecha...@gmail.com>
    <mailto:elecha...@gmail.com <mailto:elecha...@gmail.com>>
     >>>     <mailto:elecha...@gmail.com <mailto:elecha...@gmail.com>
    <mailto:elecha...@gmail.com <mailto:elecha...@gmail.com>>>> wrote:
     >>>      >>
     >>>      >>     Hi Brian,
     >>>      >>
     >>>      >>     actually, never mind :-) I have it working.
     >>>      >>
     >>>      >>     I followed the
    https://projectlombok.org/setup/eclipse
    <https://projectlombok.org/setup/eclipse>
     >>>     <https://projectlombok.org/setup/eclipse
    <https://projectlombok.org/setup/eclipse>>
     >>>      >>     <https://projectlombok.org/setup/eclipse
    <https://projectlombok.org/setup/eclipse>
     >>>     <https://projectlombok.org/setup/eclipse
    <https://projectlombok.org/setup/eclipse>>> page, and after
     >>>      >>     having added the lombok plugin, it's all finer!
     >>>      >>
     >>>      >>     To answer your question, no we don't use lombok. It's
     >>>     useless, and
     >>>      >>     creates issues just to save a few typing that you
    don't even
     >>>     have
     >>>      >>     tyo do
     >>>      >>     if you use the IDE create code feature.
     >>>      >>
     >>>      >>
     >>>      >>     On 13/03/2025 15:17, Brian Demers wrote:
     >>>      >>      > My guess is you need to enable annotation
    processors.
     >>>      >>      > I haven't used Eclipse in a while, so not sure
    if these
     >>>      >>     instructions are
     >>>      >>      > correct:
     >>>      >>      >
     >>>      >>
     >>>      >>
     >>>
    https://stackoverflow.com/questions/43404891/how-to-configure-java-annotation-processors-in-eclipse 
<https://stackoverflow.com/questions/43404891/how-to-configure-java-annotation-processors-in-eclipse> 
<https://stackoverflow.com/questions/43404891/how-to-configure-java-annotation-processors-in-eclipse 
<https://stackoverflow.com/questions/43404891/how-to-configure-java-annotation-processors-in-eclipse>> 
<https://stackoverflow.com/questions/43404891/how-to-configure-java-annotation-processors-in-eclipse 
<https://stackoverflow.com/questions/43404891/how-to-configure-java-annotation-processors-in-eclipse> 
<https://stackoverflow.com/questions/43404891/how-to-configure-java-annotation-processors-in-eclipse 
<https://stackoverflow.com/questions/43404891/how-to-configure-java-annotation-processors-in-eclipse>>>
     >>>      >>      >
     >>>      >>      > IntelliJ requires something similar.
     >>>      >>      >
     >>>      >>      > Related:
     >>> https://github.com/apache/directory-scimple/issues/540
    <https://github.com/apache/directory-scimple/issues/540>
     >>>     <https://github.com/apache/directory-scimple/issues/540
    <https://github.com/apache/directory-scimple/issues/540>>
>>>      >>  <https://github.com/apache/directory-scimple/issues/540
    <https://github.com/apache/directory-scimple/issues/540>
     >>>     <https://github.com/apache/directory-scimple/issues/540
    <https://github.com/apache/directory-scimple/issues/540>>>
     >>>      >>      >
     >>>      >>      > I didn't add a lot of detail in that issue, but my
     >>>     frustrations
     >>>      >>     with Lombok
     >>>      >>      > are based on this type of problem (well, that
    and it's
     >>>     difficult
     >>>      >>     to debug
     >>>      >>      > code generated at compile time by an annotation
    processor).
     >>>      >> Maybe it
     >>>      >>      > should be updated to simply "Remove Lombok" 🙂
     >>>      >>      >
     >>>      >>      > Maybe a note should be added to the readme about
    IDE support
     >>>      >>     until the
     >>>      >>      > above issue is resolved 🤔
     >>>      >>      >
     >>>      >>      > I also think IDEs could do a better job of enabling
     >>>     annotation
     >>>      >>     processors
     >>>      >>      > if configured by build tools, but that's a
    different problem.
     >>>      >>      >
     >>>      >>      > TL;DR (opinion) lombok is great for code in blog
    posts, it's
     >>>      >>     painful in
     >>>      >>      > real projects.
     >>>      >>      >
     >>>      >>      > On a slightly more serious note, are any of the
    other
     >>>     Directory
     >>>      >>     projects
     >>>      >>      > using Lombok? Or does anyone have strong
    opinions for or
     >>>     against?
     >>>      >>      >
     >>>      >>      > -Brian
     >>>      >>      >
     >>>      >>      > On Thu, Mar 13, 2025 at 10:01 AM Emmanuel Lécharny
     >>>      >>     <elecha...@gmail.com <mailto:elecha...@gmail.com>
    <mailto:elecha...@gmail.com <mailto:elecha...@gmail.com>>
     >>>     <mailto:elecha...@gmail.com <mailto:elecha...@gmail.com>
    <mailto:elecha...@gmail.com <mailto:elecha...@gmail.com>>>>
     >>>      >>      > wrote:
     >>>      >>      >
     >>>      >>      >> Hi Brian,
     >>>      >>      >>
     >>>      >>      >> I have a bit of day job's time to investigate
    SCIM, and
     >>>      >> obvioulsy,
     >>>      >>      >> SCIMple is going to be my choice.
     >>>      >>      >>
     >>>      >>      >> A few question: yesterday, I have had hard time
     >>>     buildling the
     >>>      >>     project (I
     >>>      >>      >> have updated the readme to reflect the build
    process,
     >>>     because mvn
     >>>      >>      >> package is not doing the job when you haven't
    build the
     >>>     project
     >>>      >>     at least
     >>>      >>      >> once). Anyway, tests are passing green, all is
    good.
     >>>     But... I
     >>>      >>     loaded it
     >>>      >>      >> in Eclipse, and I get a bunch of errors, like some
     >>>     methods that
     >>>      >>     are not
     >>>      >>      >> present:
     >>>      >>      >>
     >>>      >>      >> log cannot be resolved  RepositoryRegistry.java
     >>>      >>      >>
     >>>      >>
     >>>      >>
>>>  /scim-core-1.0.0-SNAPSHOT/src/main/java/org/apache/directory/scim/core/repository
     >>>      >>      >>
     >>>      >>      >> line 64 Java Problem
     >>>      >>      >>
     >>>      >>      >> AFAICT, the Lombok @SLF4J is suppose to
    magically create
     >>>     this
     >>>      >>     log field.
     >>>      >>      >>
     >>>      >>      >> Do you have a quick guide on how to get it
    working with
     >>>     Eclipse?
     >>>      >>      >> Thanks!
     >>>      >>      >>
     >>>      >>      >> --
     >>>      >>      >> ------------------------
     >>>      >>      >> Emmanuel Lécharny
     >>>      >>      >> emm...@worteks.com <mailto:emm...@worteks.com>
    <mailto:emm...@worteks.com <mailto:emm...@worteks.com>>
     >>>     <mailto:emm...@worteks.com <mailto:emm...@worteks.com>
    <mailto:emm...@worteks.com <mailto:emm...@worteks.com>>>
     >>>      >>      >> elecha...@apache.org
    <mailto:elecha...@apache.org> <mailto:elecha...@apache.org
    <mailto:elecha...@apache.org>>
     >>>     <mailto:elecha...@apache.org <mailto:elecha...@apache.org>
    <mailto:elecha...@apache.org <mailto:elecha...@apache.org>>>
     >>>      >>      >> ------------------------
     >>>      >>      >>
     >>>      >>      >>
>>>      >> ---------------------------------------------------------------------
     >>>      >>      >> To unsubscribe, e-mail:
     >>> dev-unsubscr...@directory.apache.org
    <mailto:dev-unsubscr...@directory.apache.org>
     >>>     <mailto:dev-unsubscr...@directory.apache.org
    <mailto:dev-unsubscr...@directory.apache.org>>
     >>>      >>     <mailto:dev-unsubscr...@directory.apache.org
    <mailto:dev-unsubscr...@directory.apache.org>
     >>>     <mailto:dev-unsubscr...@directory.apache.org
    <mailto:dev-unsubscr...@directory.apache.org>>>
     >>>      >>      >> For additional commands, e-mail:
     >>> dev-h...@directory.apache.org
    <mailto:dev-h...@directory.apache.org>
    <mailto:dev-h...@directory.apache.org
    <mailto:dev-h...@directory.apache.org>>
     >>>      >>     <mailto:dev-h...@directory.apache.org
    <mailto:dev-h...@directory.apache.org>
     >>>     <mailto:dev-h...@directory.apache.org
    <mailto:dev-h...@directory.apache.org>>>
     >>>      >>      >>
     >>>      >>      >>
     >>>      >>
     >>>      >
     >>>     --     ------------------------
     >>>     Emmanuel Lécharny
     >>> emm...@worteks.com <mailto:emm...@worteks.com>
    <mailto:emm...@worteks.com <mailto:emm...@worteks.com>>
     >>> elecha...@apache.org <mailto:elecha...@apache.org>
    <mailto:elecha...@apache.org <mailto:elecha...@apache.org>>
     >>>     ------------------------
     >>
     >> --
     >> ------------------------
     >> Emmanuel Lécharny
     >> emm...@worteks.com <mailto:emm...@worteks.com>
     >> elecha...@apache.org <mailto:elecha...@apache.org>
     >> ------------------------
     >>
     >>
    ---------------------------------------------------------------------
     >> To unsubscribe, e-mail: dev-unsubscr...@directory.apache.org
    <mailto:dev-unsubscr...@directory.apache.org>
     >> For additional commands, e-mail: dev-h...@directory.apache.org
    <mailto:dev-h...@directory.apache.org>
     >>

-- ------------------------
    Emmanuel Lécharny
    emm...@worteks.com <mailto:emm...@worteks.com>
    elecha...@apache.org <mailto:elecha...@apache.org>
    ------------------------

    ---------------------------------------------------------------------
    To unsubscribe, e-mail: dev-unsubscr...@directory.apache.org
    <mailto:dev-unsubscr...@directory.apache.org>
    For additional commands, e-mail: dev-h...@directory.apache.org
    <mailto:dev-h...@directory.apache.org>


--
------------------------
Emmanuel Lécharny
emm...@worteks.com
elecha...@apache.org
------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@directory.apache.org
For additional commands, e-mail: dev-h...@directory.apache.org

Reply via email to