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

ASF GitHub Bot commented on MNG-6303:
-------------------------------------

elharo commented on code in PR #1062:
URL: https://github.com/apache/maven/pull/1062#discussion_r1140831831


##########
maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java:
##########
@@ -544,6 +544,19 @@ public void populatePropertiesOverwrite() throws Exception 
{
         assertThat(request.getUserProperties().getProperty("x"), is("false"));
     }
 
+    @Test
+    public void testPropertiesInterpolation() throws Exception {

Review Comment:
   There should also be a test for the exceptional case. 



##########
maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java:
##########
@@ -562,6 +566,21 @@ private void commands(CliRequest cliRequest) {
     // Maybe it's better to move some of those methods to separate class (SoC).
     void properties(CliRequest cliRequest) {
         populateProperties(cliRequest.commandLine, 
cliRequest.systemProperties, cliRequest.userProperties);
+
+        // now that we have properties, interpolate all arguments
+        BasicInterpolator interpolator = 
createInterpolator(cliRequest.systemProperties, cliRequest.userProperties);
+        CommandLine.Builder commandLineBuilder = new CommandLine.Builder();
+        cliRequest.commandLine.getArgList().stream()
+                .map(s -> {
+                    try {
+                        return interpolator.interpolate(s);
+                    } catch (InterpolationException e) {
+                        throw new RuntimeException("Unable to interpolate", e);

Review Comment:
   This should not be a runtime exception since it comes from input external to 
the program. InterpolationException might be OK, or perhaps a different checked 
exception. 
   
   If this means, the code doesn;t use lambdas, that's fine. 





> .mvn/jvm.config and .mvn/maven.config should allow to resolve environment 
> variables
> -----------------------------------------------------------------------------------
>
>                 Key: MNG-6303
>                 URL: https://issues.apache.org/jira/browse/MNG-6303
>             Project: Maven
>          Issue Type: New Feature
>          Components: Bootstrap & Build
>    Affects Versions: 3.5.0
>            Reporter: Konrad Windszus
>            Priority: Major
>
> With the mechanism of having project-specific maven options being specified 
> in {{.mvn/maven.config}} and {{.mvn/jvm.config}} (MNG-6267) it is often handy 
> to share those settings among multiple developers (i.e. via maintaining it 
> via the SCM). Unfortunately the mechanism does not support resolving 
> environment variables, which makes it hard to deal with user-specific 
> directories or settings. Please support resolving environment variables 
> through a special pattern like {{$ENV_NAME}}



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

Reply via email to