blob: 2f636ece587b05d45cfcbf0acdf54f752e737776 [file] [log] [blame]
String manifestMFPathString = genModel.getModelProjectDirectory() + "/" + ICoreConstants.BUNDLE_FILENAME_DESCRIPTOR;
IPath manifestMFPath = new Path(manifestMFPathString);
IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IProject project = workspace.getRoot().getProject(manifestMFPath.segment(0));
IFile manifestMFFile = project.getFile(ICoreConstants.BUNDLE_FILENAME_DESCRIPTOR);
if (!manifestMFFile.exists())
return;
PDEModelUtility.modifyModel(new ModelModification(manifestMFFile) {
@Override
protected void modifyModel(IBaseModel model, IProgressMonitor innerMonitor) throws CoreException {
if (model instanceof IBundlePluginModelBase) {
IBundlePluginModelBase bundlePluginModelBase = (IBundlePluginModelBase) model;
for (IPluginImport pluginImport : bundlePluginModelBase.getPluginBase().getImports()) {
if (pluginId.equals(pluginImport.getId())) {
return;
}
}
PluginImportNode pluginImportNode = new PluginImportNode(pluginId);
pluginImportNode.setReexported(true);
bundlePluginModelBase.getPluginBase().add(pluginImportNode);
}
}
}, new NullProgressMonitor());