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
This commit is contained in:
Leonid Shalupov
2024-10-09 10:06:16 +04:00
committed by intellij-monorepo-bot
parent 7e9f1978a2
commit 3492d5c386

View File

@@ -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<String, VirtualFile> 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);