Hi all, Recently, I have started coding my first contribution to Gradle. I have to say that it turned out for me quite a struggle to get my workspace set up properly.
https://github.com/gradle/gradle/blob/master/README.md does definitely not provide all the essential details to get the Gradle build running smoothly and have IntelliJ happy with the source code. I have to admit that although being experienced as Java programmer, I had some challenges to overcome in discovering how to deal with Github and Git clients on Windows (worked with multiple SCM systems, mainly SVN, but never with Git) and how to setup IntelliJ (till now I have been doing all my Java development with Eclipse). Especially to get IntelliJ happy with the circular project references in the Gradle project was a big hassle. Finally, I found a hint to turn of the build external option in IntelliJ. Although, I now have IntelliJ more or less working properly with the sources, but to me it has still too much magic in it to comprehend why it does what it does. E.g. the build external property and the JetGradle plugin (I have it not activated, because on the first project refresh it seems to go into an endless loop, refreshing the UI panel over and over again). Next to that, it turned out that some unit/integ tests require to have a C++ toolchain available, which I have not. To overcome that, I have contributed a change that allows one to set a property to signal the build that no C++ tool chain is available to test with. Altogether, to me it makes sense to describe in more detail the steps you will need to make to get your Gradle workspace arranged and how to get the command line build running OK as well as the IntelliJ workspace. That would help those interested to contribute on board. One last remark: Googling for an advice results in so many outdated solutions, as Gradle development is going fast. Even the Gradle project pages at codehaus seems to contain much outdated info. Therefore it seems of much importance to have some authoritative description and/or pointers to such available on http://www.gradle.org/development. Thanks, -- Mark