String[] requiredBundles = pluginInfo.getRequires(); if (requiredBundles == null && !pluginInfo.getUniqueId().equals(PI_RUNTIME)) requiredBundles = new String[]{PI_RUNTIME};  writeEntry(Constants.REQUIRE_BUNDLE, requiredBundles);
ArrayList requiredBundles = pluginInfo.getRequires(); String[] bundleRequire = new String[requiredBundles.size()]; int i = 0; for (Iterator iter = requiredBundles.iterator(); iter.hasNext();) { PluginParser.Prerequisite element = (PluginParser.Prerequisite) iter.next(); String modImport = element.getName(); if (element.getVersion() != null) { modImport += "; " + Constants.BUNDLE_VERSION_ATTRIBUTE + "=" + element.getVersion(); } if (element.isExported()) { modImport += "; " + Constants.PROVIDE_PACKAGES_ATTRIBUTE + "=true"; } if (element.isOptional()) { modImport += ";" + Constants.OPTIONAL_ATTRIBUTE + "=true"; } if (element.getMatch() != null) { modImport += ";" + Constants.VERSION_MATCH_ATTRIBUTE + "="; if (element.getMatch().equalsIgnoreCase(PLUGIN_REQUIRES_MATCH_PERFECT)) { modImport += Constants.VERSION_MATCH_QUALIFIER; } else if (element.getMatch().equalsIgnoreCase(PLUGIN_REQUIRES_MATCH_EQUIVALENT)) { modImport += Constants.VERSION_MATCH_MINOR; } else if (element.getMatch().equalsIgnoreCase(PLUGIN_REQUIRES_MATCH_COMPATIBLE)) { modImport += Constants.VERSION_MATCH_MAJOR; } else if (element.getMatch().equalsIgnoreCase(PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL)) { modImport += Constants.VERSION_MATCH_GREATERTHANOREQUAL; } } bundleRequire[i++] = modImport; } writeEntry(Constants.REQUIRE_BUNDLE, bundleRequire);
	private void generateRequireBundle() throws IOException {		String[] requiredBundles = pluginInfo.getRequires();		if (requiredBundles == null && !pluginInfo.getUniqueId().equals(PI_RUNTIME)) // to avoid cycles			requiredBundles = new String[]{PI_RUNTIME};		writeEntry(Constants.REQUIRE_BUNDLE, requiredBundles);	}