Adam Murdoch wrote:


Steve Appling wrote:


Adam Murdoch wrote:


Steve Appling wrote:
I am still having some problems related (I think) to the unmanagedClasspath changes. I can't get our buildSrc to work now.
Previously we had to do the following in the buildSrc/build.gradle:
  compile.groovyClasspath = org.gradle.util.BootstrapUtil.groovyFiles
testCompile.groovyClasspath = org.gradle.util.BootstrapUtil.groovyFiles compile.unmanagedClasspath(org.gradle.util.BootstrapUtil.gradleClasspath as File[])

I have tried several combinations to get this working, but still can't get the gradle files on the classpath in buildsrc. I get errors like "unable to resolve class org.gradle.api.Project".

I am currently just trying to add the gradle files to the compile classpath using:
dependencies {
   compile files(org.gradle.util.BootstrapUtil.gradleClasspath)
}

This still doesn't work - I would appreciate any other ideas to try. Perhaps this will make more sense on Monday :)



This is from the default buildSrc build script, which should work for you:

dependencies {
   compile files(org.gradle.util.BootstrapUtil.gradleClasspath)
   groovy files(org.gradle.util.BootstrapUtil.groovyFiles)
}


It looks very similar to what you are trying, so I'm not confident. If you are still getting failures, can you try again with the -s flag, so we can see where the failure is?


Adam


I think I have figured this out. BootstrapUtil.gradleClasspath and groovyFiles return a list of File objects. Using these with Project.files ends up resulting in invalid classpaths because they are interpreted as relative paths to the buildSrc directory.


I wonder why this works in some places (eg on my machine, and the codehaus bamboo servers) and not others (eg your machine). Which OS and java version are you using?


Adam



I think I have been fixing symptoms and not the cause.
The difference was GRADLE_HOME. I'm not sure what changed between 0.6 and now to cause the problem, but all of the problems I am encountering are the result of using a GRADLE_HOME with a relative path. I don't have a compelling reason to have to use it this way, but we were calling the normal gradle.bat file from another batch file that set up JAVA_HOME, GRADLE_HOME, and JAVA_OPTS. It was using a relative path to the gradle directory. If you want to fix this, the following seems to address the cause (although I still don't know what changed to expose this since 0.6):

Index: BootstrapMain.java
===================================================================
--- BootstrapMain.java  (revision 1587)
+++ BootstrapMain.java  (working copy)
@@ -63,12 +63,14 @@
             if (bootStrapDebug) {
System.out.println("Gradle Home is declared by environment variable GRADLE_HOME to: " + gradleHome);
             }
-            System.setProperty("gradle.home", gradleHome);
         } else {
             if (bootStrapDebug) {
System.out.println("Gradle Home is declared by system property gradle.home to: " + gradleHome);
             }
         }
+        gradleHome = (new File(gradleHome)).getAbsoluteFile().getPath();
+        System.setProperty("gradle.home", gradleHome);
+
         return gradleHome;
     }




--
Steve Appling
Automated Logic Research Team

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

   http://xircles.codehaus.org/manage_email


Reply via email to