@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.config.ResourceKotlinRootType
11
11
import org.jetbrains.kotlin.config.SourceKotlinRootType
12
12
import org.jetbrains.kotlin.config.TestResourceKotlinRootType
13
13
import org.jetbrains.kotlin.config.TestSourceKotlinRootType
14
+ import org.utbot.intellij.plugin.util.IntelliJApiHelper
14
15
15
16
val sourceRootTypes: Set <JpsModuleSourceRootType <JavaSourceRootProperties >> = setOf (JavaSourceRootType .SOURCE , SourceKotlinRootType )
16
17
val testSourceRootTypes: Set <JpsModuleSourceRootType <JavaSourceRootProperties >> = setOf (JavaSourceRootType .TEST_SOURCE , TestSourceKotlinRootType )
@@ -37,10 +38,18 @@ fun CodegenLanguage.testResourcesRootType(): JpsModuleSourceRootType<JavaResourc
37
38
38
39
/* *
39
40
* Generalizes [JavaResourceRootProperties.isForGeneratedSources] for both Java and Kotlin.
41
+ *
42
+ * Unfortunately, Android Studio has another project model, so we cannot rely on the flag value.
43
+ * The only way is to find build/generated substring in the folder path.
40
44
*/
41
45
fun SourceFolder.isForGeneratedSources (): Boolean {
42
46
val properties = jpsElement.getProperties(sourceRootTypes + testSourceRootTypes)
43
47
val resourceProperties = jpsElement.getProperties(resourceRootTypes + testResourceRootTypes)
44
48
45
- return properties?.isForGeneratedSources == true && resourceProperties?.isForGeneratedSources == true
49
+ val markedGeneratedSources =
50
+ properties?.isForGeneratedSources == true && resourceProperties?.isForGeneratedSources == true
51
+ val androidStudioGeneratedSources =
52
+ IntelliJApiHelper .isAndroidStudio() && this .file?.path?.contains(" build/generated" ) == true
53
+
54
+ return markedGeneratedSources || androidStudioGeneratedSources
46
55
}
0 commit comments