That's okay - I'll remove the Lombok usage and resubmit the PR. Thanks,
Dan. On Tue, 15 Sep 2020 at 09:12, Jacques Le Roux <jacques.le.r...@les7arts.com> wrote: > Hi Daniel, > > Sorry, the official vote passed and the community is against pushing > Lombok into OFBiz. > > Jacques > > Le 08/09/2020 à 09:29, Jacques Le Roux a écrit : > > Hi Daniel, > > > > We did not make an official vote yet. As it's an important matter, I'll > start a vote in order to decide if we should, or not, use Lombok inside > > OFBiz OOTB. > > > > Thanks > > > > Jacques > > > > Le 08/09/2020 à 01:25, Daniel Watford a écrit : > >> Hello all, > >> > >> Based on this thread it doesn't seem that we have a strong consensus > either > >> for or against use of Lombok at this time. > >> > >> Votes: > >> Dan W (me!): +1 > >> Jacques: +1 > >> Shi: -1 > >> > >> Sentiment in other messages seems positive but cautious. > >> > >> Some pros and cons have been presented. > >> > >> I need some direction from the project on how to proceed - Is use of > Lombok > >> acceptable within OFBiz? > >> > >> Thanks, > >> > >> Dan. > >> > >> > >> On Sat, 29 Aug 2020 at 13:54, Jacques Le Roux < > jacques.le.r...@les7arts.com> > >> wrote: > >> > >>> Thanks JInghai! > >>> > >>> > >>> Le 29/08/2020 à 14:50, Shi Jinghai a écrit : > >>>> Hi Jacques, > >>>> > >>>> It’s about a year ago. My IDE is eclipse. I spent about half of a day > to > >>> make Lombok work correctly, Getter/Setter, AllArgsConstructor, plugin > >>> version problem and etc. > >>>> Does Lombok plugin worth a requirement and a time investment by all > >>> OFBiz developers? My answer is NO. > >>>> Kind Regards, > >>>> > >>>> Shi Jinghai > >>>> > >>>> 发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用 > >>>> > >>>> 发件人: Jacques Le Roux<mailto:jacques.le.r...@les7arts.com> > >>>> 发送时间: 2020年8月27日 15:10 > >>>> 收件人: dev@ofbiz.apache.org<mailto:dev@ofbiz.apache.org> > >>>> 主题: Re: A little bit of Lombok > >>>> > >>>> Thanks Jinghai, > >>>> > >>>> Is that long ago? Do you remember the most important issues you > crossed? > >>>> > >>>> Jacques > >>>> > >>>> Le 27/08/2020 à 06:20, Shi Jinghai a écrit : > >>>>> Just my 2 cents. > >>>>> > >>>>> -1 for using Lombok plugin in OFBiz. > >>>>> > >>>>> I had some not good experiences with this plugin in Apereo CAS 5.3.x. > >>>>> > >>>>> > >>>>> > >>>>> 发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用 > >>>>> > >>>>> 发件人: Daniel Watford<mailto:d...@foomoo.co.uk> > >>>>> 发送时间: 2020年7月28日 20:44 > >>>>> 收件人: dev@ofbiz.apache.org<mailto:dev@ofbiz.apache.org> > >>>>> 主题: A little bit of Lombok > >>>>> > >>>>> Hello, > >>>>> > >>>>> Back in April the possibility of using Lombok for the generation of > some > >>>>> boilerplate code was mentioned on the mailing list [1]. > >>>>> > >>>>> As part of work-in-progress on OFBIZ-11900 (refactoring > >>> MacroFormRenderer) > >>>>> I have used Lombok on a few small classes. The work-in-progress > branch > >>> can > >>>>> be found at [2]. > >>>>> > >>>>> Only a small amount of Lombok has been used so far, meaning it > >>> shouldn't be > >>>>> too difficult to remove it if needed. > >>>>> > >>>>> In build.gradle I have used the FreeFair Gradle Lombok plugin [3] > >>>>> referenced by the Lombok Project [4]. > >>>>> > >>>>> Building with the lombok plugin seemed to use a lot of memory and > caused > >>>>> gradle to garbage collect and run out of heap regularly. To resolve > >>> this I > >>>>> increased the about of memory available to gradle in > gradle.properties > >>>>> using: > >>>>> > >>>>> org.gradle.jvmargs=-Xmx2g -XX\:MaxHeapSize\=4g > >>>>> > >>>>> Tuning this might be important depending on the CI infrastructure > used > >>> by > >>>>> the Ofbiz project. > >>>>> > >>>>> You will likely need your IDE to apply annotation processing > otherwise > >>> you > >>>>> might see warning of missing methods. In IntelliJ I use what appears > to > >>> be > >>>>> the de facto Lombok plugin [5]. > >>>>> Guidance is available from the Lombok project for other IDEs [6]. > >>>>> > >>>>> Lombok @ToString annotations have been applied to RenderableFtlString > >>> and > >>>>> RenderableFtlNoop. This causes Lombok to insert toString() methods > into > >>> the > >>>>> classes based on the class names and field values. > >>>>> > >>>>> The @Value annotation has been applied to > >>>>> MacroCallParameterStringValue, MacroCallParameterBooleanValue > >>>>> and MacroCallParameterMapValue. This annotation turns those classes > into > >>>>> immutable-like entities, where all fields must be set in the inserted > >>>>> constructor and are available from automatically inserted getters. > >>>>> ToString(), equals and hashCode() methods are also created meaning > these > >>>>> classes can be relied upon as map keys if needed. > >>>>> > >>>>> The @Builder annotation has been applied to RenderableFtlMacroCall > >>>>> and RenderableFtlSequence. This annotation does quite a lot so I'd > >>>>> recommend you run delombok (instructions below) to see the code that > >>> Lombok > >>>>> inserts for us. > >>>>> > >>>>> To see the sources generated by Lombok we can run DeLombok. At the > >>> command > >>>>> line execute: > >>>>> ./gradlew delombok > >>>>> > >>>>> A copy of all sources (not just those with lombok annotations) will > be > >>>>> placed under build/delombok. Please take a look at the delomboked > >>> sources > >>>>> for the above classes under > >>>>> build/delombok/main/org/apache/ofbiz/widget/renderer/macro/parameter > and > >>>>> > build/delombok/main/org/apache/ofbiz/widget/renderer/macro/renderable. > >>>>> > >>>>> Please let me know what you think about this usage of Lombok. > >>>>> > >>>>> Thanks, > >>>>> > >>>>> Dan. > >>>>> > >>>>> [1] - > >>> > http://ofbiz.135035.n4.nabble.com/Default-constructors-in-JAVA-classes-tp4749257p4749258.html > >>>>> [2] - > >>> https://github.com/danwatford/ofbiz-framework/tree/OFBIZ-11900-WIP > >>>>> [3] - https://plugins.gradle.org/plugin/io.freefair.lombok > >>>>> [4] - https://projectlombok.org/setup/gradle > >>>>> [5] - https://plugins.jetbrains.com/plugin/6317-lombok/ > >>>>> [6] - https://projectlombok.org/setup/overview > >>>>> > >>>>> -- > >>>>> Daniel Watford > >>>>> > >> > -- Daniel Watford