From 0db813abaf014272edd95e39755d3bb87a2458a8 Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Mon, 2 Apr 2012 23:16:21 +0400 Subject: [PATCH] android: refresh generated source roots --- .../jetbrains/android/compiler/AndroidAptCompiler.java | 8 +++++++- .../jetbrains/android/compiler/AndroidIdlCompiler.java | 7 +++++++ .../android/compiler/AndroidIncludingCompiler.java | 7 ++++++- .../android/compiler/AndroidRenderscriptCompiler.java | 1 + 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidAptCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidAptCompiler.java index e69076432b2c..07ad00a10a6d 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidAptCompiler.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidAptCompiler.java @@ -85,6 +85,8 @@ public class AndroidAptCompiler implements SourceGeneratingCompiler { private static GenerationItem[] doGenerate(final CompileContext context, GenerationItem[] items, VirtualFile outputRootDirectory) { List results = new ArrayList(items.length); + boolean toRefresh = false; + for (GenerationItem item : items) { if (item instanceof AptGenerationItem) { final AptGenerationItem aptItem = (AptGenerationItem)item; @@ -101,7 +103,7 @@ public class AndroidAptCompiler implements SourceGeneratingCompiler { aptItem.myManifestFile.getPath(), aptItem.myPackage, outputDirOsPath, aptItem.myResourcesPaths, aptItem.myLibraryPackages, aptItem.myIsLibrary)); - + toRefresh = true; AndroidCompileUtil.addMessages(context, messages); if (messages.get(CompilerMessageCategory.ERROR).isEmpty()) { results.add(aptItem); @@ -118,6 +120,10 @@ public class AndroidAptCompiler implements SourceGeneratingCompiler { } } } + + if (toRefresh) { + outputRootDirectory.refresh(false, true); + } return results.toArray(new GenerationItem[results.size()]); } diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidIdlCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidIdlCompiler.java index 9248beaad218..9f64da9b849d 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidIdlCompiler.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidIdlCompiler.java @@ -183,6 +183,8 @@ public class AndroidIdlCompiler implements SourceGeneratingCompiler { return EMPTY_GENERATION_ITEM_ARRAY; } List results = new ArrayList(items.length); + boolean toRefresh = false; + for (GenerationItem item : items) { if (item instanceof IdlGenerationItem) { final IdlGenerationItem idlItem = (IdlGenerationItem)item; @@ -209,6 +211,7 @@ public class AndroidIdlCompiler implements SourceGeneratingCompiler { } }); if (messages.get(CompilerMessageCategory.ERROR).isEmpty()) { + toRefresh = true; results.add(idlItem); } } @@ -222,6 +225,10 @@ public class AndroidIdlCompiler implements SourceGeneratingCompiler { } } } + + if (toRefresh) { + outputRootDirectory.refresh(false, true); + } return results.toArray(new GenerationItem[results.size()]); } diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidIncludingCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidIncludingCompiler.java index 0ee7babbc9bc..a71b4e32f162 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidIncludingCompiler.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidIncludingCompiler.java @@ -163,12 +163,13 @@ public class AndroidIncludingCompiler implements SourceGeneratingCompiler { context.getProgressIndicator().setText(AndroidBundle.message("android.compile.messages.copying.sources.from.libraries")); } List result = new ArrayList(); + boolean toRefresh = false; for (GenerationItem item : items) { if (!AndroidCompileUtil.isModuleAffected(context, ((MyItem)item).myModule)) { continue; } - + toRefresh = true; String fromPath = ((MyItem)item).mySourceFile.getPath(); File from = new File(fromPath); File to = new File(outputRootDirectory.getPath() + '/' + item.getPath()); @@ -183,6 +184,10 @@ public class AndroidIncludingCompiler implements SourceGeneratingCompiler { context.addMessage(CompilerMessageCategory.ERROR, message, null, -1, -1); } } + + if (toRefresh) { + outputRootDirectory.refresh(false, true); + } return result.toArray(new GenerationItem[result.size()]); } diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidRenderscriptCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidRenderscriptCompiler.java index 696dbb807340..70b49c40c5de 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidRenderscriptCompiler.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidRenderscriptCompiler.java @@ -216,6 +216,7 @@ public class AndroidRenderscriptCompiler implements SourceGeneratingCompiler { } } } + outputRootDirectory.refresh(false, true); return results.toArray(new GenerationItem[results.size()]); }