diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java index e13aab0639d5..4a30867e3aa0 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java @@ -1523,9 +1523,13 @@ public class BuildManager implements Disposable { final CompilerConfiguration config = CompilerConfiguration.getInstance(project); for (Module module : compileContext.getCompileScope().getAffectedModules()) { if (config.getAnnotationProcessingConfiguration(module).isEnabled()) { - final String path = CompilerPaths.getAnnotationProcessorsGenerationPath(module); - if (path != null) { - candidates.add(path); + final String productionPath = CompilerPaths.getAnnotationProcessorsGenerationPath(module, false); + if (productionPath != null) { + candidates.add(productionPath); + } + final String testsPath = CompilerPaths.getAnnotationProcessorsGenerationPath(module, true); + if (testsPath != null) { + candidates.add(testsPath); } } } diff --git a/java/compiler/openapi/src/com/intellij/openapi/compiler/CompilerPaths.java b/java/compiler/openapi/src/com/intellij/openapi/compiler/CompilerPaths.java index 1fdd0078e907..3e3a8b086b50 100644 --- a/java/compiler/openapi/src/com/intellij/openapi/compiler/CompilerPaths.java +++ b/java/compiler/openapi/src/com/intellij/openapi/compiler/CompilerPaths.java @@ -176,10 +176,20 @@ public class CompilerPaths { return outPathUrl != null? VirtualFileManager.extractPath(outPathUrl) : null; } + /** + * @return path to annotation-processors generated _production_ sources + Use {@link #getAnnotationProcessorsGenerationPath(Module, boolean)} + */ + @Deprecated @Nullable public static String getAnnotationProcessorsGenerationPath(Module module) { + return getAnnotationProcessorsGenerationPath(module, false); + } + + @Nullable + public static String getAnnotationProcessorsGenerationPath(Module module, boolean forTests) { final AnnotationProcessingConfiguration config = CompilerConfiguration.getInstance(module.getProject()).getAnnotationProcessingConfiguration(module); - final String sourceDirName = config.getGeneratedSourcesDirectoryName(false); + final String sourceDirName = config.getGeneratedSourcesDirectoryName(forTests); if (config.isOutputRelativeToContentRoot()) { final String[] roots = ModuleRootManager.getInstance(module).getContentRootUrls(); if (roots.length == 0) { @@ -192,7 +202,7 @@ public class CompilerPaths { } - final String path = getModuleOutputPath(module, false); + final String path = getModuleOutputPath(module, forTests); if (path == null) { return null; }