Ho uno script gradle build con una manciata di set di origini che hanno tutte varie dipendenze definite (alcune comuni, altre no), e sto provando a usare il plugin Eclipse per lasciare che Gradle generi i file .project
e .classpath
per Eclipse, ma non riesco a capire come ottenere tutte le voci delle dipendenze in .classpath
; per qualche motivo, alcune delle dipendenze esterne vengono effettivamente aggiunte a .classpath
e, di conseguenza, la build di Eclipse fallisce con 1400 errori (la costruzione con gradle funziona correttamente).Gradle con Eclipse - incompleto .classpath quando più sourcesets
ho definito i miei set di origine in questo modo:
sourceSets {
setOne
setTwo {
compileClasspath += setOne.runtimeClasspath
}
test {
compileClasspath += setOne.runtimeClasspath
compileClasspath += setTwo.runtimeClasspath
}
}
dependencies {
setOne 'external:dependency:1.0'
setTwo 'other:dependency:2.0'
}
Dal momento che non sto usando il main
fonte-set, ho pensato che questo potrebbe avere qualcosa a che fare con esso, così ho aggiunto
sourceSets.each { ss ->
sourceSets.main {
compileClasspath += ss.runtimeClasspath
}
}
ma questo non ha aiutato.
Non sono stato in grado di capire le proprietà comuni delle librerie incluse o di quelle che non lo sono, ma non riesco a trovare nulla di cui sono sicuro (anche se ovviamente è necessario essere qualcosa). Ho la sensazione che tutte le librerie incluse dipendano dal set di origine test
, direttamente o indirettamente, ma non sono stato in grado di verificarlo più che notare che tutte le dipendenze di test
ci sono.
Come faccio a garantire che le dipendenze di tutte le origini siano inserite in .classpath
?
Bonus: Questo è l'unico metodo che funziona con Gradle 2.0+ - grazie per la condivisione! – Svante