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 2019/11/21 19:49:12 UTC
[groovy] 01/01: GROOVY-9312: disable direct references to local .m2
repo jars
This is an automated email from the ASF dual-hosted git repository.
emilles pushed a commit to branch GROOVY-9312
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 2b08b3b93235363c84c5f375a8273858d92b1807
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Thu Nov 21 13:48:58 2019 -0600
GROOVY-9312: disable direct references to local .m2 repo jars
---
src/resources/groovy/grape/defaultGrapeConfig.xml | 1 -
src/test/groovy/grape/GrapeIvyTest.groovy | 61 +++++++++++++++++++++++
2 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/src/resources/groovy/grape/defaultGrapeConfig.xml b/src/resources/groovy/grape/defaultGrapeConfig.xml
index 4d17a40..14a180f 100644
--- a/src/resources/groovy/grape/defaultGrapeConfig.xml
+++ b/src/resources/groovy/grape/defaultGrapeConfig.xml
@@ -19,7 +19,6 @@
-->
<ivysettings>
- <caches useOrigin="true"/>
<settings defaultResolver="downloadGrapes"/>
<resolvers>
<chain name="downloadGrapes" returnFirst="true">
diff --git a/src/test/groovy/grape/GrapeIvyTest.groovy b/src/test/groovy/grape/GrapeIvyTest.groovy
index 635e5b4..6238857 100644
--- a/src/test/groovy/grape/GrapeIvyTest.groovy
+++ b/src/test/groovy/grape/GrapeIvyTest.groovy
@@ -461,4 +461,65 @@ final class GrapeIvyTest {
Grape.resolve([classLoader:loader], [], [groupId:'org.apache.poi', artifactId:'poi', version:'3.7'])
}
+
+ @Test // GROOVY-9312
+ void testResolveSucceedsFromLocalMavenRepository() {
+ def tempDir = File.createTempDir()
+
+ new File(tempDir, 'pom.xml').write '''\
+ <?xml version="1.0" encoding="UTF-8"?>
+ <project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.codehaus.groovy.tests</groupId>
+ <artifactId>maven-bootstrap</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>net.jqwik</groupId>
+ <artifactId>jqwik</artifactId>
+ <version>1.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>net.jqwik</groupId>
+ <artifactId>jqwik-engine</artifactId>
+ <version>1.2.1</version>
+ </dependency>
+ </dependencies>
+ </project>
+ '''.stripIndent()
+
+ try {
+ // prime "${user.home}/.m2/repository" with jqwik
+ assertScript """
+ @Grab('org.apache.maven.shared:maven-invoker:3.0.1')
+ import org.apache.maven.shared.invoker.*
+
+ def request = new DefaultInvocationRequest(goals: ['compile'],
+ baseDirectory: new File('${tempDir.absolutePath.replace('\\', '\\\\')}'))
+ def result = new DefaultInvoker().execute(request)
+ assert result.exitCode == 0
+ """
+
+ assertScript '''
+ @Grab('net.jqwik:jqwik:1.2.1')
+ import net.jqwik.api.ForAll
+ import net.jqwik.api.Property
+
+ @groovy.transform.CompileStatic
+ class Jsr308 {
+ @Property
+ boolean 'size zero or positive'(@ForAll List<Integer> items) {
+ items.size() >= 0
+ }
+ }
+
+ println 'success'
+ '''
+ } finally {
+ tempDir.deleteDir()
+ }
+ }
}