On 05/01/2011, at 1:10 AM, Mathias Kalb wrote:

> Hi,
> 
> we have some logging JARs (log4j, slf4j, ...) at "tomcat\lib". Every 
> subproject (JAR/WAR) can use this JARs for "compile" and "runtime".
> 
> I want to define the dependencies at one place and every subproject should 
> use them as a compile dependency.
> 
> I tried the following at the "main" build.gradle. But how can I use it at the 
> subprojects?
> 
>    configurations {
>        tomcatLib
>    }
> 
>    dependencies {
>        tomcatLib group: 'log4j', name: 'log4j', version: '1.2.+'
>        tomcatLib group: 'javax.mail', name: 'mail', version: '1.+'
>        tomcatLib group: 'org.slf4j', name: 'slf4j-api', version: '1.+'
>        tomcatLib group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.+'
>        tomcatLib group: 'commons-logging', name: 'commons-logging', version: 
> '1.+'
>    }

You can do something like:

subprojects {
    configurations { tomcatLib }
    dependencies {
        tomcatLib ...
    }

    plugins.withType(JavaPlugin).allObjects {
        configurations { compile.extendsFrom tomcatLib }
    }
    plugins.withType(WarPlugin).allObjects {
        configurations { providedCompile.extendsFrom tomcatLib }
    }
}


--
Adam Murdoch
Gradle Developer
http://www.gradle.org
CTO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz

Reply via email to