diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt
index 74ffc966cd..8ad612435a 100644
--- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt
+++ b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt
@@ -52,7 +52,7 @@ import org.utbot.engine.util.mockListeners.ForceStaticMockListener
import org.utbot.framework.plugin.api.testFlow
import org.utbot.framework.plugin.services.WorkingDirService
import org.utbot.intellij.plugin.settings.Settings
-import org.utbot.intellij.plugin.ui.utils.isGradle
+import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle
import org.utbot.intellij.plugin.ui.utils.suitableTestSourceRoots
import org.utbot.intellij.plugin.util.PluginWorkingDirProvider
import org.utbot.intellij.plugin.util.isAbstract
@@ -86,7 +86,7 @@ object UtTestsDialogProcessor {
// we want to start the child process in the same directory as the test runner
WorkingDirService.workingDirProvider = PluginWorkingDirProvider(project)
- if (project.isGradle() && testModules.flatMap { it.suitableTestSourceRoots() }.isEmpty()) {
+ if (project.isBuildWithGradle && testModules.flatMap { it.suitableTestSourceRoots() }.isEmpty()) {
val errorMessage = """
No test source roots found in the project.
Please, create or configure at least one test source root.
diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt
index 27784e949f..bfc595acd9 100644
--- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt
+++ b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt
@@ -130,7 +130,7 @@ import org.utbot.intellij.plugin.ui.utils.addSourceRootIfAbsent
import org.utbot.intellij.plugin.ui.utils.allLibraries
import org.utbot.intellij.plugin.ui.utils.findFrameworkLibrary
import org.utbot.intellij.plugin.ui.utils.getOrCreateTestResourcesPath
-import org.utbot.intellij.plugin.ui.utils.isGradle
+import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle
import org.utbot.intellij.plugin.ui.utils.kotlinTargetPlatform
import org.utbot.intellij.plugin.ui.utils.parseVersion
import org.utbot.intellij.plugin.ui.utils.testResourceRootTypes
@@ -436,7 +436,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
val testRoot = getTestRoot()
?: return ValidationInfo("Test source root is not configured", testSourceFolderField.childComponent)
- if (!model.project.isGradle() && findReadOnlyContentEntry(testRoot) == null) {
+ if (!model.project.isBuildWithGradle && findReadOnlyContentEntry(testRoot) == null) {
return ValidationInfo("Test source root is located out of content entry", testSourceFolderField.childComponent)
}
diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt
index cc1937546a..fffec1a6cc 100644
--- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt
+++ b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.idea.util.projectStructure.allModules
import org.utbot.common.PathUtil
import org.utbot.intellij.plugin.models.GenerateTestsModel
import org.utbot.intellij.plugin.ui.utils.addDedicatedTestRoot
-import org.utbot.intellij.plugin.ui.utils.isGradle
+import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle
import org.utbot.intellij.plugin.ui.utils.suitableTestSourceRoots
class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) : ComboboxWithBrowseButton() {
@@ -25,7 +25,7 @@ class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) : C
private val SET_TEST_FOLDER = "set test folder"
init {
- if (model.project.isGradle()) {
+ if (model.project.isBuildWithGradle) {
setButtonEnabled(false)
button.toolTipText = "Please define custom test source root via Gradle"
}
@@ -51,10 +51,10 @@ class TestFolderComboWithBrowseButton(private val model: GenerateTestsModel) : C
}
}
- val testRoots = model.potentialTestModules
- .flatMap { it.suitableTestSourceRoots().toList() }
- .toMutableList()
+ val suggestedModules =
+ if (model.project.isBuildWithGradle) model.project.allModules() else model.potentialTestModules
+ val testRoots = suggestedModules.flatMap { it.suitableTestSourceRoots().toList() }.toMutableList()
// this method is blocked for Gradle, where multiple test modules can exist
model.testModule.addDedicatedTestRoot(testRoots)
diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt
index d8b8e8980e..efbb684ee2 100644
--- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt
+++ b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt
@@ -31,7 +31,6 @@ import org.jetbrains.android.sdk.AndroidSdkType
import org.jetbrains.jps.model.module.JpsModuleSourceRootType
import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider
import org.jetbrains.kotlin.config.TestResourceKotlinRootType
-import org.jetbrains.kotlin.idea.util.projectStructure.allModules
import org.jetbrains.kotlin.platform.TargetPlatformVersion
private val logger = KotlinLogging.logger {}
@@ -87,10 +86,6 @@ fun Module.getOrCreateSarifReportsPath(testSourceRoot: VirtualFile?): Path {
* Find test modules by current source module.
*/
fun Module.testModules(project: Project): List {
- if (project.isGradle()) {
- return project.allModules()
- }
-
var testModules = findPotentialModulesForTests(project, this)
val testRootUrls = testModules.flatMap { it.suitableTestSourceRoots() }
@@ -152,12 +147,13 @@ private fun Module.suitableTestSourceFolders(codegenLanguage: CodegenLanguage):
// Heuristics: User is more likely to choose the shorter path
.sortedBy { it.url.length }
}
-fun Project.isGradle() = GradleProjectInfo.getInstance(this).isBuildWithGradle
+val Project.isBuildWithGradle
+ get() = GradleProjectInfo.getInstance(this).isBuildWithGradle
private const val dedicatedTestSourceRootName = "utbot_tests"
fun Module.addDedicatedTestRoot(testSourceRoots: MutableList): VirtualFile? {
// Don't suggest new test source roots for Gradle project where 'unexpected' test roots won't work
- if (project.isGradle()) return null
+ if (project.isBuildWithGradle) return null
// Dedicated test root already exists
if (testSourceRoots.any { file -> file.name == dedicatedTestSourceRootName }) return null