Gradle "Bénéficier" de la dépendance plugin Java

Je cherche à compiler plusieurs fichiers WAR, tout ce qui dépend d'un commun POT module. Dans mon build Gradle cependant, je n'arrive pas à obtenir un "Fourni" comme la dépendance à travailler avec le plugin Java.

Ma compilation ressemble à ceci:

apply plugin: 'java'
configurations{
    providedCompile
}

dependencies {
    compile module("org.springframework.amqp:spring-amqp:${springAmqpVersion}")
    compile module("org.slf4j:slf4j-api:${slf4jVersion}")
    compile module("org.slf4j:slf4j-ext:${slf4jVersion}")

    providedCompile "javax.servlet:servlet-api:${servletApiVersion}"

    runtime module("org.slf4j:jcl-over-slf4j:${slf4jVersion}")
    runtime module("org.slf4j:jul-to-slf4j:${slf4jVersion}")
    runtime module("org.slf4j:log4j-over-slf4j:${slf4jVersion}")

    sourceArchives module("org.springframework.amqp:spring-amqp:${springAmqpVersion}:sources")
    sourceArchives module("javax.servlet:servlet-api:${servletApiVersion}:sources")
}


sourceSets {
    main { compileClasspath += configurations.providedCompile }
}

Cependant, que le dernier bit est là que cela devient une exception. J'ai essayé d'ajouter le servlet-api (Fourni par Tomcat) pour la configuration après l'exécution dépendances à le prolonger, ou tout simplement le mettre dans un de compiler le module, puis en le retirant de dépendances d'exécution plus tard.

J'ai tenté plusieurs méthodes pour modifier les dépendances, avec mes plus proches des résultats:

newRuntime = configurations.runtime.minus(configurations.providedCompile)
configurations.runtime = newRuntime

De ce dernier point toutefois, va générer la variable newRuntime avec les dépendances, cependant quand j'ai essayé de réaffecter la variable de retour à la configuration d'exécution, il jette à un "Impossible de trouver des biens d'exception"

J'ai trouvé beaucoup de discussion de ce problème exact sur Gradle de suivi des bogues de:Gradle-784

Mais le plomb est à partir du Printemps qui utilise Maven avec leur gradle construit, je suis pas familier avec.

Les plus prometteurs lien que j'ai trouvé ici, mais malheureusement je ne pouvais pas obtenir les exemples fonctionnent ainsi: DONC Fournis Question
A noter pour le Dépassement de Pile question de la ligne qui a montré le plus la promesse:

//Include provided for compilation
sourceSets.main.compileClasspath += configurations.provided

Cette ligne ne donnent pas une erreur comme les autres tentatives, il apparaît toutefois que l'providedCompile (Ma version de l') la dépendance n'est pas réellement mis sur la compilation classpath, comme il y a un chemin de classe d'erreur lors de la compilation est tentée.

À noter, forums.gradle.org/gradle/topics/... semble recommande juste de réglage de la compilation de prolonger la condition de configuration. Cela semble fonctionner, mais, logiquement, ne fait pas de sens en tant que moteur d'exécution s'étend également compiler?
Double Possible de Comment puis-je définir au moment de la compilation *seulement* classpath dans Gradle?

OriginalL'auteur Chris Lefevre | 2012-09-06