diff options
-rw-r--r-- | org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/BuildPathManager.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/BuildPathManager.java b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/BuildPathManager.java index d01e5fba..48a51237 100644 --- a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/BuildPathManager.java +++ b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/BuildPathManager.java @@ -815,12 +815,29 @@ public class BuildPathManager implements IMavenProjectChangedListener, IResource } public void scheduleDownload(IPackageFragmentRoot fragment, boolean downloadSources, boolean downloadJavadoc) { + if(fragment == null) { + return; + } ArtifactKey artifact = fragment.getAdapter(ArtifactKey.class); - if(artifact == null) { // we don't know anything about this JAR/ZIP return; } + scheduleDownload(fragment, artifact, downloadSources, downloadJavadoc); + } + + /** + * Download sources for an {@link IPackageFragmentRoot} that has already been identified as the given + * <code>artifact</code>. <br/> + * TODO promote to API in {@link IClasspathManager} once this as been battle-tested. + * + * @since 1.16.0 + */ + public void scheduleDownload(IPackageFragmentRoot fragment, ArtifactKey artifact, boolean downloadSources, + boolean downloadJavadoc) { + if(fragment == null || artifact == null) { + return; + } IProject project = fragment.getJavaProject().getProject(); |