diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java index a566451157e9..5dda3e015b26 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/java/JavaBuilder.java @@ -43,6 +43,7 @@ import org.jetbrains.jps.incremental.*; import org.jetbrains.jps.incremental.Utils; import org.jetbrains.jps.incremental.messages.BuildMessage; import org.jetbrains.jps.incremental.messages.CompilerMessage; +import org.jetbrains.jps.incremental.messages.FileGeneratedEvent; import org.jetbrains.jps.incremental.messages.ProgressMessage; import org.jetbrains.jps.incremental.storage.BuildDataManager; import org.jetbrains.jps.incremental.storage.OneToManyPathsMapping; @@ -366,7 +367,19 @@ public class JavaBuilder extends ModuleLevelBuilder { if (!target.isTests()) { final File outputDir = target.getOutputDir(); if (outputDir != null) { - CopyResourcesUtil.copyFormsRuntime(outputDir.getAbsolutePath(), false); + final String outputRoot = FileUtil.toSystemIndependentName(outputDir.getPath()); + final List generatedFiles = CopyResourcesUtil.copyFormsRuntime(outputRoot, false); + if (!generatedFiles.isEmpty()) { + // now inform others about files just copied + final FileGeneratedEvent event = new FileGeneratedEvent(); + for (File file : generatedFiles) { + final String relativePath = FileUtil.getRelativePath(outputRoot, FileUtil.toSystemIndependentName(file.getPath()), '/'); + if (relativePath != null) { + event.add(outputRoot, relativePath); + } + } + context.processMessage(event); + } } } } diff --git a/plugins/ui-designer/testSrc/com/intellij/uiDesigner/make/UiDesignerExternalBuildTest.java b/plugins/ui-designer/testSrc/com/intellij/uiDesigner/make/UiDesignerExternalBuildTest.java index da4b4233d5ff..091ed0b39649 100644 --- a/plugins/ui-designer/testSrc/com/intellij/uiDesigner/make/UiDesignerExternalBuildTest.java +++ b/plugins/ui-designer/testSrc/com/intellij/uiDesigner/make/UiDesignerExternalBuildTest.java @@ -22,6 +22,7 @@ import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.packaging.artifacts.Artifact; +import com.intellij.uiDesigner.core.AbstractLayout; import java.io.File; import java.io.IOException; @@ -51,8 +52,8 @@ public class UiDesignerExternalBuildTest extends ArtifactCompilerTestCase { File outputDir = VfsUtilCore.virtualToIoFile(getOutputDir(a)); assertTrue(new File(outputDir, "A.class").exists()); assertTrue(new File(outputDir, "B.class").exists()); - //todo[jeka] fix - //assertTrue(new File(outputDir, AbstractLayout.class.getName().replace('.', '/') + ".class").exists()); + + assertTrue(new File(outputDir, AbstractLayout.class.getName().replace('.', '/') + ".class").exists()); } }