You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2023/06/19 19:26:45 UTC

[groovy] branch GROOVY_4_0_X updated: minor items

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

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


The following commit(s) were added to refs/heads/GROOVY_4_0_X by this push:
     new 427413b102 minor items
427413b102 is described below

commit 427413b10246c9e52f10f3462cd720e0a4fd3b65
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Mon Jun 19 13:54:02 2023 -0500

    minor items
---
 build.gradle                                      |   2 +-
 src/test/groovy/grape/GrapeClassLoaderTest.groovy | 145 +++++++++++-----------
 src/test/groovy/grape/GrapeIvyTest.groovy         |  46 +++----
 3 files changed, 98 insertions(+), 95 deletions(-)

diff --git a/build.gradle b/build.gradle
index 9fe4939112..59673b2b1c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -38,8 +38,8 @@ archivesBaseName = 'groovy'
 groovyLibrary {
     registerOptionalFeature 'gpars'
     registerOptionalFeature 'grapes'
-    registerOptionalFeature 'xstreamAst'
     registerOptionalFeature 'logging'
+    registerOptionalFeature 'xstreamAst'
 
     repackagedDependencies = [
             'antlr', 'antlr-runtime', 'antlr4', 'antlr4-runtime', 'antlr4-annotations',
diff --git a/src/test/groovy/grape/GrapeClassLoaderTest.groovy b/src/test/groovy/grape/GrapeClassLoaderTest.groovy
index ca83ab2415..0d71d31d08 100644
--- a/src/test/groovy/grape/GrapeClassLoaderTest.groovy
+++ b/src/test/groovy/grape/GrapeClassLoaderTest.groovy
@@ -18,26 +18,29 @@
  */
 package groovy.grape
 
+import groovy.test.NotYetImplemented
 import org.junit.BeforeClass
 import org.junit.Test
 
 class GrapeClassLoaderTest {
 
+    private static final jideVersion = '[3.6,3.7)'
+
     @BeforeClass
     static void downloadToCache() {
         // ensure files are installed locally
         Grape.resolve([autoDownload:true, classLoader:new GroovyClassLoader()],
-            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)'],
+            [groupId:'com.jidesoft', artifactId:'jide-oss', version:jideVersion],
             [groupId:'org.testng', artifactId:'testng', version:'5.8', classifier:'jdk15'])
     }
 
     @Test
     void testGrapes() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
-            @Grapes([@Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')])
+            @Grapes([@Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')])
             class TestConstructorAnnotation {
 
                 String field
@@ -46,38 +49,38 @@ class GrapeClassLoaderTest {
                     field = JideSplitButton.class.name
                 }
             }
-        ''')
+        """)
         assert testClass.getConstructor().newInstance().field  == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testConstructorAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
             class TestConstructorAnnotation {
 
                 String field
 
-                @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+                @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
                 TestConstructorAnnotation() {
                     field = JideSplitButton.class.name
                 }
             }
-            ''')
+        """)
         assert testClass.getConstructor().newInstance().field  == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testClassFieldAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
             class TestClassFieldAnnotation {
 
-                @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+                @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
                 private String field
 
                 TestClassFieldAnnotation() {
@@ -88,19 +91,19 @@ class GrapeClassLoaderTest {
                     field
                 }
             }
-        ''')
+        """)
         assert testClass.getConstructor().newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testClassPropertyAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
             class TestClassPropertyAnnotation {
 
-                @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+                @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
                 String field
 
                 TestClassPropertyAnnotation() {
@@ -111,182 +114,181 @@ class GrapeClassLoaderTest {
                     field
                 }
             }
-        ''')
+        """)
         assert testClass.getConstructor().newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
-//  annotations are discarded on local vars currently
-//    @Test
-//    void testClassLocalVariableAnnotation() {
-//        GroovyClassLoader loader = new GroovyClassLoader()
-//        Class testClass = loader.parseClass('''
-//            import com.jidesoft.swing.JideSplitButton
-//
-//            class TestClassLocalVariableAnnotation {
-//                String testMethod() {
-//                    @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
-//                    String localVar = JideSplitButton.class.name
-//                    localVar
-//                }
-//            }
-//        ''')
-//        assert testClass.getConstructor().newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton'
-//    }
-
-//  annotations are discarded on local vars currently
-//    @Test
-//    void testScriptLocalVariableAnnotation() {
-//        GroovyClassLoader loader = new GroovyClassLoader()
-//        Class testClass = loader.parseClass('''
-//            import com.jidesoft.swing.JideSplitButton
-//
-//            @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
-//            String localVar = JideSplitButton.class.name
-//            localVar
-//        ''')
-//        assert testClass.main() == 'com.jidesoft.swing.JideSplitButton'
-//    }
+    @Test
+    void testClassLocalVariableAnnotation() {
+        GroovyClassLoader loader = new GroovyClassLoader()
+        Class testClass = loader.parseClass("""
+            import com.jidesoft.swing.JideSplitButton
+
+            class TestClassLocalVariableAnnotation {
+                String testMethod() {
+                    @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
+                    String localVar = JideSplitButton.class.name
+                    localVar
+                }
+            }
+        """)
+        assert testClass.getConstructor().newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton'
+    }
+
+    @Test
+    @NotYetImplemented // annotations are discarded on local vars currently
+    void testScriptLocalVariableAnnotation() {
+        GroovyClassLoader loader = new GroovyClassLoader()
+        Class testClass = loader.parseClass("""
+            import com.jidesoft.swing.JideSplitButton
+
+            @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
+            String localVar = JideSplitButton.class.name
+            localVar
+        """)
+        assert testClass.main() == 'com.jidesoft.swing.JideSplitButton'
+    }
 
     @Test
     void testClassStaticMethodAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
             class TestClassStaticMethodAnnotation {
-                @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+                @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
                 static String testMethod () {
                     JideSplitButton.class.name
                 }
             }
-        ''')
+        """)
         assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testClassMethodAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
             class TestClassMethodAnnotation {
-                @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+                @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
                 String testMethod () {
                     JideSplitButton.class.name
                 }
             }
-        ''')
+        """)
         assert testClass.getConstructor().newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testScriptStaticMethodAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
-            @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+            @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
             static String testMethod () {
                 JideSplitButton.class.name
             }
-        ''')
+        """)
         assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testScriptMethodAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
-            @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+            @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
             String testMethod () {
                 return JideSplitButton.class.name
             }
-        ''')
+        """)
         assert testClass.getConstructor().newInstance().testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testClassMethodParameterAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
             class TestClassStaticMethodAnnotation {
                 String testMethod (
-                    @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+                    @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
                     String bogus
                 ) {
                     JideSplitButton.class.name
                 }
             }
-        ''')
+        """)
         assert testClass.getConstructor().newInstance().testMethod('x') == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testScriptMethodParameterAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
             String testMethod (
-                @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+                @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
                 String bogus
             ) {
                 JideSplitButton.class.name
             }
-        ''')
+        """)
         assert testClass.getConstructor().newInstance().testMethod('x') == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testTypeAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
-            @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+            @Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
             class TestTypeAnnotation {
                 static String testMethod () {
                     JideSplitButton.class.name
                 }
             }
-        ''')
+        """)
         assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testFQNAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
 
-            @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+            @groovy.lang.Grab(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
             class TestFQNAnnotation {
                 static String testMethod () {
                     JideSplitButton.class.name
                 }
             }
-        ''')
+        """)
         assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
     @Test
     void testAliasedAnnotation() {
         GroovyClassLoader loader = new GroovyClassLoader()
-        Class testClass = loader.parseClass('''
+        Class testClass = loader.parseClass("""
             import com.jidesoft.swing.JideSplitButton
             import groovy.lang.Grab as require_gem
 
-            @require_gem(group = 'com.jidesoft', module = 'jide-oss', version = '[2.2.1,2.3)')
+            @require_gem(group = 'com.jidesoft', module = 'jide-oss', version = '$jideVersion')
             class TestAliasedAnnotation {
                 static String testMethod () {
                     JideSplitButton.class.name
                 }
             }
-        ''')
+        """)
         assert testClass.testMethod() == 'com.jidesoft.swing.JideSplitButton'
     }
 
@@ -305,5 +307,4 @@ class GrapeClassLoaderTest {
         ''')
         assert testClass.testMethod() == 'org.testng.TestNG'
     }
-
 }
diff --git a/src/test/groovy/grape/GrapeIvyTest.groovy b/src/test/groovy/grape/GrapeIvyTest.groovy
index 9096ab2fab..0e2fb00f36 100644
--- a/src/test/groovy/grape/GrapeIvyTest.groovy
+++ b/src/test/groovy/grape/GrapeIvyTest.groovy
@@ -24,6 +24,7 @@ import org.junit.Test
 
 import static groovy.test.GroovyAssert.assertScript
 import static groovy.test.GroovyAssert.shouldFail
+import static org.junit.Assume.assumeFalse
 import static org.junit.Assume.assumeTrue
 
 final class GrapeIvyTest {
@@ -32,21 +33,20 @@ final class GrapeIvyTest {
         loader.URLs.collect { url -> url.path.split('/')[-1] } as Set
     }
 
+    private static final jideVersion = '[3.6,3.7)'
+
     @BeforeClass
     static void setUpClass() {
-        // make sure files are installed locally
-        [
+        // ensure files are installed locally
+        Grape.resolve([autoDownload:true, classLoader:new GroovyClassLoader()],
             [groupId:'log4j', artifactId:'log4j', version:'1.1.3'],
             [groupId:'org.apache.poi', artifactId:'poi', version:'3.7'],
-            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'2.2.12'],
             [groupId:'commons-lang', artifactId:'commons-lang', version:'2.6'],
+            [groupId:'com.jidesoft', artifactId:'jide-oss', version: jideVersion],
             [groupId:'org.neo4j', artifactId:'neo4j-kernel', version:'2.0.0-RC1'],
-            [groupId:'org.apache.commons', artifactId:'commons-digester3', version:'3.2'],
             [groupId:'net.sf.json-lib', artifactId:'json-lib', version:'2.2.3', classifier:'jdk15'],
-            [groupId:'org.apache.ivy', artifactId:'ivy', version:'2.0.0', conf:['default', 'optional']]
-        ].each { spec ->
-            Grape.resolve([autoDownload:true, classLoader:new GroovyClassLoader()], spec)
-        }
+            [groupId:'org.apache.ivy', artifactId:'ivy', version:'2.0.0', conf:['default', 'optional']],
+            [groupId:'org.apache.commons', artifactId:'commons-digester3', version:'3.2', transitive:false])
     }
 
     @Test
@@ -55,7 +55,7 @@ final class GrapeIvyTest {
         shouldFail(CompilationFailedException) {
             shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class')
         }
-        Grape.grab(groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)', classLoader:shell.classLoader)
+        Grape.grab(groupId:'com.jidesoft', artifactId:'jide-oss', version:jideVersion, classLoader:shell.classLoader)
         assert shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class').name == 'com.jidesoft.swing.JideSplitButton';
     }
 
@@ -81,7 +81,7 @@ final class GrapeIvyTest {
 
         Grape.grab(classLoader:shell.classLoader,
             [groupId:'org.apache.poi', artifactId:'poi', version:'3.7'],
-            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)'])
+            [groupId:'com.jidesoft', artifactId:'jide-oss', version:jideVersion])
 
         assert shell.evaluate('import org.apache.poi.POIDocument; POIDocument.class').name == 'org.apache.poi.POIDocument'
         assert shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class').name == 'com.jidesoft.swing.JideSplitButton';
@@ -99,12 +99,12 @@ final class GrapeIvyTest {
 
         Grape.grab(classLoader:shell.classLoader,
             [groupId:'org.apache.poi', artifactId:'poi', version:'3.7'],
-            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)'])
+            [groupId:'com.jidesoft', artifactId:'jide-oss', version:jideVersion])
 
         def loadedDependencies = Grape.listDependencies(shell.classLoader)
         assert loadedDependencies == [
             [group:'org.apache.poi', module:'poi', version:'3.7'],
-            [group:'com.jidesoft', module:'jide-oss', version:'[2.2.1,2.3)']
+            [group:'com.jidesoft', module:'jide-oss', version:jideVersion]
         ]
     }
 
@@ -114,7 +114,7 @@ final class GrapeIvyTest {
         shouldFail(CompilationFailedException) {
             shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class')
         }
-        shell.evaluate("new groovy.grape.Grape().grab(groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)')")
+        shell.evaluate("new groovy.grape.Grape().grab(groupId:'com.jidesoft', artifactId:'jide-oss', version:'$jideVersion')")
         assert shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class').name == 'com.jidesoft.swing.JideSplitButton';
     }
 
@@ -124,7 +124,7 @@ final class GrapeIvyTest {
         shouldFail(CompilationFailedException) {
             shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class')
         }
-        shell.evaluate("new groovy.grape.Grape().grab(groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)', refObject:this)")
+        shell.evaluate("new groovy.grape.Grape().grab(groupId:'com.jidesoft', artifactId:'jide-oss', version:'$jideVersion', refObject:this)")
         assert shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class').name == 'com.jidesoft.swing.JideSplitButton';
     }
 
@@ -135,7 +135,7 @@ final class GrapeIvyTest {
         shouldFail(CompilationFailedException) {
             shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class')
         }
-        shell.evaluate("new groovy.grape.Grape().grab(groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)', classLoader:loader)")
+        shell.evaluate("new groovy.grape.Grape().grab(groupId:'com.jidesoft', artifactId:'jide-oss', version:'$jideVersion', classLoader:loader)")
         assert shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class').name == 'com.jidesoft.swing.JideSplitButton';
     }
 
@@ -148,9 +148,9 @@ final class GrapeIvyTest {
         shouldFail(CompilationFailedException) {
             shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class')
         }
-        shell.evaluate('''new groovy.grape.Grape().grab([:],
+        shell.evaluate("""new groovy.grape.Grape().grab([:],
             [groupId:'org.apache.poi', artifactId:'poi', version:'3.7'],
-            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)'])''')
+            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'$jideVersion'])""")
 
         assert shell.evaluate('import org.apache.poi.POIDocument; POIDocument.class').name == 'org.apache.poi.POIDocument'
         assert shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class').name == 'com.jidesoft.swing.JideSplitButton';
@@ -165,9 +165,9 @@ final class GrapeIvyTest {
         shouldFail(CompilationFailedException) {
             shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class')
         }
-        shell.evaluate('''new groovy.grape.Grape().grab(refObject: this,
+        shell.evaluate("""new groovy.grape.Grape().grab(refObject: this,
             [groupId:'org.apache.poi', artifactId:'poi', version:'3.7'],
-            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)'])''')
+            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'$jideVersion'])""")
 
         assert shell.evaluate("import org.apache.poi.POIDocument; POIDocument.class").name == 'org.apache.poi.POIDocument'
         assert shell.evaluate("import com.jidesoft.swing.JideSplitButton; JideSplitButton.class").name == 'com.jidesoft.swing.JideSplitButton';
@@ -183,9 +183,9 @@ final class GrapeIvyTest {
         shouldFail(CompilationFailedException) {
             shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class')
         }
-        shell.evaluate('''new groovy.grape.Grape().grab(classLoader:loader,
+        shell.evaluate("""new groovy.grape.Grape().grab(classLoader:loader,
             [groupId:'org.apache.poi', artifactId:'poi', version:'3.7'],
-            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'[2.2.1,2.3)'])''')
+            [groupId:'com.jidesoft', artifactId:'jide-oss', version:'$jideVersion'])""")
 
         assert shell.evaluate('import org.apache.poi.POIDocument; POIDocument.class').name == 'org.apache.poi.POIDocument'
         assert shell.evaluate('import com.jidesoft.swing.JideSplitButton; JideSplitButton.class').name == 'com.jidesoft.swing.JideSplitButton';
@@ -407,7 +407,7 @@ final class GrapeIvyTest {
             import org.apache.commons.digester3.Digester
 
             assert Digester.name.size() == 37
-            assert org.apache.commons.beanutils.BeanUtils.name.size() == 38
+            assert org.apache.commons.beanutils.BeanUtils.name // cannot resolve
         '''
     }
 
@@ -424,6 +424,8 @@ final class GrapeIvyTest {
 
     @Test
     void testAutoDownloadGrapeConfigFalse() {
+        assumeFalse(System.getProperty('os.name').containsIgnoreCase('windows'))
+
         assertScript '''
             @Grab('org.apache.commons:commons-digester3:3.2;transitive=false')
             @GrabConfig(autoDownload=false)