You are right. Thanks for having an eye on that. For values that get expanded this is bad (e.g. $projectDir.absolutPath). I have undone this commit. But I still like the idea. We might be able to use in in other scenarios.

- Hans

On Apr 18, 2009, at 12:33 AM, Adam Murdoch wrote:

Hi,

I don't think this is a good idea. This will lead to builds which work in some places, and not in other places. For example, if someone checks out a build I have written, into a directory with spaces in its name, the build will not work unless I've been careful to use a List instead of an Object. ie, I will have to use flatDir(dirs: [file('../repo')] instead of flatDir(dirs: file('../ repo')).


[email protected] wrote:

Revision1378Authorhans_dDate2009-04-17 16:48:41 -0500 (Fri, 17 Apr 2009)Log Message Single arguments for the repository DSL are now split to a list on white spaces.
Modified Paths
• gradle-core/trunk/src/main/groovy/org/gradle/api/internal/ artifacts/dsl/DefaultRepositoryHandler.groovy • gradle-core/trunk/src/test/groovy/org/gradle/api/internal/ artifacts/dsl/DefaultRepositoryHandlerTest.groovy
Diff
Modified: gradle-core/trunk/src/main/groovy/org/gradle/api/internal/ artifacts/dsl/DefaultRepositoryHandler.groovy (1377 => 1378) --- gradle-core/trunk/src/main/groovy/org/gradle/api/internal/ artifacts/dsl/DefaultRepositoryHandler.groovy 2009-04-17 21:27:41 UTC (rev 1377) +++ gradle-core/trunk/src/main/groovy/org/gradle/api/internal/ artifacts/dsl/DefaultRepositoryHandler.groovy 2009-04-17 21:48:41 UTC (rev 1378)
@@ -69,7 +69,7 @@
         if (dirs instanceof Iterable) {
             iterable = (Iterable<Object>) dirs;
         } else {
-            iterable = WrapUtil.toSet(dirs);
+            iterable = dirs.toString().split() as List;
         }
         List list = new ArrayList();
         for (Object o : iterable) {
Modified: gradle-core/trunk/src/test/groovy/org/gradle/api/internal/ artifacts/dsl/DefaultRepositoryHandlerTest.groovy (1377 => 1378) --- gradle-core/trunk/src/test/groovy/org/gradle/api/internal/ artifacts/dsl/DefaultRepositoryHandlerTest.groovy 2009-04-17 21:27:41 UTC (rev 1377) +++ gradle-core/trunk/src/test/groovy/org/gradle/api/internal/ artifacts/dsl/DefaultRepositoryHandlerTest.groovy 2009-04-17 21:48:41 UTC (rev 1378)
@@ -17,7 +17,6 @@
 package org.gradle.api.internal.artifacts.dsl

 import org.junit.Test
-import org.gradle.api.internal.artifacts.DefaultResolverContainer
 import org.gradle.api.internal.plugins.DefaultConvention
 import static org.junit.Assert.*
 import org.gradle.api.InvalidUserDataException
@@ -62,6 +61,14 @@
assertEquals([expectedResolver], repositoryHandler.resolverList)
     }

+ @Test public void testFlatDirWithNameAndWithDirsAsWhiteSpaceSeparatedString() {
+        String resolverName = 'libs'
+ prepareFlatDirResolverCreation(resolverName, ['a' as File, 'b' as File, 'c' as File] as File[])
+        prepareResolverFactoryToTakeAndReturnExpectedResolver()
+ assert repositoryHandler.flatDir([name: resolverName] + [dirs: 'a b c']).is(expectedResolver) + assertEquals([expectedResolver], repositoryHandler.resolverList)
+    }
+
     @Test (expected = InvalidUserDataException)
     public void testFlatDirWithMissingDirs() {
         repositoryHandler.flatDir([name: 'someName'])
@@ -76,24 +83,36 @@
     }

     @Test
-    public void testMavenCentral() {
+    public void testMavenCentralWithSingleUrl() {
         String testUrl2 = 'http://www.gradle2.org'
prepareCreateMavenRepo (repositoryHandler.DEFAULT_MAVEN_CENTRAL_REPO_NAME, repositoryHandler.MAVEN_CENTRAL_URL, testUrl2)
         prepareResolverFactoryToTakeAndReturnExpectedResolver()
- assert repositoryHandler.mavenCentral(urls: [testUrl2]).is(expectedResolver) + assert repositoryHandler.mavenCentral(urls: testUrl2).is(expectedResolver) assertEquals([expectedResolver], repositoryHandler.resolverList)
     }

     @Test
-    public void testMavenCentralWithName() {
+    public void testMavenCentralWithNameAndUrls() {
+        String testUrl1 = 'http://www.gradle1.org'
         String testUrl2 = 'http://www.gradle2.org'
         String name = 'customName'
- prepareCreateMavenRepo(name, repositoryHandler.MAVEN_CENTRAL_URL, testUrl2) + prepareCreateMavenRepo(name, repositoryHandler.MAVEN_CENTRAL_URL, testUrl1, testUrl2)
         prepareResolverFactoryToTakeAndReturnExpectedResolver()
- assert repositoryHandler.mavenCentral(name: name, urls: [testUrl2]).is(expectedResolver) + assert repositoryHandler.mavenCentral(name: name, urls: [testUrl1, testUrl2]).is(expectedResolver) assertEquals([expectedResolver], repositoryHandler.resolverList)
     }

+    @Test
+ public void testMavenCentralWithNameAndUrlsAsWhiteSpaceSeparatedString() {
+        String testUrl1 = 'http://www.gradle1.org'
+        String testUrl2 = 'http://www.gradle2.org'
+        String name = 'customName'
+ prepareCreateMavenRepo(name, repositoryHandler.MAVEN_CENTRAL_URL, testUrl1, testUrl2)
+        prepareResolverFactoryToTakeAndReturnExpectedResolver()
+ assert repositoryHandler.mavenCentral(name: name, urls: "$testUrl1 $testUrl2").is(expectedResolver) + assertEquals([expectedResolver], repositoryHandler.resolverList)
+    }
+
     @Test(expected = InvalidUserDataException)
     public void testMavenRepoWithMissingUrls() {
         repositoryHandler.mavenRepo([name: 'someName'])
@@ -111,6 +130,17 @@
     }

     @Test
+ public void testMavenRepoWithNameAndUrlsAsWhiteSpaceSeparatedString() {
+        String testUrl2 = 'http://www.gradle2.org'
+        String repoRoot = 'http://www.reporoot.org'
+        String repoName = 'mavenRepoName'
+        prepareCreateMavenRepo(repoName, repoRoot, testUrl2)
+        prepareResolverFactoryToTakeAndReturnExpectedResolver()
+ assert repositoryHandler.mavenRepo([name: repoName, urls: "$repoRoot $testUrl2"]).is(expectedResolver) + assertEquals([expectedResolver], repositoryHandler.resolverList)
+    }
+
+    @Test
     public void testMavenRepoWithNameAndRootUrlOnly() {
         String repoRoot = 'http://www.reporoot.org'
         String repoName = 'mavenRepoName'


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email


--
Hans Dockter
Gradle Project lead
http://www.gradle.org





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to