diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ICoreConstants.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ICoreConstants.java index a99cdcb4c57..cec10931f30 100644 --- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ICoreConstants.java +++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/ICoreConstants.java @@ -60,6 +60,9 @@ public interface ICoreConstants { /** Constant for the string build.properties */ String BUILD_FILENAME_DESCRIPTOR = "build.properties"; //$NON-NLS-1$ + /** Constant for the string pde.bnd */ + String BND_FILENAME_DESCRIPTOR = "pde.bnd"; //$NON-NLS-1$ + /** * Default version number for plugin and feature */ 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 92c7d0627b8..3927a6bba90 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 @@ -53,7 +53,8 @@ public Object[] getListElements() { for (int i = 0; i < projects.length; i++) { if (!WorkspaceModelManager.isBinaryProject(projects[i]) && WorkspaceModelManager.isPluginProject(projects[i])) { IModel model = PluginRegistry.findModel(projects[i]); - if (model != null && isValidModel(model) && hasBuildProperties((IPluginModelBase) model)) { + if (model != null && isValidModel(model) && (hasBuildProperties((IPluginModelBase) model) + || hasPdeBndDescriptor((IPluginModelBase) model))) { result.add(model); } } @@ -71,6 +72,16 @@ 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(); + } + return false; + + } + @Override protected boolean isValidModel(IModel model) { return model != null && model instanceof IPluginModelBase;