遗留项目结构:IntelliJ 将 Gradle 子项目识别为模块,但不识别其源代码



很抱歉标题太长。

我正试图将我们的功能测试代码与集成测试代码隔离开来,并使用渐变任务使其发挥作用。它95%也在intellij中工作,只是每次我做"渐变想法"时,我都必须添加功能测试代码。

目前无法将其分离到自己的存储库中或更改目录结构。

目录结构看起来像

* MainProject/build.gradle
* MainProject/WEB-INF/src(java source code)
* MainProject/(lots of html files)
* MainProject/WEB-INF/functionalTest(groovy source code)
* MainProject/functional-gradle/build.gradle

我希望intellij自动检测functionalTest测试源代码是否属于functional gradle,即使它看起来应该是MainProject的一部分(但不包括在任何MainProject build.gradle sourceSet中)。

其他注意事项:我希望它是一个渐变子项目,而不是主构建的一部分。渐变作为一个不同的源集,因为我们目前的构建过程不是很标准,最好从一个干净的渐变开始,并隔离功能任务所需的渐变任务(有很多)。这将使最终将其提取到自己的存储库中变得更容易。

下图显示了我想要自动填充的intellij字段:子项目模块的测试源文件夹。

intellij子项目

渐变缝合的重要组成部分

sourceSets {
test{
groovy{
srcDir '../WEB-INF/catTest'}
}
}

让Intellij IDEA(13+)识别Gradle模块的相互依赖性

我看了Radim的答案,似乎有关于如何设置ide的IML文件的渐变文档。https://docs.gradle.org/current/dsl/org.gradle.plugins.ide.idea.model.IdeaModule.html

我会考虑一下,一旦我的用例有了工作,我就会回来报告

编辑:我放弃了,把build.gradle从根目录上的外部文件夹移到了功能测试目录中。Intellij立刻发现了这个。

最新更新