View Javadoc
1   package com.atlassian.plugin.osgi.factory.transform.stage;
2   
3   import com.atlassian.plugin.osgi.factory.transform.PluginTransformationException;
4   import com.atlassian.plugin.osgi.factory.transform.TransformContext;
5   import com.atlassian.plugin.osgi.factory.transform.TransformStage;
6   import org.dom4j.Element;
7   
8   import java.util.List;
9   
10  /**
11   * Adds bundle instruction overrides from the plugin descriptor to be later used in the manifest generation process.
12   *
13   * @since 2.2.0
14   */
15  public class AddBundleOverridesStage implements TransformStage {
16      public void execute(TransformContext context) throws PluginTransformationException {
17          Element pluginInfo = context.getDescriptorDocument().getRootElement().element("plugin-info");
18          if (pluginInfo != null) {
19              Element instructionRoot = pluginInfo.element("bundle-instructions");
20              if (instructionRoot != null) {
21                  List<Element> instructionsElement = instructionRoot.elements();
22                  for (Element instructionElement : instructionsElement) {
23                      String name = instructionElement.getName();
24                      String value = instructionElement.getTextTrim();
25                      context.getBndInstructions().put(name, value);
26                  }
27              }
28          }
29      }
30  }