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

Reply via email to