diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/PluginExportWizardPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/PluginExportWizardPage.java index 3927a6bba9..6c9a84008f 100644 --- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/PluginExportWizardPage.java +++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/exports/PluginExportWizardPage.java @@ -27,6 +27,7 @@ import org.eclipse.pde.internal.core.ICoreConstants; import org.eclipse.pde.internal.core.PDECore; import org.eclipse.pde.internal.core.WorkspaceModelManager; +import org.eclipse.pde.internal.core.bnd.BndProjectManager; import org.eclipse.pde.internal.ui.IHelpContextIds; import org.eclipse.pde.internal.ui.PDEUIMessages; import org.eclipse.pde.internal.ui.util.PersistablePluginObject; @@ -54,7 +55,7 @@ public Object[] getListElements() { if (!WorkspaceModelManager.isBinaryProject(projects[i]) && WorkspaceModelManager.isPluginProject(projects[i])) { IModel model = PluginRegistry.findModel(projects[i]); if (model != null && isValidModel(model) && (hasBuildProperties((IPluginModelBase) model) - || hasPdeBndDescriptor((IPluginModelBase) model))) { + || hasPdeBndDescriptor(projects[i]))) { result.add(model); } } @@ -72,13 +73,12 @@ private boolean hasBuildProperties(IPluginModelBase model) { return file.exists(); } - private boolean hasPdeBndDescriptor(IPluginModelBase model) { - File bin = new File(model.getInstallLocation()); - if (bin.exists()) { - File file = new File(bin.getParent(), ICoreConstants.BND_FILENAME_DESCRIPTOR); - return file.exists(); + private boolean hasPdeBndDescriptor(IProject project) { + try { + return !BndProjectManager.getBndProject(project).isEmpty(); + } catch (Exception e) { + return false; } - return false; }