Nous avons une vieille version de Playframework 1.2.x où nous copions tous les bocaux à projet / lib afin queframework peut les consommer. Nous aimerions copier tous les bocaux source ainsi que lorsque Runnig Play Eclipsify, nous pouvons voir toute la source tierce partie. Y a-t-il un moyen de le faire avec la gradle? p>
Et je veux dire tous les bocaux source téléchargés lorsque j'ai Ran Overle Eclipse alors que je les ai vus télécharger les emplacements de cache. Nous avons la grade Eclipse Calling Calling Play Eclipsify pour nous sur le seul projet, afin que nous puissions simplement utiliser la gradle. P>
merci, Dean p>
3 Réponses :
Ce n'est pas si attendu comme prévu. L'extrait suivant copie les pots source de toutes les dépendances (Runtime + Compiler) d'un projet Java dans un dossier spécifique: La raison pour laquelle nous utilisons une lénientconfiguration ici est que nous ne voulons pas échouer si un artefact source ne peut pas être résolu. Il pourrait y avoir une manière plus élégante, mais je n'ai pas l'air plus profondément dans cela. P> J'espère que cela aide, P> Renà © P> P>
On dirait qu'il y a une erreur dans le script, résolvedconfiguration code> est orthographié deux fois dans le
de (..) code> instruction. De plus, ce code télécharge des sources pour les dépendances directes uniquement, pas pour les transitoires, voir ma réponse.
@eskatos j'ai supprimé le dupliqué résolvedconfiguration code>.
Rene Reshant téléchargera des sources de bocaux de dépendances directes, non pas sources bocaux de toutes les dépendances des transitoires.
Voici une tâche qui fera le truc: p> un peut alors faire la même chose pour les pots Javadocs en modifiant le classificateur code> sur
javadoc code>. p> p>
Voici la solution eskatos traduite dans KOTLIN DSL:
tasks { "copySourceJars"(Copy::class) { val sources = configurations.runtime.resolvedConfiguration.resolvedArtifacts.map { with(it.moduleVersion.id) { dependencies.create(group, name, version, classifier = "sources") } } from( configurations.detachedConfiguration(*sources.toTypedArray()) .resolvedConfiguration.lenientConfiguration.getFiles(Specs.SATISFIES_ALL) ) into(File("some-directory")) } }
Pour une raison quelconque, cela copié également un sous-ensemble de bocaux, y compris des cours. J'ai simplement ajouté ajouté .filter {it.name.endswith ("- sources.jar")} code> pour le réparer.