2
我有一个依赖关系图与此类似SBT:导线项目依赖图
WAR-project
- A1
-- A2
-- A3
- B1
-- B2
---- B22
-- B3
一个多模块的网络项目,是战争项目依赖于A1而这又取决于A2和A3等。
现在在打包战争项目之前,我想将其相关项目中的一些网络资源复制到webapp中。所以我的问题是如何以编程方式遍历SBT项目的依赖关系图?即在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)
}
}
}
注意我知道,如果我添加的资源文件夹到每个依赖的类路径,然后我可以从Web项目的fullClasspath检索。但我想避免这种解决方案,并且还有其他一些以编程方式遍历并与依赖关系进行交互的场景。