再次将大型Maven代码库迁移到Bazel
我有一些测试试图从user.dir读取一些文件(比如来自src/main/webapp
的文件,主要是为了便于在IntelliJ中运行测试)。
我试图了解如何在Bazel构建期间更改它们以读取文件
想想以下结构:
鉴于我有几个SomeModule
并且他们共享一个测试实用程序,它将src/main/webapp/WEB-INF/web.xml
公开为File
(不能更改为FileInputStream
)I'我试图了解如何最好地将这些文件暴露给测试和测试实用程序
如果我在someCode
中定义src/main/webapp
的依赖关系:
user.dir/SomeModule/src/main/webapp
中且测试实用程序不知道其中的SomeModule
中的哪一个jar
scheme)user.dir
上,但AFAIU没有src/main/webapp
我目前考虑的解决方案是将其公开为data
并使用$(location)
扩展将runfiles
中的位置传递给系统属性中的测试。我对这种方法的主要问题是我认为测试在IntelliJ中不起作用(除非Bazel插件同时支持$(location)
扩展和自动将jvm_flags传递给测试)。 / p>
我的问题是:
data
和$(location)
扩展,那么如何处理IntelliJ?答案 0 :(得分:1)
我和Intellij插件的维护者交谈,他认为把它放在data
并通过$(location)
找到它应该"只是工作。" (如果没有,他要求你提交错误。)
理论上,该插件应该处理任何有效的Bazel项目。