Questions Tagged With buildhttps://answers.axonivy.com/tags/build/?type=rss&user=Hap%20Emquestions tagged <span class="tag">build</span>enWed, 11 Oct 2017 02:42:17 -0400Apply lombok for Ivy projecthttps://answers.axonivy.com/questions/2908/apply-lombok-for-ivy-project<p>Hello Ivy Team, As you know, lombok is using for reducing boilerplate code. But applying for Ivy project is quite very difficult:</p> <ul> <li>For the designer, it works perfectly (configuration likes eclipse)</li> <li>For maven build (using Axon.ivy Project Build Plugin), it doesn't work except I do a work-arround by using delombok plugin (<a href="https://projectlombok.org/features/delombok)">https://projectlombok.org/features/delombok)</a> </li> <li>But it's very annoying in declaration of pom file and building process:</li> <li>For details, in maven build process, it has to do:</li> </ul> <p><code> 1. backup src folder to src_temp folder. 2. delombok src (some lombok java classes are delomboked --&gt; they are using for compilation) 3. After compilation, restore 'src_temp' folder to src folder (for reverting the original source code) --&gt; if the exception occurs (for ex: compile error) --&gt; step 3 is NOT executed --&gt; So, I have to restore manually by myself (It's very annoying if build exception occurs frequently) </code> </p> <p> </p><pre><code> &lt;plugin&gt; &lt;groupid&gt;org.projectlombok&lt;/groupid&gt; &lt;artifactid&gt;lombok-maven-plugin&lt;/artifactid&gt; &lt;executions&gt; &lt;execution&gt; &lt;id&gt;lombok-code&lt;/id&gt; &lt;phase&gt;generate-sources&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;delombok&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;encoding&gt;UTF-8&lt;/encoding&gt; &lt;sourcedirectory&gt;src&lt;/sourcedirectory&gt; &lt;addoutputdirectory&gt;false&lt;/addoutputdirectory&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;/executions&gt; &lt;/plugin&gt; &lt;plugin&gt; &lt;artifactid&gt;maven-resources-plugin&lt;/artifactid&gt; &lt;executions&gt; &lt;execution&gt; &lt;id&gt;copy-src-to-src_temp&lt;/id&gt; &lt;phase&gt;validate&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;copy-resources&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;overwrite&gt;true&lt;/overwrite&gt; &lt;outputdirectory&gt;target/src_temp&lt;/outputdirectory&gt; &lt;encoding&gt;UTF-8&lt;/encoding&gt; &lt;resources&gt; &lt;resource&gt; &lt;directory&gt;src&lt;/directory&gt; &lt;include&gt;<strong>/*.java&lt;/include&gt; &lt;/resource&gt; &lt;/resources&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;execution&gt; &lt;id&gt;copy-delombok-source-to-src&lt;/id&gt; &lt;phase&gt;process-sources&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;copy-resources&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;overwrite&gt;true&lt;/overwrite&gt; &lt;outputdirectory&gt;src&lt;/outputdirectory&gt; &lt;encoding&gt;UTF-8&lt;/encoding&gt; &lt;resources&gt; &lt;resource&gt; &lt;directory&gt;target/generated-sources/delombok&lt;/directory&gt; &lt;include&gt;</strong>/<em>.java&lt;/include&gt; &lt;/resource&gt; &lt;/resources&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;execution&gt; &lt;id&gt;copy-src_temp-to-src-install-phase&lt;/id&gt; &lt;phase&gt;install&lt;/phase&gt; &lt;goals&gt; &lt;goal&gt;copy-resources&lt;/goal&gt; &lt;/goals&gt; &lt;configuration&gt; &lt;overwrite&gt;true&lt;/overwrite&gt; &lt;outputdirectory&gt;src&lt;/outputdirectory&gt; &lt;encoding&gt;UTF-8&lt;/encoding&gt; &lt;resources&gt; &lt;resource&gt; &lt;directory&gt;target/src_temp&lt;/directory&gt; &lt;include&gt;</em><em>/</em>.java&lt;/include&gt; &lt;/resource&gt; &lt;/resources&gt; &lt;/configuration&gt; &lt;/execution&gt; &lt;/executions&gt; &lt;/plugin&gt; </code> </pre><p></p> <p></p> <p>If you have other idea or other way for configuration, pls let me know!</p> <p>Many thanks! Hap Em,</p>Hap EmWed, 11 Oct 2017 02:42:17 -0400https://answers.axonivy.com/questions/2908/apply-lombok-for-ivy-projectmavenbuild