diff options
author | Troy Bishop | 2013-06-21 04:47:50 +0000 |
---|---|---|
committer | Jayaprakash Arthanareeswaran | 2013-11-11 14:17:49 +0000 |
commit | 40bd4fb780cd76f29e884eddc861fb9be2844fff (patch) | |
tree | 86ee692fc32dd23a695f81938e8308c5b36e96d3 | |
parent | 6ac83dcf3cc4ba0c035518552dee24699d2c3d53 (diff) | |
download | eclipse.jdt.core-40bd4fb780cd76f29e884eddc861fb9be2844fff.tar.gz eclipse.jdt.core-40bd4fb780cd76f29e884eddc861fb9be2844fff.tar.xz eclipse.jdt.core-40bd4fb780cd76f29e884eddc861fb9be2844fff.zip |
Fix for Bug 405051 - JavaModel.refreshExternalArchives needs to happenM20131120-0800M20131113-0800
before search is primed
Signed-off-by: Troy Bishop <tjbishop@ca.ibm.com>
-rw-r--r-- | org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java index ab5d524fc8..7445fb4413 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java @@ -4051,6 +4051,21 @@ public final class JavaCore extends Plugin { // Creation of external folder project failed. Log it and continue; Util.log(jme, "Error while processing external folders"); //$NON-NLS-1$ } + + // ensure external jars are refreshed (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=93668) + // before search is initialized (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=405051) + final JavaModel model = manager.getJavaModel(); + try { + if (monitor != null) + monitor.subTask(Messages.javamodel_refreshing_external_jars); + model.refreshExternalArchives( + null/*refresh all projects*/, + monitor == null ? null : new SubProgressMonitor(monitor, 1) // 1% of the time is spent in jar refresh + ); + } catch (JavaModelException e) { + // refreshing failed: ignore + } + // initialize delta state if (monitor != null) monitor.subTask(Messages.javamodel_initializing_delta_state); @@ -4105,7 +4120,6 @@ public final class JavaCore extends Plugin { } catch (CoreException e) { // could not read version number: consider it is new } - final JavaModel model = manager.getJavaModel(); String newVersionNumber = Byte.toString(State.VERSION); if (!newVersionNumber.equals(versionNumber)) { // build state version number has changed: touch every projects to force a rebuild @@ -4139,19 +4153,6 @@ public final class JavaCore extends Plugin { Util.log(e, "Could not persist build state version number"); //$NON-NLS-1$ } } - - // ensure external jars are refreshed (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=93668) - try { - if (monitor != null) - monitor.subTask(Messages.javamodel_refreshing_external_jars); - model.refreshExternalArchives( - null/*refresh all projects*/, - monitor == null ? null : new SubProgressMonitor(monitor, 1) // 1% of the time is spent in jar refresh - ); - } catch (JavaModelException e) { - // refreshing failed: ignore - } - } finally { if (monitor != null) monitor.done(); } |