[ 
https://issues.apache.org/jira/browse/MNG-8598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17932184#comment-17932184
 ] 

Marc Guillemot commented on MNG-8598:
-------------------------------------

Thanks for the explanation.

> Support for evaluated jvm.config files to improve lombok+ecj support
> --------------------------------------------------------------------
>
>                 Key: MNG-8598
>                 URL: https://issues.apache.org/jira/browse/MNG-8598
>             Project: Maven
>          Issue Type: Improvement
>          Components: Command Line
>    Affects Versions: 3.9.6
>            Reporter: Marc Guillemot
>            Priority: Major
>
> We use lombok together with the ecj compiler in a large project. For that, we 
> use {{lombok.jar}} as java agent for maven (corresponds to the official 
> lombok documentation: 
> [https://projectlombok.org/setup/ecj)|https://projectlombok.org/setup/ecj),].
> At the root level of the project, this is quite easy
> {{.mvn/jvm.config:}}
> {code:java}
> -javaagent:lombok.jar=ECJ
> {code}
> We want to be able to call mvn in any module of the project, which means that 
> each submodule needs to have its own {{.mvn/jvm.config}} with the relative 
> path to the {{lombok.jar}} file, otherwise maven can't start because the 
> agent is not found:
>  - at depth 1: {{-javaagent:../lombok.jar=ECJ}}
>  - at depth 2: {{-javaagent:../../lombok.jar=ECJ}}
>  - at depth 3: {{-javaagent:../../../lombok.jar=ECJ}}
>  - ...
> This is naturally very annoying and error prone (new modules need to have 
> their {{.mvn/jvm.config}} and relative paths have to be adapted when moving 
> modules).
>  
> It seems to me that maven doesn't provide currently any better way to achieve 
> that (I hope, I'm wrong) but that this could be achieved improving the 
> {{{}mvn.bat{}}}/{{{}mvn{}}} scripts with:
>  * interpolation of contained variables ({{{}MAVEN_PROJECTBASEDIR{}}} would 
> be the interesting one)
>  * support for two different {{jvm.config}} files allowing bat/sh specific 
> references for variables.
> In our case it would be a "sh.jvm.config" with 
> {{-javaagent:$MAVEN_PROJECTBASEDIR/lombok.jar=ECJ}} and a "bat.jvm.config" 
> with {{{}-javaagent:%MAVEN_PROJECTBASEDIR%\lombok.jar=ECJ{}}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to