From 3492d5c386a076914fb390affbd550b2959635bb Mon Sep 17 00:00:00 2001 From: Leonid Shalupov Date: Wed, 9 Oct 2024 10:06:16 +0400 Subject: [PATCH] uiDesigner: source generator: process files only from source roots previously, files from resources were also considered which compiled files from some testData GitOrigin-RevId: 962db86603f59c120078fec2f1c71ee39b196608 --- .../uiDesigner/make/Form2SourceCompiler.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/make/Form2SourceCompiler.java b/plugins/ui-designer/src/com/intellij/uiDesigner/make/Form2SourceCompiler.java index 54315e79e80a..eb293051e7f0 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/make/Form2SourceCompiler.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/make/Form2SourceCompiler.java @@ -11,6 +11,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleUtilCore; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.ProjectFileIndex; import com.intellij.openapi.util.NlsSafe; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiClass; @@ -24,14 +25,12 @@ import com.intellij.uiDesigner.compiler.AlienFormFileException; import com.intellij.uiDesigner.compiler.FormErrorInfo; import org.jetbrains.annotations.NotNull; import org.jetbrains.jps.incremental.java.CopyResourcesUtil; +import org.jetbrains.jps.model.java.JavaSourceRootType; import java.io.DataInput; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; +import java.util.*; public final class Form2SourceCompiler implements SourceInstrumentingCompiler{ @@ -79,6 +78,8 @@ public final class Form2SourceCompiler implements SourceInstrumentingCompiler{ final CompilerManager compilerManager = CompilerManager.getInstance(project); final BindingsCache bindingsCache = new BindingsCache(project); + ProjectFileIndex fileIndex = ProjectFileIndex.getInstance(context.getProject()); + try { final HashMap class2form = new HashMap<>(); @@ -87,6 +88,10 @@ public final class Form2SourceCompiler implements SourceInstrumentingCompiler{ continue; } + if (!fileIndex.isUnderSourceRootOfType(formFile, Set.of(JavaSourceRootType.SOURCE, JavaSourceRootType.TEST_SOURCE))) { + continue; + } + final String classToBind; try { classToBind = bindingsCache.getBoundClassName(formFile);