У меня есть многомодульный веб-проект с графиком зависимостей, похожим на этот
WAR-project
- A1
-- A2
-- A3
- B1
-- B2
---- B22
-- B3
, то есть военный проект зависит от A1 , что, в свою очередь, зависит от A2 и A3 и т. Д.
Теперь перед упаковкой военного проекта я хочу скопировать некоторые веб-ресурсы из зависимых проектов в веб-приложение. Таким образом, мой вопрос заключается в том, как мне программно пересечь граф зависимостей проекта SBT? то есть в псевдокоде
resourcesToCopy = []
visitedProjects = []
traverseProjectDependencies(project) {
visitedProjects += project
if(project has resourceFolder) {
resourcesToCopy += resourceFolder.getPath
}
for(projectDependency in project) {
if(projectDependency is not visited) {
traverseProjectDependencies(projectDependency)
}
}
}
Примечание Мне известно, что если я добавлю папку ресурсов в путь к классу каждой из зависимостей, то я смог бы извлечь ее из fullClasspath в веб-проекте. Но я хотел бы избежать этого решения, а также есть другие сценарии, где программный обход и взаимодействие с зависимостями могут быть полезны.