Bug 564905 - [regression] Missing full build on .class file changes

If the output folder of a project is deleted in file system, while the
project is closed, the project is not built on re-open/refresh. The same
is true if Eclipse was closed when deleting the output folder (e.g. with
a git clean).

This is a regression caused by a fix for bug 563030. When
State.typeLocators is persisted, instead of writing key/value pairs,
value/value pairs are written. As a result, after persisting the project
build state, IncrementalImageBuilder.checkForClassFileChanges() no
longer detects .class file changes. It looks with keys in
State.typeLocators, while the map has value->value pairs.

Change-Id: I154764626d7a6ff264c0d3d4931d1689df60878e
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
4 files changed
tree: 3196ecdfb44bc87c94c5029449207001050d5791
  1. modules/
  2. org.eclipse.jdt.annotation/
  3. org.eclipse.jdt.annotation_v1/
  4. org.eclipse.jdt.apt.core/
  5. org.eclipse.jdt.apt.pluggable.core/
  6. org.eclipse.jdt.apt.pluggable.tests/
  7. org.eclipse.jdt.apt.tests/
  8. org.eclipse.jdt.apt.ui/
  9. org.eclipse.jdt.compiler.apt/
  10. org.eclipse.jdt.compiler.apt.tests/
  11. org.eclipse.jdt.compiler.tool/
  12. org.eclipse.jdt.compiler.tool.tests/
  13. org.eclipse.jdt.core/
  14. org.eclipse.jdt.core.ecj.validation/
  15. org.eclipse.jdt.core.formatterapp/
  16. org.eclipse.jdt.core.internal.tools/
  17. org.eclipse.jdt.core.tests.builder/
  18. org.eclipse.jdt.core.tests.compiler/
  19. org.eclipse.jdt.core.tests.model/
  20. org.eclipse.jdt.core.tests.performance/
  21. org.eclipse.jdt.tests.latestBREE/
  22. tests-pom/
  23. .gitignore
  24. CONTRIBUTING
  25. LICENSE
  26. NOTICE
  27. pom.xml
  28. 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 and important links, refer to the [JDT wiki page] 1 or the [JDT project overview page] 2.

License

Eclipse Public License (EPL) v2.0