From 32c960c6aebffa8e3ff3223427e630d7433b01d6 Mon Sep 17 00:00:00 2001 From: Xavier Ducrohet Date: Wed, 9 Feb 2011 18:20:54 -0800 Subject: [PATCH] Fix aidl build. The aidl output location was not computed anywhere. Also added logging code. Change-Id: I6d0f0d07477be0c3c605c910e6529cb76a8b4ac0 --- .../android/ide/eclipse/adt/internal/build/AidlProcessor.java | 9 +++++++-- .../android/ide/eclipse/adt/internal/build/SourceFileData.java | 6 +++++- .../eclipse/adt/internal/build/builders/PreCompilerBuilder.java | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/AidlProcessor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/AidlProcessor.java index 3d43dfda4..9d6a8197f 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/AidlProcessor.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/AidlProcessor.java @@ -136,11 +136,16 @@ public class AidlProcessor extends SourceProcessor { // look if we already know the output SourceFileData data = getFileData(sourceFile); if (data == null) { - IFile javaFile = getAidlOutputFile(sourceFile, true /*createFolders*/, monitor); - data = new SourceFileData(sourceFile, javaFile); + data = new SourceFileData(sourceFile); addData(data); } + // if there's no output file yet, compute it. + if (data.getOutput() == null) { + IFile javaFile = getAidlOutputFile(sourceFile, true /*createFolders*/, monitor); + data.setOutputFile(javaFile); + } + // finish to set the command line. command[index] = quote(osSourcePath); command[index + 1] = quote(data.getOutput().getLocation().toOSString()); diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/SourceFileData.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/SourceFileData.java index 1b6d3fb8b..d06bf1613 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/SourceFileData.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/SourceFileData.java @@ -113,7 +113,11 @@ public class SourceFileData { * one file. */ public IFile getOutput() { - return mOutputFiles.get(0); + if (mOutputFiles.size() > 0) { + return mOutputFiles.get(0); + } + + return null; } public List getOutputFiles() { diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/PreCompilerBuilder.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/PreCompilerBuilder.java index 55978dcb6..fd3a07d0a 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/PreCompilerBuilder.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/build/builders/PreCompilerBuilder.java @@ -475,6 +475,7 @@ public class PreCompilerBuilder extends BaseBuilder { processorStatus |= processor.compileFiles(this, project, projectTarget, sourceFolderPathList, monitor); } catch (Throwable t) { + AdtPlugin.log(t, "Failed to run one of the source processor"); } } -- 2.11.0