Hi list, I was wondering about how to specify dependencies in Buildr modules.
If we look at e.g. the Checkstyle module (addon/buildr/checkstyle.rb), it lists a bunch of artifacts at the top which are needed for the module's operation: # The specs for requirements def dependencies [ 'com.puppycrawl.tools:checkstyle:jar:6.0', 'antlr:antlr:jar:2.7.7', 'org.antlr:antlr4-runtime:jar:4.3', 'com.google.guava:guava:jar:18.0', 'commons-cli:commons-cli:jar:1.2', 'commons-beanutils:commons-beanutils-core:jar:1.8.3', 'commons-logging:commons-logging:jar:1.1.1' ] end The same pattern is replicated in a other modules as well. It seems rather cumbersome to have to hunt down all the appropriate dependencies and their specific version numbers. Also, in the example above, it is not really possible to make the checkstyle version a build parameter because its dependencies might change across versions. Listing the dependency transitively would solve both my concerns, so I tried doing the following and it seems to work just fine: def dependencies Buildr::transitive 'com.puppycrawl.tools:checkstyle:jar:6.2' end Is there are a reason this is not done? One possible reason I can think of is that the transitive method is not actually documented, but seeing it recommended on this list recently, it sounds safe enough to start using... Thanks, Dieter