I am on a fast-track to learning groovy and gradle, since we are attempting to implement this at work. When I run the examples in gradle user guide I hit the wall with “Example 15.6. Accessing tasks by path”- --------8<----------------8<----------------8<----------------8<----------------8<---------------- A problem occurred evaluating root project ‘groovy’. > Project with path ‘:projectA’ could not be found in root project ‘groovy’. --------8<----------------8<----------------8<----------------8<----------------8<----------------
Gradle build time: den 12 september 2012 kl 10:46 UTC Groovy: 1.8.6 Ant: Apache Ant™ version 1.8.4 compiled on May 22 2012 Ivy: 2.2.0 JVM: 1.6.0_37 (Sun Microsystems Inc. 20.12-b01) OS: Linux 2.6.32-279.5.2.el6.x86_64 amd64
… switching to gradle 1.3 does not change anything for me.
include 'core'
include 'google'
include 'bing'
// this sets the customized build file name for each subproject
rootProject.name = 'gradle'
rootProject.children.each {project ->
String fileBaseName = project.name.replaceAll("\p{Upper}") { "-${it.toLowerCase()}" }
String projectDirName = "subprojects/$fileBaseName"
project.projectDir = new File(settingsDir, projectDirName)
project.buildFileName = "${fileBaseName}.gradle"
assert project.projectDir.isDirectory()
assert project.buildFile.isFile()
}
I stole this method from the Gradle project (in GitHub) and I have to say it works nicely. Much better than what is documented in the documentation (IMHO).
I just followed instructions for installing gradle, then followed the text in the tutorial. However I wrote the differnt variants of build.gradle directly into an empty folder (my playground subtree)
I had a suggestion from someone that I should add a settings.gradle with
--------8<--------8<--------8<--------8<-------- include ‘projectA’ --------8<--------8<--------8<--------8<--------
… and this actually worked(?!!) Since I read this to learn gradle I’m not yet able to justify that as a ‘correct’ solution. I can’t find clues in the text either. To me this would have been alright in any other case, except
the authoritative tutorial! I would say the explanations is not complete from a learning perspective.
But perhaps I just missed the all inclusive description somewhere??