scala添加包含要生成的符号链接的Java源文件夹。sbt文件
我正在处理一个遗留代码repo,我想将我的Scala项目添加到其中。以下是目录树:
LegacyFolder
|
--JavaSourceDir1
|---SymLink to "LegacyFolder"
--JavaSourceDir2
|---SymLink to "LegacyFolder"
--MyProject
我想在我的项目中使用JavaSourceDir1和JavaSourceDir2中的Java文件(作为依赖项)。第一个想法是将它们添加为非托管源文件。大概是这样的:
unmanagedSourceDirectories in Compile += baseDirectory.value / "../JavaSourceDir1"
unmanagedSourceDirectories in Compile += baseDirectory.value / "../JavaSourceDir2"
问题在于JavaSourceDir1/2
中的所有符号链接,它们使SBT变得疯狂,它挂起在运行/编译命令上。这是有意义的,因为SBT处于查找文件的无限循环中
那么,我该如何解决这个问题呢?有没有办法只以非递归方式获取这些文件夹中的Java文件,并以某种方式将它们添加为依赖项
# 1 楼答案
您可以定义一个函数,直接在名为
legacyJavaSources
的给定目录下检索*.java
文件,并将结果馈送到unmanagedSources in Compile
: