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)