Hi, Recently, my team encountered what we believed was a bug with gradle's java dependencies. The documentation states that transitive dependencies should be available in runtime scopes, but that only direct dependencies should be available in compile scope. This made sense to me, so when we encountered the opposite behaviour, I filed a JIRA issue (GRADLE-1205) with a simple functional test case.
Today I had some more free time, so I checked out the source code and took a look at the source code directly, with the intent of submitting a patch. The fix seems simple enough: mark the transitive property of the compile configuration to false in the configureConfigurations method (this should presumably be the case for the test configuration as well). However, looking at the unit tests for the Java plugin, Groovy plugin, and War plugin, it looks like the behaviour might be by design, as all of those test classes explicitly check that compile and test configurations include transitive dependencies. Is the current behaviour (transitive dependencies included) actually correct? Or, is the documented behaviour (transitive dependencies excluded) desired? Depending on what everyone thinks, I'll submit either a code fix or a documentation fix. Thanks, Sean
