Bug 507571 - M3 Plugin JUnit tests give "Unable to index..."

Change the way file existence is checked. Rather than using
File.exists(), we rely on exceptions thrown during read and
the implicit existence check that occurs when testing fingerprints.
Remove the call to File.exists().

Change exception handling such that exceptions indicating missing
files are propagated reliably.

Update the invalid archive cache to record an extra state if a missing
file was the cause of the exception.

Change the way nonexistent files are stored in the database.
Previously, they were either left with a stale state from the
last successful indexing operation or they were marked as corrupt
files. Now they are stored in the same form as empty files (they
can be disambiguated from empty files by examining the fingerprint).

Omit logging any exceptions in response to missing files.

Change-Id: I244bd781cd3ef77b661041302bbef32253330476
Signed-off-by: Stefan Xenos <sxenos@gmail.com>
6 files changed
tree: 2dac6e0ce50fce097709bc4c3952003e737e2897
  1. org.eclipse.jdt.annotation/
  2. org.eclipse.jdt.annotation_v1/
  3. org.eclipse.jdt.apt.core/
  4. org.eclipse.jdt.apt.pluggable.core/
  5. org.eclipse.jdt.apt.pluggable.tests/
  6. org.eclipse.jdt.apt.tests/
  7. org.eclipse.jdt.apt.ui/
  8. org.eclipse.jdt.compiler.apt/
  9. org.eclipse.jdt.compiler.apt.tests/
  10. org.eclipse.jdt.compiler.tool/
  11. org.eclipse.jdt.compiler.tool.tests/
  12. org.eclipse.jdt.core/
  13. org.eclipse.jdt.core.internal.tools/
  14. org.eclipse.jdt.core.tests.builder/
  15. org.eclipse.jdt.core.tests.compiler/
  16. org.eclipse.jdt.core.tests.model/
  17. org.eclipse.jdt.core.tests.performance/
  18. tests-pom/
  19. .gitignore
  20. pom.xml
  21. README.md
README.md

JDT Core

This is the core part of Eclipse's Java development tools. It contains the non-UI support for compiling and working with Java code, including the following:

  • an incremental or batch Java compiler that can run standalone or as part of the Eclipse IDE
  • Java source and class file indexer and search infrastructure
  • a Java source code formatter
  • APIs for code assist, access to the AST and structured manipulation of Java source.

For more information, refer to the [JDT wiki page] 1 or the [JDT project overview page] 2.

License

Eclipse Public License (EPL) v1.0