[
https://issues.apache.org/jira/browse/MNG-8598?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17932075#comment-17932075
]
Tamas Cservenak commented on MNG-8598:
--------------------------------------
Since Maven 3.9.2 this was implemented: MNG-7774
In short, it allows you to use these two expressions
{{${session.rootDirectory}}} and {{${session.topDirectory}}} in maven.config
and CLI. Given jvm.config ends up on CLI (mvn script handles that, pretty much
same as MAVEN_OPTS), you should be able to use former one.
> 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)