You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by GitBox <gi...@apache.org> on 2022/02/09 10:46:28 UTC

[GitHub] [maven] laeubi commented on a change in pull request #665: MNG-7395 - Support system-properties in extension.xml

laeubi commented on a change in pull request #665:
URL: https://github.com/apache/maven/pull/665#discussion_r802526633



##########
File path: maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java
##########
@@ -127,30 +134,39 @@ private CoreExtensionEntry createExtension( CoreExtension extension, List<Artifa
     }
 
     private List<Artifact> resolveExtension( CoreExtension extension, RepositorySystemSession repoSession,
-                                             List<RemoteRepository> repositories, DependencyFilter dependencyFilter )
+                                             List<RemoteRepository> repositories, DependencyFilter dependencyFilter,
+                                             Interpolator interpolator )
         throws ExtensionResolutionException
     {
         try
         {
             // TODO: enhance the PluginDependenciesResolver to provide a
-            // TODO:    resolveCoreExtension method which uses a CoreExtension
-            // TODO:    object instead of a Plugin as this makes no sense
+            // TODO: resolveCoreExtension method which uses a CoreExtension
+            // TODO: object instead of a Plugin as this makes no sense
             Plugin plugin = new Plugin();
-            plugin.setGroupId( extension.getGroupId() );
-            plugin.setArtifactId( extension.getArtifactId() );
-            plugin.setVersion( extension.getVersion() );
+            plugin.setGroupId( interpolator.interpolate( extension.getGroupId() ) );
+            plugin.setArtifactId( interpolator.interpolate( extension.getArtifactId() ) );
+            plugin.setVersion( interpolator.interpolate( extension.getVersion() ) );
 
-            DependencyNode root = pluginDependenciesResolver
-                    .resolveCoreExtension( plugin, dependencyFilter, repositories, repoSession );
+            DependencyNode root =
+                pluginDependenciesResolver.resolveCoreExtension( plugin, dependencyFilter, repositories, repoSession );
             PreorderNodeListGenerator nlg = new PreorderNodeListGenerator();
             root.accept( nlg );
 
             return nlg.getArtifacts( false );
         }
-        catch ( PluginResolutionException e )
+        catch ( PluginResolutionException | InterpolationException e )
         {
             throw new ExtensionResolutionException( extension, e.getCause() );
         }
     }
 
+    private static Interpolator createInterpolatorFunction( MavenExecutionRequest request )
+    {
+        RegexBasedInterpolator interpolator = new RegexBasedInterpolator();
+        interpolator.addValueSource( new PropertiesBasedValueSource( request.getUserProperties() ) );

Review comment:
       Done




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@maven.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org