This is an automated email from the ASF dual-hosted git repository.

emilles pushed a commit to branch GROOVY-9376
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 95cc9179fd5999e3191853f1eb58eed95693bcc3
Author: Eric Milles <[email protected]>
AuthorDate: Mon Feb 3 11:07:39 2020 -0600

    GROOVY-9376: add grab/grape resolver to start of chain
---
 src/main/groovy/groovy/grape/GrapeIvy.groovy | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/src/main/groovy/groovy/grape/GrapeIvy.groovy 
b/src/main/groovy/groovy/grape/GrapeIvy.groovy
index cb1d802..9da4a92 100644
--- a/src/main/groovy/groovy/grape/GrapeIvy.groovy
+++ b/src/main/groovy/groovy/grape/GrapeIvy.groovy
@@ -19,6 +19,8 @@
 package groovy.grape
 
 import groovy.transform.CompileStatic
+import groovy.transform.NamedParam
+import groovy.transform.NamedParams
 import org.apache.groovy.plugin.GroovyRunner
 import org.apache.groovy.plugin.GroovyRunnerRegistry
 import org.apache.ivy.Ivy
@@ -729,16 +731,20 @@ class GrapeIvy implements GrapeEngine {
 
     @Override
     @CompileStatic
-    void addResolver(Map<String, Object> args) {
-        ChainResolver chainResolver = (ChainResolver) 
settings.getResolver('downloadGrapes')
-
-        IBiblioResolver resolver = new IBiblioResolver(
-                name: (String) args.name,
-                root: (String) args.root,
-                m2compatible: (boolean) (args.m2Compatible ?: true),
-                settings: (ResolverSettings) settings)
+    void addResolver(@NamedParams([
+        @NamedParam(value='name', type=String, required=true),
+        @NamedParam(value='root', type=String, required=true),
+        @NamedParam(value='m2Compatible', type=Boolean, required=false)
+    ]) Map<String, Object> args) {
+        def resolver = new IBiblioResolver(
+            name: (String) args.name,
+            root: (String) args.root,
+            m2compatible: (boolean) args.getOrDefault('m2Compatible', 
Boolean.TRUE),
+            settings: (ResolverSettings) settings
+        )
 
-        chainResolver.add(resolver)
+        def chainResolver = (ChainResolver) 
settings.getResolver('downloadGrapes')
+        chainResolver.resolvers.add(0, resolver)
 
         ivyInstance = Ivy.newInstance(settings)
         resolvedDependencies = []

Reply via email to