J'ai un projet web multimodule avec un graphe de dépendance similaire à ceSBT: Traverse projet graphique de dépendance
WAR-project
- A1
-- A2
-- A3
- B1
-- B2
---- B22
-- B3
qui est le projet de guerre dépend de A1 qui à son tour dépend de A2 et A3 et ainsi de suite.
Maintenant, avant l'empaquetage du projet de guerre, je veux copier quelques ressources Web de ses projets dépendants dans la webapp. Donc, ma question est comment est-ce que je traverse par programmation le graphe de dépendance d'un projet SBT? à-dire dans le code pseudu
resourcesToCopy = []
visitedProjects = []
traverseProjectDependencies(project) {
visitedProjects += project
if(project has resourceFolder) {
resourcesToCopy += resourceFolder.getPath
}
for(projectDependency in project) {
if(projectDependency is not visited) {
traverseProjectDependencies(projectDependency)
}
}
}
Remarque Je suis conscient que si j'ajouter le dossier des ressources au classpath de chacune des dépendances alors je pourrais le récupérer de la fullClasspath dans le projet web. Mais je voudrais éviter cette solution et il existe également d'autres scénarios où traverser et s'interconnecter par programmation avec des dépendances pourrait être utile.