Parser detects wrong include files now
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / core / builder / PHPBuilder.java
index d6ce598..81fd788 100644 (file)
@@ -17,10 +17,11 @@ import java.util.Date;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Map;
+
 import net.sourceforge.phpdt.core.IClasspathEntry;
 import net.sourceforge.phpdt.core.IJavaModelMarker;
-import net.sourceforge.phpdt.core.JavaModelException;
 import net.sourceforge.phpdt.core.JavaCore;
+import net.sourceforge.phpdt.core.JavaModelException;
 import net.sourceforge.phpdt.core.compiler.CharOperation;
 import net.sourceforge.phpdt.internal.core.JavaModel;
 import net.sourceforge.phpdt.internal.core.JavaModelManager;
@@ -30,8 +31,7 @@ import net.sourceforge.phpdt.internal.core.util.Util;
 import net.sourceforge.phpdt.internal.ui.util.PHPFileUtil;
 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
 import net.sourceforge.phpeclipse.builder.IdentifierIndexManager;
-import net.sourceforge.phpeclipse.phpeditor.PHPParserAction;
-import net.sourceforge.phpeclipse.resourcesview.PHPProject;
+
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IProject;
@@ -45,11 +45,12 @@ import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.OperationCanceledException;
+
 public class PHPBuilder extends IncrementalProjectBuilder {
   IProject currentProject;
   JavaProject javaProject;
   IWorkspaceRoot workspaceRoot;
-  NameEnvironment nameEnvironment;
+  NameEnvironment nameEnvironment; 
   SimpleLookupTable binaryLocationsPerProject; // maps a project to its binary
   // resources (output folders,
   // class folders, zip/jar files)
@@ -58,7 +59,7 @@ public class PHPBuilder extends IncrementalProjectBuilder {
   char[][] extraResourceFileFilters;
   String[] extraResourceFolderFilters;
   public static final String CLASS_EXTENSION = "class"; //$NON-NLS-1$
-  public static boolean DEBUG = true;
+  public static boolean DEBUG = false;
   /**
    * A list of project names that have been built. This list is used to reset
    * the JavaModel.existingExternalFiles cache when a build cycle begins so
@@ -86,6 +87,22 @@ public class PHPBuilder extends IncrementalProjectBuilder {
   public static void finishedBuilding(IResourceChangeEvent event) {
     BuildNotifier.resetProblemCounters();
   }
+  /**
+   * Hook allowing to initialize some static state before a complete build iteration.
+   * This hook is invoked during PRE_AUTO_BUILD notification
+   */
+  public static void buildStarting() {
+       // do nothing
+       // TODO (philippe) is it still needed?
+  }
+
+  /**
+   * Hook allowing to reset some static state after a complete build iteration.
+   * This hook is invoked during POST_AUTO_BUILD notification
+   */
+  public static void buildFinished() {
+       BuildNotifier.resetProblemCounters();
+  }
   public static void removeProblemsFor(IResource resource) {
     try {
       if (resource != null && resource.exists())
@@ -217,6 +234,8 @@ public class PHPBuilder extends IncrementalProjectBuilder {
       marker.setAttribute(IMarker.MESSAGE, Util.bind("build.missingSourceFile",
           e.missingSourceFile)); //$NON-NLS-1$
       marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
+    } catch (Exception e) {
+      e.printStackTrace();
     } finally {
       if (!ok)
         // If the build failed, clear the previously built state, forcing a
@@ -609,7 +628,7 @@ public class PHPBuilder extends IncrementalProjectBuilder {
     //      IMarker marker =
     // currentProject.createMarker(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER);
     //      marker.setAttribute(IMarker.MESSAGE,
-    // Util.bind("build.abortDueToClasspathProblems")); //$NON-NLS-1$
+    // ProjectPrefUtil.bind("build.abortDueToClasspathProblems")); //$NON-NLS-1$
     //      marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);
     //      return false;
     //    }
@@ -686,10 +705,10 @@ public class PHPBuilder extends IncrementalProjectBuilder {
     JavaModelManager.getJavaModelManager().setLastBuiltState(currentProject,
         state);
   }
-  /**
-   * String representation for debugging purposes
-   */
-  public String toString() {
+  /** 
+   * String representation for debugging purposes 
+   */ 
+  public String toString() { 
     return currentProject == null ? "JavaBuilder for unknown project" //$NON-NLS-1$
         : "JavaBuilder for " + currentProject.getName(); //$NON-NLS-1$
   }