mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
correctly determine target roots (honoring excludes, test/production properties, etc)
This commit is contained in:
@@ -50,13 +50,13 @@ import org.jetbrains.jps.incremental.messages.ProgressMessage;
|
||||
import org.jetbrains.jps.javac.*;
|
||||
import org.jetbrains.jps.model.JpsDummyElement;
|
||||
import org.jetbrains.jps.model.JpsProject;
|
||||
import org.jetbrains.jps.model.JpsSimpleElement;
|
||||
import org.jetbrains.jps.model.java.*;
|
||||
import org.jetbrains.jps.model.java.JpsJavaExtensionService;
|
||||
import org.jetbrains.jps.model.java.JpsJavaSdkType;
|
||||
import org.jetbrains.jps.model.java.LanguageLevel;
|
||||
import org.jetbrains.jps.model.java.compiler.*;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdk;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleType;
|
||||
import org.jetbrains.jps.model.module.JpsTypedModuleSourceRoot;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
import org.jetbrains.jps.util.JpsPathUtil;
|
||||
|
||||
@@ -249,16 +249,16 @@ public class JavaBuilder extends ModuleLevelBuilder {
|
||||
final Set<File> srcPath = new HashSet<File>();
|
||||
Set<File> tempRoots = null;
|
||||
|
||||
collectSourceRoots(chunk, srcPath, chunk.containsTests()? JavaSourceRootType.TEST_SOURCE : JavaSourceRootType.SOURCE);
|
||||
final BuildRootIndex index = pd.getBuildRootIndex();
|
||||
|
||||
for (ModuleBuildTarget target : chunk.getTargets()) {
|
||||
for (JavaSourceRootDescriptor rd : index.getTempTargetRoots(target, context)) {
|
||||
if (tempRoots == null) {
|
||||
tempRoots = new THashSet<File>(FileUtil.FILE_HASHING_STRATEGY);
|
||||
}
|
||||
for (JavaSourceRootDescriptor rd : index.getTargetRoots(target, context)) {
|
||||
srcPath.add(rd.root);
|
||||
tempRoots.add(rd.root);
|
||||
if (rd.isTemp) {
|
||||
if (tempRoots == null) {
|
||||
tempRoots = new THashSet<File>(FileUtil.FILE_HASHING_STRATEGY);
|
||||
}
|
||||
tempRoots.add(rd.root);
|
||||
}
|
||||
}
|
||||
}
|
||||
final DiagnosticSink diagnosticSink = new DiagnosticSink(context, tempRoots == null? Collections.<File>emptySet() : tempRoots);
|
||||
@@ -317,14 +317,6 @@ public class JavaBuilder extends ModuleLevelBuilder {
|
||||
return exitCode;
|
||||
}
|
||||
|
||||
private static void collectSourceRoots(ModuleChunk chunk, Set<File> srcPath, final JavaSourceRootType rootType) {
|
||||
for (JpsModule module : chunk.getModules()) {
|
||||
for (JpsTypedModuleSourceRoot<JpsSimpleElement<JavaSourceRootProperties>> root : module.getSourceRoots(rootType)) {
|
||||
srcPath.add(JpsPathUtil.urlToFile(root.getUrl()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean compileJava(
|
||||
final CompileContext context,
|
||||
ModuleChunk chunk,
|
||||
|
||||
Reference in New Issue
Block a user