From e1874a1d43c4aa02ff9599bebe91ccf565cc848a Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Mon, 16 Jan 2012 17:55:29 +0400 Subject: [PATCH] pass path instead of VFs to AndroidIdl --- .../android/compiler/AndroidIdlCompiler.java | 5 ++++- .../jetbrains/android/compiler/tools/AndroidIdl.java | 11 ++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidIdlCompiler.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidIdlCompiler.java index a712c969db40..594e6a40429c 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidIdlCompiler.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidIdlCompiler.java @@ -227,8 +227,11 @@ public class AndroidIdlCompiler implements SourceGeneratingCompiler { try { VirtualFile[] sourceRoots = AndroidPackagingCompiler.getSourceRootsForModuleAndDependencies(idlItem.myModule); + final String[] sourceRootPaths = AndroidCompileUtil.toOsPaths(sourceRoots); + final Map> messages = AndroidIdl - .execute(idlItem.myAndroidTarget, idlItem.myFile.getPath(), idlItem.myGeneratedFile.getPath(), sourceRoots); + .execute(idlItem.myAndroidTarget, idlItem.myFile.getPath(), idlItem.myGeneratedFile.getPath(), sourceRootPaths); + ApplicationManager.getApplication().runReadAction(new Runnable() { public void run() { if (context.getProject().isDisposed()) return; diff --git a/plugins/android/src/org/jetbrains/android/compiler/tools/AndroidIdl.java b/plugins/android/src/org/jetbrains/android/compiler/tools/AndroidIdl.java index d0019b3e1082..daa4083bef6a 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/tools/AndroidIdl.java +++ b/plugins/android/src/org/jetbrains/android/compiler/tools/AndroidIdl.java @@ -17,13 +17,14 @@ package org.jetbrains.android.compiler.tools; import com.android.sdklib.IAndroidTarget; import com.intellij.openapi.compiler.CompilerMessageCategory; -import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.ArrayUtil; import org.jetbrains.android.util.ExecutionUtil; import org.jetbrains.annotations.NotNull; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * IDL compiler. @@ -38,13 +39,13 @@ public final class AndroidIdl { public static Map> execute(@NotNull IAndroidTarget target, @NotNull String file, @NotNull String outFile, - @NotNull VirtualFile[] sourceRoots) throws IOException { + @NotNull String[] sourceRootPaths) throws IOException { List commands = new ArrayList(); String frameworkAidlPath = target.getPath(IAndroidTarget.ANDROID_AIDL); commands.add(target.getPath(IAndroidTarget.AIDL)); commands.add("-p" + frameworkAidlPath); - for (VirtualFile root : sourceRoots) { - commands.add("-I" + root.getPath()); + for (String path : sourceRootPaths) { + commands.add("-I" + path); } commands.add(file); commands.add(outFile);